A Pi Pico Oscilloscope

At the budget end of the oscilloscope range lie the so-called pocket ‘scopes. About the size of a deck of cards, they combine a microcontroller and an LCD screen to make an instrument with a bandwidth in the tens of kilohertz and a not-too-sparkling performance. They’re something of a toy, but then again, if all that’s needed is a simple ‘scope for audio frequencies, they make a passable choice in a small package. Now [jgpeiro] has made one which is light years ahead of the toy kits, using a Raspberry Pi Pico, a 100 MHz ADC, and an effort to design a better input circuit.

At its simplest this could be a straightforward op-amp and ADC circuit feeding the Pico, but instead it has multiple stages carefully designed to offer the full bandwidth, and with gain, offset, and trigger settings being set by a series of DAC chips under software control. This and the decent bandwidth make this a much more viable oscilloscope, and one we’d like to see further developed.

By comparison, we took a look at the best of the competition a few years ago.

40 thoughts on “A Pi Pico Oscilloscope

  1. Anything that helps lower the barriers in regarding to “f@#&ing around and finding out” is a good thing.
    Especially when it comes to electronics where someone who’s only getting their feet wet can’t justify either a old surplus boat anchor or a pricey modern unit.
    I believe it’s that and crappy simulation software that isn’t being gatekept or offered as mercy by megacorporations that is the reason many people who’d traditionally have a interest in that instead choose to be fully fledged programmers instead

    1. Fully fledged programmer here. I nearly did electronic engineering at uni about 15 years ago but the cost of getting a home lab was too high compared to a pc with Linux and free compilers so I did software instead.

      Basic electronic skills and the ability to read a data sheet have been pretty useful doing embedded software.

      The cost has come down a bit since then and the free tools have got a lot better but I still think I’d end up doing software today.

      1. Software engineering is a great skill to have too.

        I understand what you mean about cost of setting up a lab for electronics. I gradually accumulated a lot of stuff. Also buying used equipment from eBay etc is a great way In too.

      2. I went the other way, studied electronics but switched to software development (via graphics design study then building websites to enterprise applications). I’ve found getting work as a programmer is much easier and the working conditions are better especially at junior levels. No noisy large work halls with misters (to avoid static), compressors, fume extractors, desoldering irons, colleagues blowing up electrolytic capacitors etc. And work ethic of a century ago.
        Though I keep electronics as a hobby, got plenty of gear some labs would be jealous of ;)

          1. Anyone who uses the term ‘code’ for writing software wasn’t in on the computer ground floor. It was called programming in the days of Fortran, Cobol, Pascal and assemblers and I’m personally proud that I understand how computers actually work. No black boxes for my generation, trained in 1980 :)

  2. I’ve had a Labnation Smartscope for years now, it usually lives in my daily carry bag, and it’s quite useful as a pocket scope. It can connect to a laptop or smartphone via USB, and with 2 channels, 100MHz sample rate, 30MHz bandwidth, and a 8 channel logic analyser, quite capable for something that small and relatively cheap.

    It’s not a full replacement for a “real” scope, it’s a little noisy, but when connected to a phone or laptop on battery power, it is floating with respect to earth, which can be useful, just don’t use that for potentiality harmful voltages.

    If they make it easy to connect to a phone or laptop to store data and screenshots, this could be comparable.

      1. Not how I read it.
        Everything you need to boost the development of your own electronics devices is included in this package:

        the SmartScope with 4M sample buffer dedicated for each channel
        2 analog probes
        the digital probe cable
        a miniB USB cable to connect to your pc or laptop

      2. Also, full schematics are available, you can use it as an Spartan 6 FGPA development board without a separate programmer, and revert it to the original functionality afterwards.

        I don’t have a financial interest, I just really love my Smartscope!

        Sorry to kind of hijack this HaD article, I just wanted to share that not all “pocket scopes” are crappy.

  3. Used both classic HP/Agilent boat-anchors and modern digital equivalents. In general, even a cheap 100MHz Rigol scope replaces a _lot_ of legacy hardware. Note, plugging in a BG7TBL GPSDO 10MHz reference clock makes even cheap hardware more accurate than most would expect

    Notably, a lot of used domestic surplus equipment has modules parted out by scrappers, can be unreliable unless the seller was also a user, and when the internal ram-backup battery fails it is a paperweight given the cost to get them repaired/re-calibrated.

    There are sometimes inescapable reasons to get boat-anchors, but mostly it is for test jigs and lab work.

  4. Why is there a 100 MHz BW analog front end on a 100 Msps scope? A rough rule of thumb is a useful single channel direct sampled analog bandwidth is usually no more than one-fifth the max sample rate. So at best this scope would be limited to a 100/5=20 MHz bandwidth in one channel. Yes you can stretch that a bit by using DSP filtering with a much faster roll-off, but don’t forget Nyquist. Another thing to do is increase the sample rate by interleaving multiple ADCs.[1][2][3] But at that point you need to add a lot more memory and speed up the back-end/display driver – look at an FPGA instead of a Pi Pico. But I do not think the original intent was to build a real DSO ;-)

    1. Interleaving ADCs: Unraveling the Mysteries, Analog Dialogue 49-07, July 2015

    https://www.analog.com/en/analog-dialogue/articles/interleaving-adcs.html

    2. Interleaved ADCs: The Basics

    https://www.planetanalog.com/interleaved-adcs-the-basics/

    3. There are a lot more articles on interleaving ADCs on Planet Analog. Try searching with this:

    https://www.planetanalog.com/?s=interleav

      1. Nyquist always applies, when talking about ADCs. Not performing a fourier transform on the captured signal doesn’t mean you’re somehow free from the resultant aliasing, if the signal has frequency components above the Nyquist frequency. Remember, Fourier transform is just a different way to represent the same signal, and isn’t somehow more or less fundamental compared to time series representation.

        1. Well, Nyquist always applies is half true – it’s true in case you look at orthodox signals. In case you look for something you can use for transient signals a BW equal to the sample rate is a great thing. You might be interested in the peak value of your glitch…

    1. Thank you for your comments. I know that 100MSps is too much for 100MHz BW, but I prefered experiment with the highest BW possible and then update the passives to limit it.

      Also I wanted to check how repetitive sampling performs, and I think in this mode as more BW you have, better signal you can reconstruct.

      Yes, as you mention, my intention was not build a real DSO, just was learn.

  5. Adrian Black from Adrian’s Digital Basement just did a repair/review video of ~$60 “ZEEWEII DSO1511G” handheld scopes. Frontend real BW of ~90MHz (3db drop), but digital part drops the ball by using maybe overclocked dual 100MHz AD9288 ADC.

    https://www.youtube.com/watch?v=Uqrel5fQpK4

    EEVblog with some internal hardware info (FPGA LATTICE LCMXO2, Allwinner F1C100s) https://www.eevblog.com/forum/testgear/dso1511e-review/
    There exist a ~$80 2 channel SigPeak DSO2512G version of above https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/ using both channels cuts sampling rate to 100MHz (or overclocked 120MHz). Jittery and aliased results above ~30MHz input signal, but at those prices its great for quick diagnostics. A party trick of analog composite Video output is also great.

    Another bottom of the barrel Oscilloscope adjacent product is dual channel ~$150 FNIRSI 1014D https://www.eevblog.com/forum/testgear/new-bench-scope-fnirsi-1014d-7-1gsas/ Allwinner F1C200s + probably same FPGA and two AD9288s. ~30MHz of real BW and seems to be much worse despite being more expensive and a proper desktop form factor.

    At those bottom prices its hard to justify building your own, but hacking DSO1511G/DSO2512G to replace Allwinner processor with pico and decent UI could be interesting.

  6. I’m an armchair engineer. No training whatsoever, but I’ve been reverse-engineering (read: taking apart and sometimes reassembling) consumer electronics for 40 years. I have an old Telequipment D54 analog ‘scope that doesn’t draw ‘Y’ for some reason, a practically useless (due to a crippling software suite) FOSC-21 USB job, and a “toy” DSO138 handheld. I am constantly on the lookout for under-$100 real analog oscilloscopes to replace my ancient D54. I’d get more use out of the FOSC-21 if the SIGROK boys had time to add support for the thing to their open-source suite. It’s listed as “planned” on their website. Electronics might be just my hobby, but I’ve learned enough to never fear purchasing cheap “broken” devices because I’m almost certain I can repair them if I could only learn to f$@king solder effectively. You pros are my heroes.

  7. Adrian Black from Adrian’s Digital Basement just did a repair/review video of ~$60 “ZEEWEII DSO1511G” handheld scopes. Frontend real BW of ~90MHz (3db drop), but digital part drops the ball by using maybe overclocked dual 100MHz AD9288 ADC.

    https://www.youtube.com/watch?v=Uqrel5fQpK4

    Some internal hardware info (FPGA LATTICE LCMXO2, Allwinner F1C100s) on EEVblog /forum/testgear/dso1511e-review/
    There exist a ~$80 2 channel SigPeak DSO2512G version of above EEVblog /forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/ using both channels cuts sampling rate to 100MHz (or overclocked 120MHz). Jittery and aliased results above ~30MHz input signal, but at those prices its great for quick diagnostics. A party trick of analog composite Video output is also great.

    Another bottom of the barrel Oscilloscope adjacent product is dual channel ~$150 FNIRSI 1014D EEVblog /forum/testgear/new-bench-scope-fnirsi-1014d-7-1gsas/ Allwinner F1C200s + probably same FPGA and two AD9288s. ~30MHz of real BW and seems to be much worse despite being more expensive and a proper desktop form factor.

    At those bottom prices its hard to justify building your own, but hacking DSO1511G/DSO2512G to replace Allwinner processor with pico and decent UI could be interesting.

  8. And again a (somewhat) interesting DIY scope project with a very mediocre frontend.
    Just getting some bandwidth is not very impressive. What I’d like to see is a programmable frontend that can do 1mV/div to 10V/div and is still reasonably simple. I sort of like the EUR 30 Jye tech scope. It uses a standard TL074, so bandwidth is low, but at least it got some decent range switching. Too bad that the software in the Jye Tech is barely usable. Especially the (software) triggering is atrocious, and that is why I can’t recommend this thing to anyone as a “scope”. It still is a quite nice STM32 development board with TFT though. Unfortunately the firmware is partially closed (but the good thing is it’s partially open). The scope functions are in some linked in library, but it seems you can tweak the user interface. I’m not sure if the LCD initialisation and management is opened up.

    1. Also, the Hantek 6022 has a quite usable front end for it’s EUR 60. The uC is a cyrustec CY7C68013A and there are some decent pictures of the PCB on the Sigrok website. Every now and then I’m tempted to buy one just for fun, but as I’m already having a “real” scope, there is not much pressure to do so.

      https://expeyes.in/ is another nice project you may want to have a look at.

      1. I have bought one of the USB based hantek’s (HT6022BE) and returned immediately. Really bad capture (a lot of jitter). I do not recommend. For $35 more you can get a more decent one (Owon VDS1022I) which has a lot less jitter and added advantage of being electrically insulated (good safety for your computer).

  9. Owon VDS1022I does it in a much nicer package for about $95. Important thing that other PC scopes neglect: this one has the analog part electrically insulated from the digital part. Makes for a much safer operation IMHO.

  10. Like many electronic hobbyists I have collection of scopes a modern chinese one and a couple of crt scopes at work I have a modern chinese tecktronomix scope my own much cheaper chinese scope works almost ad well as a restorer collector of vintage electronics I decided to make a scope with a one inch tube using 2 ef91 valves built from a 1960 circuit I saw on thd internet this well for audio etc as Americans call valvesctubes I call thisctubeway electronics I also like using smd parts and making miniature circuits

  11. The processor runs at 133 MHZ. For the processor to consume 100 MSPS, it would need an operation that captures the I/O and stores it in a memory structure in 1 cycle. Is that possible?

    1. Yes, Pi Pico’s “PIO” feature can directly sample 8-bit input into its 250kB memory at the clock frequency. Also it can be reliably overclocked to 250 MHz, perhaps much more.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.