3 About
fhdm-dev edytuje tę stronę 2021-06-21 17:58:16 +10:00
This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

The aim of the Scoppy project is to give electronics novices and hobbyists access to an ultra cheap oscilloscope that is useful for viewing low voltage, low frequency signals.

It is of course not intended to replace a proper desktop scope or even a cheap commercial handheld scope. It is however intended to be cheap! If you have a compatible Android device, OTG cable and RP Pico then the extra cost starts at nothing (if youre happy with a 0V to 3.3V input range and single channel).

To remove the 0-3.3V 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 Wiki contains some examples of simple (naive?) AFE designs and everyone is encouraged to share their front end designs and ideas with other Scoppiers. Just head to the forum.

To enable the 2nd channel, a small in-app purchase is required. The one-channel version of the app is completely free and all functionality is available without restriction.

Why use Scoppy?

Given that there are plenty of microcontroller based Oscilloscope projects that have been published you might wonder why or if Scoppy is any different. I think there are a few things that set it apart from the others:

  • Ease of installation. If you own a Pico then presumably you know how to copy a uf2 file to it and if you own an Android device then presumably you know how to install an app. Thats all that is required, no installing toolchains or dealing with obscure compiler errors. Scoppy can be up and running in a few minutes.
  • Quality display/screen. If you own an Android device (even an old, obsolete, low-end device) then you already have a high resolution display. And of course the price is right - zero! Many of the DIY scope projects understandably use tiny and/or low resolution displays to minimize cost.
  • User interface. Although not particularly pretty, the app should be easy to use and understand even for novices. It provides easy access to common settings such as vertical resolution, timebase and trigger level.
  • More advanced triggering. The easiest way for a microcontoller based 'scope to capture sample data is to simply start the acquisition when the microcontroller is ready and then hope that the data contains an appropriate trigger point. Scoppy is different. It continuously samples the signal, storing the data in a circular buffer and only when a trigger point is found (or a timeout occurs in Auto mode) does it send the sample data to the display. This is why Scoppy is able to provide a Normal trigger mode.
  • Flexibility and learning. Scoppy doesnt impose any limitations on the Analog Front end due to the ability to configure the voltage range(s) of each channel. What better way to learn about attenuation and amplification circuits than designing your own scope front end?
  • Documentation, Community and Support. The Scoppy wiki is being actively maintained and updated and there is a discussion forum around which I hope a community will develop.
  • Last but definitely not least, price. Anyone with a Pico and compatible Android device can have a 500kS/s scope with high quality display and easy to use app for next to nothing.

History

Soon after taking an interest in electronics I discovered a few things. First, I dont have a talent for analysing electronic circuits. Second, I do have a talent for destroying components (Note to self: when a pull-down resistor is called for, actually use a resistor and not a jumper wire!). Thirdly, it was obvious that even a very basic Oscilloscope would be a great learning tool (not to mention a cool gadget to play with).

So I lashed out and bought a DSO138. A week later it was fried. Looking for a signal to measure, I tried the 9VAC input to the AC-DC converter powering the DSO138. There was a faint pop sound and my precious oscilloscope was dead (still the most expensive piece of equipment Ive bought for the lab - about $30 where I live).

And so began the search for something even cheaper. A DIY solution seemed the obvious way to go. If I used cheap enough components my proclivity for destroying them wouldnt matter so much!

Theres plenty of open source microcontroller based oscilloscope projects out there but none fit my needs (and/or wants) especially with regards to the UI and display. I didnt want to have to peer at a tiny 0.96” OLED screen but the larger displays were prohibitively expensive for my limited budget.

I have some Android app development experience and so the obvious solution was to use a smartphone and/or tablet to provide the UI and develop an appropriate app. I had several obsolete but perfectly functional Android devices sitting in the drawer doing nothing and so the cost of the display suddenly shrunk to zero. Yay.

It was about then that I realised there is a gap in the market that maybe I could fill. A super cheap oscilloscope for novice electronics hobbyists (with admittedly super low specifications).

So now I just needed to decide on a development board. The blue pill would have been great (its cheap and the STM32 MCU on board has a fast enough ADC for my needs) but the reports of fakes put me off that idea. So I started working on the app while I procrastinated about which development board to use. It goes without saying that the app took way longer to develop than I thought it would (dont all software projects?) and it would have been much more sensible for me to just buy another DSO138 - but wheres the fun in that?

The Raspberry Pi Pico was announced and it seemed to have everything I needed, a (just) fast enough ADC at 500kS/s, lots of RAM, USB interface and most important of all its cheap. The DMA chaining feature was icing on the cake and meant the sample data could be efficiently transferred to the circular buffer while the firmware is doing other things like looking for trigger points and sending data over USB to the app. The firmware doesnt use PIO, the extra core or those intriguing interpolators so theres still plenty of room for new features and improvements.

Thats it. Now someone just has to use it.