Would you like to have a small digital oscilloscope? Do you have a spare BlackPill (STM32F401) board and a TFT display laying around? [tvvlad1234] presents us with a simple and educational digital storage oscilloscope design that barely needs any components for you to build one, and it’s packed with features just like you would expect from a self-respecting open-source project. Not just that — it can even stream data to your computer, in a format compatible with the TekScope software!
It’s hard to overshadow just how easy this scope is to build, use, and hack on. You really don’t need much in the way of parts, a protoboard will do, though you can also etch or order your own PCBs. The front-end is super straightforward to find components for and assemble, a few opamps and resistors is all you need. So after jumper-wiring the LCD and three push buttons to your BlackPill, you’re golden.
Of course, the simple frontend results in the input range being from -3.3 V to 3.3 V, but as you could guess, this is exactly the kind of project where you could tweak the resistors and even upgrade it later on. Are you a bit lost in how oscilloscopes work? [tvvlad1234] has an explainer for you, too!
This build could easily take up a honorary “temporary turned permanent” place on your bench, thanks to its McGyver-esque qualities. It’s also, quite possibly, a better scope than the red “soldering kit” ones we’ve seen online. All in all, it’s a strong contender in the “simple and powerful DIY scope” arena, before this, we’ve seen one built with an Arduino Nano, and one with a Pi Pico.
Nifty.
Very nice. And runs from a battery. I’ll probably go with a Li-ion from my stash if I build it.
Tempting
Looking at the code, trying to see if this is bare metal or depends on some framework.
The first thing I will do is to put the .h and .c files into the same directory. Why in the world do people feel this idiot urge to segregate them?
Seems to be a common approach with almost all of the IDEs…
STM32 CubeIDE would appear to the the IDE in play.
When you have dozens of apps, it makes sense to keep common files in a common directory.
For a single app, segregation benefits are not so obvious. But, if you are using someone else’s code, and they update it, the NEW code will not be in the same directory as your project (unless you remember to copy it).
On projects with dozens of code and includes or projects where includes are shared across multiple projects it makes sense.
That’s absolutely right, but that is NOT the case here. The kindest thing I can say is that it is just silly. Another reason to avoid using an IDE if they force such nonsense upon you.
You don’t need a separate headerfile at all…
Looks a lot like the DSO Nano. A slight uptick in the processor, but similar specs, form factor, etc.
https://github.com/Seeed-Studio/DSO_Nano
I’m shocked to see the date on those files. My, time flies.
Wow, looks like the DSO Nano code has had some updates since I bought mine. Might be worth updating it…
Pretty dang cool. The display resolution drops it to Arduinu Uno quality. Has anyone farkled together a bit-bang MIPI-DSI interface for STM32? A display like this would fit the 12 bit ADC’s on he STM32 pretty well at 3.5″ and 1600×1440 https://www.alibaba.com/product-detail/Industrial-Thin-Replacement-3-5-Inch_62384683596.html
These looks all nice, until you realize there’s no front-end… Great version in any case.
This is a waste of time you can buy a ready made chinese scope for very little money that will be neat and small no messing with software time is precious dont waste it
I compile faster than you can think. Good luck with your chinese scope, with its crappy UI, counter-intuitive ergonomy, and non-readable fonts.
You must be new here
Don’t worry, they will realize the vast difference in knowledge it takes to comment here, as i have… :/
If only it displayed the time.
What Mark doesn’t seem to understand is that building the scope is as important as having it. By seeing the system and reading the code, the project is as much a learning tool as it is a using tool.
Any SW app that does something useful will have multiple source and headers. Nothing wrong with having separate folders/directories for source vs headers. Unless your brain is on arduino.
I also prefer a 200-300 rigol over a mcu adc and spi display.
The “Blackpill” is a STMF411, not a STMF401. Blackpill is $30 on Adafruit but a 401 is like 4 bucks. I hope it’s the cheaper one but knowing my luck it’s a typo and it’s the 30 dollar board lol.
@Gary Briggs said: ‘The “Blackpill” is a STMF411, not a STMF401.’
The Black Pills are typically based on a STM32F4 (STM32F401 or STM32F411) processor.[1]
1. Black Pill
https://stm32world.com/wiki/Black_Pill
This sounds interesting, I have a bunch of Nucleo F411RE’s because of a boneheaded ordering mistake and no oscilloscope.
And those LM358s are cheap and rugged but very very laggy… Still a nice project and the interface seems neat. The author seems to be presenting it as a learning exercise rather than a ready-made solution, and as such it could be a good experience to see how how different op amps affect the scope’s performance.
Hello, I would like to know how you deal with the different frequencies to be read by the ADC, when increasing the frequency the sinusoid will be shown with increasingly larger cycles and your samples will be smaller I am doing a study project similar to an oscilloscope I would like to understand more about how this is being done, in my project I need to show it in the form of a sinusoid frequency from 60hz to 3khz
can anyone tell me what software use to program the code to the stm32? I’m using Arduino IDE right now and I can’t find right code to input it in my software. or best if someone tell me the step-by-step process of DIY. thank you.
can you help me find the code to put it in Arduino IDE?