Data Logger for science experiment in school

Wichit Sirichote,

Build your own 6 channels data logger with the 22-bit sigma-delta converter and the 8GB storage.

I have designed the data logger for training science teachers for many versions. This version is the latest design. The data logger uses Microchip ADC, 22-bit sigma-delta converter, extremely high resolution. The input signal is 0-1VDC and no front-end amplifier. The converted data readings are recorded with memory card in CSV format. The USB 2.0 port is for real-time data printing and external power supply.

Using solar charged battery bank with the data logger.
Hardware schematic (click to enlarge)

The input signal connector is stereo 3.5mm jack. The analog signal is selected by the analog multiplexer. The ADC converts it into digital data and saves it to SD memory card. The USB port is for real time printing the readings.

Hardware Features:
Analog input: 6-channel 0-1VDC
Analog to digital converter: 22-bit sigma-delta
Storage: 8GB SD card, FAT32 formatted
Serial interface: USB 2.0 port
Power: cheap USB power bank
Enclosed with Future Box FB21, 111x111x14mm

Firmware state diagram:

On power up, the MCU initializes SPI port and internal UART to 9600 bit/s. The SD memory will be tested. If no SD card, return to RESET state.

Component placement : TOP LAYER

BOTTOM LAYER: status LED and SD card socket.

Sample data file imported into LibreCal

Example of DIY sensors:

Solar radiation detector The homemade solid-state pyranometer has been built for testing the data logger. The device was made with BPW34 silicon photo-diode. The short circuit current at 1000W/m2 insolation is 3.4mA. The sensor was designed to provide 100mV/1000W/m2, thus we can calculate the load resistant from,

R load = 100mV/3.4mA = 29.41 Ohms.

The sensor circuit is simple without amplifier. The developed voltage across R4 can be measured directly.

The sensor was built into small plastic box with cosine correction filter.

Sample measurement using BPW34 sensor for solar radiation is shown in Fig. 15. The sensor was placed in room close to the window. Sampling interval in test mode is 12s. Total samples is 3575, or 11.9Hrs. We see that on the Y-axis, the signal value is in Volt unit. Scale incremental on the major tick is 100┬ÁV. The plotting showed readings with extremely high resolution. Thus no need the front-end amplifier.

DC Current sensor 0-30A: The homemade current sensor is built with a very cheap ACS712-30A module.


1. 3.5mm jack,
stereo cable 50cm,
3. ACS712 module, (5A, 20A or 30A version)
4. 1k and 100k 1/8 watt resistors,
5. small platic box.

The circuit is very simple. The module accepts +5V power supply from the data logger. The signal is centered at +2.5V for 0A. The simple voltage divider 100K:1K produces Vout/101. Thus the signal can feed to the sigma-delta converter directly.

The sample prototype is shown below.

Inside the box.

Under PCB with two resistors.

Sample connecting to channel 1.


Data Logger 3 PARTS LIST


PVN1 PIC18F46J11 - Microchip CMOS microcontroller TQFP 44 pins
U2 MCP3551 - Microchip 22-bit sigma-delta converter
U3 LM117A/TO - +3.3V Voltage regulator
U4 CH340G - UART to USB 2.0 converter
U1 CD4051- CMOS analog multiplexer

D5 LM385-1.2/SO +1.2V voltage reference
D1 1N5226
D2 1N4148

Resistors (all resistors are 1/8W +/-5%)

R1,R8 10k
R2 4.7k
R7,R3 1k
R4 680
R5 100
R6 1M


C1,C2,C6,C8,C9,C16,C17 100nF multilayer capacitor
C3,C14 10uF
C5,C4 20pF ceramic
C7 100uF electrolytic capacitor
C10 220uF electrolytic capacitor
C11 22uF
C12 0.1uF
C13 4.7uF

Additional parts

Y1 12MHz

Kit information, please contact Wichit Sirichote

Download Hardware schematic, Quick Start , hex file (DEMO version is fully functional for 2 channels testing).

CH340 driver


Last updated, 26 Aug 2018

11 Aug 2018