Hackaday Prize Entry: Oscilloscope For The Masses

If you head down to your local electronics supply shop (the Internet), you can pick up a quality true-RMS multimeter for about $100 that will do almost everything you will ever need. It won’t be able to view waveforms, though; this is the realm of the oscilloscope. Unlike the multimeter’s realistic price point, however, a decent oscilloscope is easily many hundreds, and often thousands, of dollars. While this is prohibitively expensive for most, the next entry into the Hackaday Prize seeks to bring an inexpensive oscilloscope to the masses.

The multiScope is built by [Vítor] and is based on the STM32-O-Scope which is built around a STM32F103C8T6 microcontroller. This particular chip was chosen because of its high clock speed and impressive analog-to-digital resolution, which are two critical specifications for any oscilloscope. This particular scope has an inductance meter built-in as well, which is another feature which your otherwise-capable multimeter probably doesn’t have.

New features continue to get added to this scope by [Vítor]. Most recently he’s added features which support negative voltages and offsets. His particular scope is built inside of a model car, too, but we believe this to be an optional feature.

38 thoughts on “Hackaday Prize Entry: Oscilloscope For The Masses

      1. It is, even for SMPS work is too slow as today’s chips move faster. It is good to begin if that is all you can afford. It is good to have a portable one in your tool box if you don’t mind spending the money. I got one out of curiosity. Never used it.

        1. Same here. I am retired and my electronics budget is limited. I can’t afford a nice scope. But I have a cheap scope and never use it. I can borrow a good scope if I need one, but have never needed to. Then again, everything I do is digital. I can see the value of a scope for doing analog audio work to view a complex waveform. If I was building synthesizers, I would want a good scope. I expect that part of the reason good scope prices are so high is that there just isn’t a huge market for them.

      2. DSO 138 is not only one you can buy in china. I got DSO 138 and it si working fine for my purposes. For its price i thing it is good tool. If i want something better DSO 203 seems to be interesting.

  1. I feel very disappointed by this project, why try to make something that is already available and cheaper than building one from scratch? https://www.banggood.com/Orignal-JYE-Tech-DS0150-15001K-DSO-SHELL-DIY-Digital-Oscilloscope-Kit-With-Housing-p-1093865.html

    Now, if he could properly design one around some STM32 that has 2 ADC at 5Msps which could bring the price point up to maybe 30, that would be much much more useful. But such chips have not been cloned I suppose so that is why they would be too expensive to make kits out of…

    1. There is no need to be disappointed, it is what it is. Most importantly it is a very cheap way to view sub 1MHz waveforms. You can spin one up from a couple of cheap ebay items and bits form the junk box, and if you blow it up, well what the heck, you learned something. Its not meant to replace a 1GHz scope with logic analyser and built in FFT, its meant to allow you to probe low speed stuff and learn from the experience. I have a fluke, I have a bunch of cheap multimeters. If I’m prodding around in the engine compartment of my car on a wet miserable day, I’ll take out the el-cheapo meter, in case I drop it in a puddle, or leave it lying about, or accidentally run it over. If I’m trying to fault find a mains powered amplifier or poking around in high voltage.. or looking at high frequency stuff… I’ll use something more appropriate. Don’t diss the thing out of hand. Besides.. it couldn’t be more of a hack… hot glue, old toy car, bits of stripboard, batteries lashed together with sparky tape.. Its a hack.. this is hackaday, not review-a-high-end-oscilloscope-a-day.

  2. With a Rigol 1052E you can focus on a problem you’re trying to solve. Rigol scopes are dirt cheap for their value and if you can’t afford one why don’t you get a job?

      1. >sampling rate of 1.7 MS/s
        Sorry, this is a (yet another) toy, not a scope. If you want a scope get a Rigol. Yes it’s still a lot of money for some people (like students, i had this problem too like a lot of other people) but scopes are somewhat complex beasts so you have to invest some money to get something decent. And i think scopes are really cheap today, just look at the prices like 10 years ago.
        Also the sampling rate is one thing, but not the only important part: number of channels, voltage min/max, sample depth, USER INTERFACE with built-in functions (measurements, cursors, …), … Even if the sample rate of a home-made scope is high enough there is still A LOT of work to really make a useful sope. If you want to make a scope and learn about the internals go ahead, if you want a working scope to work with just buy one. If you can’t afford look for a used one or just wait, sorry…

  3. Oh dear. I have to take issue with “about $100 that will do almost everything you will ever need. It won’t be able to view waveforms”
    The sub $100 meter I’ve just built does just that. It’s the usual Chinese stuff, and I wasn’t expecting much, but it’s actually pretty decent for run of the mill work. The high bandwidth DSO still has its place of course, but being able to view low frequency waveforms in situ is handy too.

  4. an oscilloscope is more than just an ADC and a display. (and there’s nothing impressive about the resolution of an stm32’s ADC. even if 12 bits were a lot, the bottom 3-4 are gibberish.)

  5. Model car case made me laugh.
    Great idea, though plastic cars don’t protect your device from RF interference.

    Now I’m looking around for interesting case ideas.

    1. there is already open source software for it, and LPC LINK2 dev board is only 20 Euro at mouser
      https://www.eevblog.com/forum/projects/lpc4370-cheap-scope/

      “The selling point is the open source LabTool software that provides an 11-channel logic analyzer (up to 100 million samples per second), a 2-channel analog oscilloscope that can achieve up to 80 million samples per second, an 11-channel signal generator that can hit 80 million samples per second, and a 2-channel analog signal generate (up to 40 kHz).”

  6. I did something similar (but very basic) with a PIC32MX220. I planned to do a version for PIC32MZ1024EFG064 but I got a Rigol DS1054z in the mean time so my desire for a faster scope has been fulfilled. The PIC32MZ EF has the capability to capture 3 channels at around 6MHz simultaneously by combining two ADC modules per channel. Running at 252MHz (I think 350DMIPS) can do some processing as well, and supports USB 2 hi-speed (I’ve tested it at 20MB/s using Harmony framework) so can send samples in real time to the PC. It also supports triggers for ADC values, handy for triggering on level thresholds.

    One of the disadvantages of a MCU scope is that it can’t do brightness simulation on the display without a massive performance hit. That would be only possible with a fast FPGA. Displaying 6M samples on a 800 pixel wide screen will allow you to see some detail, which helps navigating in the waveform and spot features/anomalies.

    I wonder how the update rate is. I managed about 15-20 fps depending how dense the waveform is on the PIC32MX220. More pixels means slower speed. I optimized the code for the display downloaded somewhere from Alieexpress seller webpage, went from 5 fps to about 15-20 by removing unnecessary delays and instructions.

  7. One of my favourite things is a saleae logic analyzer that can capture at 24m/sec and buffer a billionaire n samples. I wonder if this could run at a useful speed if it had a digital only mode. There are continuing calls for salsas to do a continuous display but they haven’t pulled it off.

  8. For any product that has a spectrum of options there tends to be a “bend” in the price-performance curve somewhere – that’s the most bang for your buck, if you can afford it. Anything below it gets shittier much faster than it gets cheaper, and anything above it get expensive much faster than it gets better. For instruments like oscilloscopes, almost anything with a brand name bought new tends to be in the latter zone while anything cobbled up by hobbyists as the next “cheap scope for the masses” is, unfortunately, invariably way, way, waaaay down in the former region, labelled “toys lol”. This one is no exception. Only of any use if you don’t actually need a scope and you have never ever seen a waveform before.

  9. I’ve played with the STM32F4 Discovery boards a good bit. They’re cheap and very capable. Much better than the board used here. The STM32F479I is $30. It has 256 KB RAM, 2 MB flash and a 64 Mb SRAM combined with a touch screen and three 12 bit 2.4 MS/s ADCs which can be interleaved for 7.2 MS/s. That puts Nyquist at 3.6 MHz and a usable BW of 2-3 MHz. A proper analog front end is essential to be useful as a scope.

    Disclaimer: I started a hackaday.io project like this, but dropped it when I saw all the Chinese versions and wandered off into an odyssey in the mathematics of L1 approximations.

    A really interesting project would be to collect samples at random intervals and then apply a compressive sensing program on a PC. That should provide 10-15 MHz bandwidth. The general rule of thumb is that compressive sensing will get you about 5x the bandwidth for the same volume of data collected. It also eliminates the need for antialias filters on the front end, though you still need attenuators and gain to set the levels properly and provide ESD protection. A single channel 15 MHz scope with good specs for $100 USD should have a market segment that would find that attractive. I *think* there are probably a few examples already, but slightly more money for the BW as a result of using regular sampling. A *lot* of my scope time was spent with a 5 MHz recurrent sweep Heathkit. Not much, but much better than nothing.

    What compressive sensing does is solve a discrete Fourier transform using a least sum absolute value (aka L1) minimization instead of the least squares result produced by the regular Fourier transform. The key is that the waveform must have a sparse representation in some basis. Most waveforms do.

    For more info search on ‘ Donoho Candes Baraniuk “compressive sensing” ‘. If anyone is interested in collaborating on implementing this contact me. I’d be happy to provide GPL DSP code if someone else will do the UI, etc.

    1. i don’t think compressive sensing helps with a scope. even if you know what domain the signal you’re inspecting is supposed to be sparse in, the fact that you’re inspecting it means that something probably isn’t quite right with it.

      really, think about a simple case of some SPI bus you’re watching for glitching. if you take randomly spaced samples. if they don’t land on the glitch, you simply don’t get any information about it, and no amount of math is going to fix that.

Leave a Reply to rasz_plCancel 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.