Extremely cheap low-speed PC/USB oscilloscope with STM32 (STM32F042) microcontroller.
- follows miniscope v2a-d idea: very simple device streaming data in real time to PC; DLL and GUI (Win32) are handling all the functionality,
- sampling: 480 kSps, 8 bit, single voltage range, streaming via USB FS with libusb (32/64bit) used as driver,
- record length: 4k to 1M defined in DLL; up to 512M samples when recording to file,
- firmware loading via USB (DFU bootloader embedded in ROM),
- low component count: MCU, voltage regulator, mini-USB and few passive SMD components on single-sided PCB.
Announced in January 2014 Cortex-M0 microcontroller family that features crystal-less USB FS device allows to cut noticeable part of BOM when building oscilloscope/recorder similar to miniscope v2c/v2d. STM32F042F devices are interesting in particular because of small and friendly TSSOP20 package with minimum number or power lines.
STM32F042F4 devices feature USB bootloader (DFU), single 1MSps ADC (so single channel sampling would be preferred to avoid crosstalk issues), 16 kB FLASH memory (~2 times more than needed) and 6 kB RAM.
1k5 USB pull-up should not be mounted as STM32F042 has internal pull-up – apparently used by ROM DFU bootloader also.
Version from 2015.02.20 is intended to use R8 27k and R4 51k for input divider.
Either 3V (that is one I’ve actually used) or 3.3V voltage regulator can be used.
Comparing this schematic with Discovery kit for STM32F072 indicates that few other passive components (RC at USB D+/D-) may be redundant.
If you do not plan to experiment with firmware heavily (or don’t mind some hanging wires at the time) you can replace SMD microswitch with some sort of jumper as it is needed only for firmware upgrading.
For More Details: Miniscope v2e
This Post / Project can also be found using search terms:
- ПРОСТОЙ САМОДЕЛЬНЫЙ USB ОСЦИЛЛОГРАФ STM32F042