Scoppy is an oscilloscope and logic analyzer powered by your Android phone/tablet and Raspberry Pi Pico.
Go to file
fhdm-dev 3c6da86a8e initial commit 2022-11-01 12:58:58 +11:00
docs initial commit 2022-10-14 17:13:05 +11:00
images initial commit 2022-11-01 12:58:58 +11:00
README.md initial commit 2022-11-01 12:58:58 +11:00

README.md

If you are looking for the Scopy Oscilloscope by Analog Devices you can find it here.

Scoppy

Scoppy is an oscilloscope and logic analyzer powered by your Android phone/tablet and Raspberry Pi Pico or Pico W. Signals are measured by the Pico and the waveforms are displayed on the Android device. No programming is required and both the app and firmware are free to download1. Installation is super easy and should only take a few minutes.

The Pico W version allows you to use your phone/tablet as the oscilloscope display without the need for a physical connection between your phone and the Pico W.

The aim of the Scoppy project is to give electronics novices and hobbyists and STEM students access to an ultra-ultra cheap oscilloscope that is useful for viewing low voltage, low frequency signals. Scoppy is also a logic analyzer with a sample rate of 25MS/s.

What you'll need

  • An Android device that's running Android version 6.0 (Marshmallow) or higher. The device must also support USB OTG (On-The-Go) - most modern phones/tablets do (if you don't see the app when browsing the Play Store then your device probably doesn't support this feature)
  • A USB OTG adapter/cable compatible with your phone/tablet (not required when using the Pico W and connecting via Wi-Fi)
  • A Rasperry Pi Pico or Pico W board

Important
Please use the latest versions of the App (v1.020) and Firmware (v11 for the Pico, v12 for the Pico W). Older versions of the firmware may not work with the latest version of the app and vice versa

Getting started

See the Installation and Getting Started guide.

Want more information?

Start at the documentation index.

Discussions/Forum

Go to the Discussions section of this repository to well ... discuss Scoppy. For example, ask and answer questions, give feedback, request features, report bugs, share your front-end designs or comment on just about anything related to Scoppy, Oscilloscopes, Logic Analyzers or electronics in general.

Measuring different voltage ranges (oscilloscope mode)

To remove the 0-3.3V input voltage limitation (and do whatever signal conditioning magic takes your fancy) youll need to add an analog front end. This can be as simple as a voltage divider or as complex as you want it to be. The Documentation contains some examples of simple and cheap AFE designs.

Here's an example of a two channel, super-cheap front end that is easy to build and uses readily available components. This front end features high input impedance and over/under voltage protection.

Two channel front end

Or for something a bit more fancy, here's a front-end that automatically adjusts the sensitivity (input voltage range) as you change the volts/div setting in the app. It also features 10X probe compatibility, an input impedance of 1M||22pF and status LEDs for triggering and Wi-Fi. The schematic and PCB design can be found here at OSHWLab. The boards can also be purchased at the FHDM store.

FScope

Tips

  • If the traces or grid lines look too narrow then you can change the width in Settings (tap Menu to see the Settings option)
  • Long-pressing most of the control buttons will set the corresponding setting to a default value eg. long-pressing the horizontal position button will reset the horizontal position back to zero. Long-pressing the trigger level button will set the trigger level to the centre of the waveform.
  • Long-pressing any of the +/- buttons will continuously change the corresponding value. The longer you press it the faster the value will change.
  • Tap the GND indicator (the right pointing arrow on the left of the screen) to change the selected channel. The selected channel is the one that responds to vertical swiping/zooming and tapping the vertical scale and position buttons.

Quirks

  • If the screen turns off or the app is no longer in the foreground, the run mode will change to STOPPED (to prevent draining the battery). You will need to tap RUN to restart the scope.
  • The OFF trigger mode prevents all triggering and Scoppy will set the horizonal position so that it is displaying the most recent samples (it normally tries to find a trigger point near the centre of the sample record). This in combination with a long Time/Div setting is equivalent to roll mode on many 'scopes.

Troubleshooting

  • If your phone has a Micro-USB connecter then check that the Micro-USB plug of the OTG cable/adapter is plugged into the phone and not into the Pico!
  • If the Pico doesn't seem to be connecting try the following:
    • tap STOP and then RUN
    • OR
    • unplug the USB cable and plug it back in
  • If it's still not working then it's possible that your phone/tablet doesn't support USB OTG. You can test this by attaching a USB thumb drive to the OTG cable/adapter. You should be able to browse the files on the drive.
  • Some diagnostic information is also writtern to the Pico UART on GPIO 0 & 1
  • If using a Pico W see the Wi-Fi troubleshooting page

Specifications and features (oscilloscope)

  • Max. Sampling Rate: 500kS/s (shared between channels)
  • Time/Div: 5us - 20secs
  • Memory depth depends on sampling rate. It ranges between 2kpts (shared between channels) and 20kpts in Run mode and up to 100kpts for Single shot captures.
  • 2 channels
  • Auto and Normal triggering
  • Cursors
  • X-Y Mode
  • FFT
  • Wireless connectivity

Specifications (logic analyzer)

  • Max. Sampling Rate: 25MS/s (per channel)
  • Time/Div: 50ns - 100ms
  • 8 channels

Known Bugs

  • When long-pressing the + or - buttons, moving your finger laterally will have the same effect as lifting your finger off the button. The only workaround is to keep your finger stready when long-pressing these buttons.

Tutorials/Experiments

1Advertising and in-app purchase

The free (zero cost) version of the app is limited to one channel and USB. A single banner ad may be displayed at the top of the screen. To enable the extra channel(s) and wireless support and remove all advertising, a small in-app purchase is required (approx. US$2 for a lifetime purchase - exact price depends on your location).

Scoppy Oscilloscope App Screenshot

Scoppy Development Scoppy app on a Nokia 2.1

Scoppy Logic Analyser Logic Analyzer mode

Scoppy FFT FFT of a square wave

Scoppy FFT Both Channels FFT showing both channels and the YT (scope) window

Scoppy XY + YT X-Y and YT displayed simultaneously