Overview of the System
After coming in the BNC connector on the front of the device, the signal goes through an attenuator and various other analog circuitry to bring it into the correct range to be sampled by the ADC. The attenuator has two selectable ranges, one for +/-10V and one for +/-2V. The switch on the front of the device also optionally feeds the signal through an AC coupling circuit. After the signal is digitized it is read by the RP2040 using the PIO and DMA peripherals and stored in memory. Once a capture is started, NewtScope captures 16384 points before sending them to the host PC over USB.
Triggering
The system has two triggering modes, force trigger and normal trigger. Force trigger just starts the capture when the trigger is initiated, whereas normal trigger waits for a trigger edge event before starting the capture. With normal trigger mode, the trigger event is recorded at the center of the capture.
Voltpeek Software
Voltpeek is the software written to control and display the data that is sampled using NewtScope. Unlike other PC based oscilloscope software, Voltpeek is a command based UI. This is done because click and drag based UIs can be extremely annoying when they are controlling complicated processes. Voltpeek has a similar user interface to Vim. Different commands control the system, and the software can be put in adjustment mode. Adjustment mode is used to adjust the scales, cursors, and trigger level using the h, j, k, and l keys.
Example Waveforms
Here are some example waveforms captured using the NewtScope system: