AndroidElectronic projects

200kHz Digital Oscilloscope

Introduction

200kHz Digital Oscilloscope

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.

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

200kHz Digital Oscilloscope

For ease of use, we provide a dedicated App to display the waveform and signal received by the Raspberry Pi Pico. We named it Scoppyand 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

200kHz Digital Oscilloscope

200kHz Digital Oscilloscope

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

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

200kHz Digital Oscilloscope

Resource files can be downloaded from this project’s file library:
https://make.quwj.com/project/465

Back to top button