Raspberry Pi Pico 200Khz Digital Oscilloscope

A Waveform analyzer, Signal generator and logic tester in a small PI PICO. With a dedicated application, Runs on Android.


Things needed for this projects:

1) Smart phone as display unit

2) Raspberry pi Pico

3) 1k, 100k resistors

4) Breadboard, jumper and usb wires

5) PCB and other soldering equipments* optional

6) OTG Jack

Step 1: Story:

Hello everyone, Oscilloscope is mandatory for every electronics student or hobbyist. Keeping the budget in mind, I suggest you use Mobile as an oscilloscope. But we can’t interface the signals directly to mobile phones. So here we are using Raspberry pi Pico as the brain of this project. The signal from Pico goes to Mobile through USB to get a decent waveform. Let’s make this project step by step.

Note** This project is only for educational purposes, and this Oscilloscope can measure small signals only. Not for commercial purposes, just a project to know the capabilities of this board.

Step 2: Features of Oscilloscope:

  • 200Khz bandwidth
  • 2-channel supported
  • 500KS/s sampling rate
  • Time/div: 5micro Second to 20 Sec
  • Needs a very few components
  • Accuracy: +-10%
  • Onboard 1khz wave for testing
  • Low power consumption
  • USB Interface

Step 3: Raspberry Pi Pico:

This Microcontroller has an RP2040 ARM Cotex-M0 dual-core processor and a flexible clock up to 133MHz. 264KB of SRAM, 26 GPIO pins- 3 Analog from them. 2 UART, 2-SPI, 2-I2C and 16 PWM channels. Also, have on chip clock and temperature sensor. Supply ranges from 1.8- 5.5 volts.

Step 4: Pinout:

Step 5: Setting Up Pi-Pico:

First, download the below-given code, Then Plug your Raspberry Pico into your PC holding bootsel button to on position. Raspberry Pi will appear as a mass storage device in the local disk manager. Copy this code in raspberry pi storage, and it’s done.

Step 6: Code and Firmware:

Download this code from here.

Press the bootsel button on your Pico and connect it to your computer. Copy the uf2 file onto your Pico. The onboard LED should start blinking.

Step 7: Circuit Diagram

Here, GPIO26 is channel one, and GPIO27 is channel 2. Giving a signal of 0 to +3.3 volts to any channel and GND of signal to GND of Pi, connecting USB to the smartphone through USB completes all the connections.

For High voltages, we can add a 100k resistor to channel pins. To measure negative voltages and signals (say -3.3 to +3.3 volts), we can make a resistor divider network using a 1k resistor between 3.3v and ground that can do the job perfectly

Step 8: The Screen of Oscilloscope:

Here, a dedicated application is provided to show the waveforms and signals received from the Pico board. Named SCOPPY, this is free to use, and through this, we can access one channel. For the second channel, we have to pay a small amount to the creator of this App.

DOWNLOAD the Scoppy application from here.https://play.google.com/store/apps/details?id=xyz.fhdm.scoppy

It comes with an excellent interface to analyze the waveform. We can adjust the position of the wave in the X-Y direction. Increase/ Decrease the time per division and volts per division. This application can run on an android smartphone (Minimum requirements are Lollypop 6 or a 1.2GHz equivalent).

Step 9: Other Features

A sine 50Hz Demo signal with a duty cycle of 50% is provided to check the channel or do calibrations in the application. Touchscreen also makes the moves more easier.

Also, the real-time readings of the signal are displayed in the corner, which consists of Voltage, Frequency, time and duty cycle.

Applications also have the signal generator and logic analyzer features, which comes with the free version of the App. The signal generator supports only sine and square waves with a frequency range of 1.25Mhz.

Step 10: Connections With Mobile Phone:

Raspberry pi board has a micro USB port, To analyze the waveform of signal, we are using mobile phone. Connections can be setup easily between Pico and mobile through charging jack.

Mobile charging jack also has Micro usb, so either we have to buy the supported cable or through OTG jack may do the job. After this, make sure to select Input signal to USB.

Step 11: Oscilloscope:

Here I tried few it with few demo signals and some test signals with USB. It is cable to show waveform up to 100MHz. And we can measure frequency and duty cycle of signal up to 250KHz.

It is useless to address higher frequency signal, but in this cost I think this is best one.

Here is the GITHUB page of maker, you may find more details from here.https://github.com/fhdm-dev/scoppy/

Step 12: Shield for Pico Board:

Step 13: JLCPCB:

JLCPCB is the one of the most popular PCB makers. Price is just $2 for 2, 4 and 6 layer PCB. They just launched new purple solder mask, aluminum Pcb and 3d printing service in very low cost. Pcb quality is not compromised at any cost. Check them out right now from Here.https://jlcpcb.com/IAT

JLCPCB Is also providing new user coupons and sign-up rewards of up to $30. So, check them out from here. Register using this link to get Free PCB assembly service coupons. Get your 2layer to 6-layer PCB’s just in $2, stencil and PCB assembly service in just $7.

Step 14: More Projects:

About The Author

Muhammad Bilal

I am highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.

Scroll to Top