200kHz Digital Oscilloscope
Introduction
Hello everyone! You must know that an 200kHz Digital Oscilloscope is a must-have for every electronics student or hobbyist. To save costs, I suggest using a mobile device such as a mobile phone as an oscilloscope. Since the signal cannot be transmitted directly to the mobile phone, we use the Raspberry Pi Pico to transfer the signal. We use the USB interface to transmit data, which can form a better waveform. Please follow my steps to complete this project!
Note: This project is for educational purposes only. It is just a project to give you a deeper understanding of the capabilities of the Raspberry Pi Pico. It can only measure small signals, so I do not recommend using it for commercial purposes.
characteristic
-
200 kHz bandwidth
-
Dual channel support
-
500KS/s sampling rate
-
Scan rate: 5 μs ~ 20 s
-
Accuracy: ±10%
-
Onboard 1kHz wave
-
Low power consumption
-
USB interface
Link Table
Document Library
Tutorial
Component List
- – Smartphone (used as oscilloscope screen) × 1
- – Raspberry Pi Pico × 1
- – 1kΩ, 100kΩ resistor × 1
- – Breadboard, jumper wires and USB cable × 1
- – PCB board and soldering equipment (optional) × 1
- – OTG cable × 1
Materials List
-
Smartphone (as the oscilloscope screen)
-
Raspberry Pi
-
1kΩ, 100kΩ resistors
-
Breadboard, jumper wires and USB cable
-
PCB board and soldering equipment (optional)
-
OTG cable
Introduction to Raspberry Pi
The Raspberry Pi Pico uses the RP2040 ARM Cortex-M0 dual-core processor with a frequency that can be flexibly adjusted to 133 MHz. It has 264 KB of static random access memory (SRAM) and provides a total of 26 GPIO pins, of which 3 are analog pins. In addition, the microcontroller is also equipped with 2 UARTs, 2 SPIs, 2 I2Cs and 16 PWM channels, and has built-in clock and temperature sensors. Its supply voltage range is 1.8 V to 5.5 V.
Pinout
As shown in the figure
Flashing firmware
First, connect the Raspberry Pico to the computer, then press and hold the boot button to turn it on. At this time, a disk named “RPI-RP2” will appear in the resource manager. You just need to download the firmware ( format) at https://github.com/fhdm-dev/scpdl1/raw/master/a/v15/scoppy-pico-v15.uf2uf2
and copy it to the disk of the Raspberry Pico. When you see the onboard indicator light start to flash, it means it is done.
Circuit Diagram
As shown in the figure, GPIO26 is channel 1, and GPIO27 is channel 2. Provide 0 ~ +3 V signal to any channel, and connect the GND of the signal to the GND interface of the Raspberry Pi, and then connect the mobile phone through the USB interface to complete all connections.
For high voltages, we can add a 100 kΩ resistor to the channel pin. If you need to measure negative voltages and signals (e.g. -3.3 V to +3.3 V), you can use a 1.3 V resistor to form a resistor divider network between 3.3 V and ground, which will work perfectly.
Oscilloscope screen
For ease of use, we provide a dedicated App to display the waveform and signal received by the Raspberry Pi Pico. We named it Scoppy
and everyone can use it for free. Through this App, you can access the first channel, but the second channel requires payment.
https://play.google.com/store/apps/details?id=xyz.fhdm.scoppy
This app has an easy-to-use user interface, which I believe will be very convenient for analyzing waveforms. We can adjust the position of the wave in the XY direction, and we can also increase or decrease the time or voltage of each area. This app can be run on Android phones, and the minimum system requirement is Android 5.0.
Other Features
This app provides a 50Hz sinusoidal demo signal with a 50% duty cycle for channel checking or calibration.
In addition, the lower left corner displays the real-time values of the signal, including voltage, frequency, time, and duty cycle.
In addition, this App also has signal generator and logic analyzer functions, which are provided to you for free. Please note that the signal generator only supports sine and square waves within the 1.25MHz frequency range.
Connect your phone
Since the Raspberry Pi has a Micro USB port, and the mobile phone does not have a standard USB port, we need to use an OTG cable to connect the Raspberry Pi and the mobile phone. After connecting, select “USB” as the signal input source.
Oscilloscope test
Here I test some signals, as shown in the figure, it can display waveforms up to 100MHz. With this app, we can measure the frequency and duty cycle of signals up to 250KHz.
Although our DIY oscilloscope cannot handle higher frequency signals, I think it is still good considering the cost.
For more details, see the project’s GitHub page:
https://github.com/fhdm-dev/scoppy/
Expansion Board
Resource files can be downloaded from this project’s file library:
https://make.quwj.com/project/465