Close
0%
0%

Oscilloscope From Pi Pico and Android Phone

An affordable oscilloscope for anyone who enjoys soldering their own projects.

Similar projects worth following
This simple DIY oscilloscope works with "Scoppy", an Android app for Phones or Tablets together with a Raspberry Pi Pico and a few electronic components. The app is available on the Google Play Store. There is a free version with advertisements and only one channel, as well as an ad-free premium version with two channels for about 3 euros. The Android device connects to a Raspberry Pi Pico either via a USB-OTG cable or via Wi-Fi when using the Wi-Fi-enabled variant, the Raspberry Pi Pico W. "Scoppy" utilizes two of the three analog inputs of the RP2040 microcontroller embedded in the Pi Pico. These operate at a sampling rate of 500 kilosamples per second with a 12-bit resolution. However, the developers have managed to push the sampling rates up to 2 megasamples per second. This allows Scoppy to display sinusoidal signals up to approximately 600 kilohertz quite well. Square and sawtooth signals still look good up to about 100 kilohertz.

The ADCs of the RP2040 work with input voltages between 0 and 3.3 volts. Negative voltages and voltages above 3.3 volts cannot be measured and can even damage the chip. Therefore, an analog frontend is required—a circuit that amplifies or attenuates the measured voltages to the permissible range of 0 to 3.3 volts. Although the creators of Scoppy offer one on their website, it has not been available for some time. I was also unable to find a freely available circuit diagram, so I developed my own frontend. This offers three input voltage ranges, selectable via the app: -330 to 330 millivolts, -3.3 to 3.3 volts, and -33 to 33 volts. Probes can be connected via two BNC sockets. For calibration and testing, there is a simple signal generator capable of generating square wave signals up to 1.25 megahertz, as well as a pulse-width modulated 1-kHz sine signal. Also included is an 8-channel logic analyzer that operates at up to 25 million samples per second. When selecting the components, I made sure to use through-hole technology (THT) components as much as possible. For the few SMD components, there are adapter boards available online that allow them to be soldered onto. This makes it easy to assemble the frontend on a breadboard or a perfboard.

bom.csv

Bill of Material

Comma-Separated Values - 2.33 kB - 03/05/2025 at 17:51

Download

picoscope.pdf

Schematic

Adobe Portable Document Format - 50.58 kB - 03/05/2025 at 17:50

Preview

picoscope.zip

KiCad Files

Zip Archive - 270.17 kB - 03/05/2025 at 17:48

Download

  • 1
    Step by Step Instructions
    • Install the Scoppy App on your phone or tablet.
    • Download one of the firmware files from its Firmware Upload Site. There are two firmware files: scoppy-pico-v18.uf2 for Raspberry Pi Pico without WLAN and scoppy-picow-v18.uf2 for the Pi Pico with WLAN.
    • Press the button on the RPi Pico and connect it to your computer with a micro-USB cable. It will then be linked as a USB drive.
    • Copy the appropriate firmware file to this drive. The RPi Pico will then reboot with the Scoppy firmware.
    • Connect your phone using an USB-OTG cable.
    • For a first test you can already connect pin 29 (GPIO 22, signal generator) to pin 31 (GPIO26/ADC0, analog input). For the sine wave, you need to put a 1k resistor between pin 29 and pin 31 plus a 100 nF capacitor between pin 31 and ground (low-pass)

    • Assemble the circuit (see in attachment). Then connect your phone and configure the following input voltage ranges: - 0 (default): -3.3V - 3.3V- 1: -0.33V - 0.33V- 2: -33V - 33V, number of Auto Voltage Range Pins: 2
    • Disconnect your phone and connect it again. The Pi Pico then restarts with the new settings.
    • Have fun

    For more details check out the official Scoppy documentation. Also feel free to watch my Video.

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates