This repository is a collection of resources for the cheap 10-channel ADC boards available on the internet. This module is based on a STM32 (STM32F103C8T6) microcontroller and a CH340 USB-to-serial adapter.
Price: I got my module for $13 on Amazon in 2020, but they are available on eBay for around $10.
Accuracy, range, and sample rate: This device measures 10 input voltages from ground to 3.3V using the STM32's 12-bit ADC. Voltage readings quantized into 4096 bins, each spanning 806 µV. Effective ADC resolution is 1-2 mV. Readings occur automatically on all 10 channels at ~1Hz.
Software: Any serial terminal will display data from this device. Official software is available but it's in Chinese. Default serial port settings are: 115200 baud, 8 bit frame, 1 stop bit, no flow control.
No configuration required. After providing power (through the USB port) the device immediately begins measuring and sending values over the serial port.
Front | Back |
---|---|
I recommend using RealTerm configured to display ASCII at using the settings in the screenshot. RealTerm allows serial data to be logged to a CSV file.
ADC-10-F103C Plotter is a Windows application that plots serial port data in real time. This application is designed to be easy to modify to support custom data formats. Source code is MIT licensed so it can be adapted for commercial applications, and it is easy to distribute as a click-to-run Windows application.
-
Download: A click-to-run EXE can be downloaded from the Releases page
-
Source: ADC-10-F103C Plotter source code is in the src folder
-
An alternative project is: https://github.com/swharden/SeriPlot
- SerialPlot - C++ and Qt
- YAT (Yet Another Terminal) - .NET, plotting supported (currently beta)
- SerialLab - C#, looks good, fixed format
- ArduinoPlot - Python + Matplotlib
- Arduino Plotter - Arduino library
- RealtimePlotter - JavaScript
- RealTerm saving data + GnuPlot reloading the file
- SimPlot - Visual Basic program (binary available)
- Telemetry Python + Qt (complex framed protocol)
- Serial Chart - EXE, awkward configuration, crashed for me
- Serial Monitor - C++ source code only
- RealTerm - log a CSV while plotting it with another program
- MegunoLink $29.95
- MakerPlot $39
- Data format is often inflexible
- Arduino-specific JavaScript + Processing software
- Python GUI applications require complicated and brittle environments
- Not available as a click-to-run EXE
-
Official documentation: USB interface 10 channel 12Bit ADC data acquisition STM32 UA
-
Software provided by my amazon seller: clouddrive link
-
Microcontroller source code is available (LC-ADC-F103C8_EN.zip) but it is a large, unorganized project of C and H files with Chinese comments.
-
English documentation LC-ADC-F103C8-manual.pdf
-
Schematic ADC_10_F103C-schematic.pdf