Summary of Miniscope v2e – STM32F042 Oscilloscope
The Miniscope v2e is a compact, single-channel oscilloscope built around the STM32F042F microcontroller. It features a crystal-less USB Full-Speed interface, enabling real-time data streaming to a PC via a custom DLL and Win32 GUI. The device supports sampling rates up to 1 MSps with 8-bit resolution, storing up to 512M samples to a file. Its design minimizes component count using a single-sided PCB with SMD parts, including a voltage regulator, mini-USB connector, and passive components.
Parts used in the Miniscope v2e:
- STM32F042F4 microcontroller
- DFU bootloader (embedded in ROM)
- Single 1MSps ADC
- Voltage regulator (3V or 3.3V)
- Mini-USB connector
- Input divider resistors (R8 27k and R4 51k)
- SMD microswitch (or jumper for firmware upgrade)
- Passive SMD components
- Needle probe
- Transparent heat-shrink tube
Quick specification
- 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.
Schematic
miniscope_v2e_20140501.pdf
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.
Early, mixed THT/SMD, not optimized board: miniscope_v2e_eagle.zip
STM32F042Fx Eagle library: STM32F042Fx.lbr
Current version: miniscope_v2e_eagle_20150113.zip. SMD only. Intended to be wrapped in transparent heat-shrink tube with needle probe soldered to input.
Panelized PCB printout for toner transfer method: miniscope_v2e_pcb_panelized.pdf
For more detail: Miniscope v2e – STM32F042 Oscilloscope
- What microcontroller family does the Miniscope v2e use?
The device uses the Cortex-M0 microcontroller family, specifically the STM32F042F4. - Can the Miniscope v2e operate without an external crystal?
Yes, the STM32F042F devices feature a crystal-less USB FS device capability. - How many channels can the Miniscope v2e sample simultaneously?
The device has a single 1MSps ADC, so single channel sampling is preferred to avoid crosstalk issues. - What is the maximum record length when saving to a file?
The device can store up to 512M samples when recording to a file. - Does the schematic require mounting the 1k5 USB pull-up resistor?
No, the 1k5 USB pull-up should not be mounted because the STM32F042 has an internal pull-up used by the ROM DFU bootloader. - What software handles the functionality of the Miniscope v2e?
A DLL and a Win32 GUI handle all functionality for streaming data to a PC. - Can the SMD microswitch be replaced on the board?
Yes, you can replace the SMD microswitch with a jumper if you do not plan to experiment heavily with firmware. - What package type is used for the STM32F042F4 device?
The device comes in a small and friendly TSSOP20 package.