I recently made a Data Logger using a Nucleo-144 board and 16 bit ADC’s – the project works well and I am a bit surpriced over how easy it was to create both electronics, firmware and PC software, so I will attempt an even more advanced Data Logger illustrated below:
A functional block diagram over HW is illustrated above.
The ADC part is the more complex part. My original project used fast, internal 16 bit ADC’s, while this will use fast, external 24 bit ADC’s with full galvanic isolation. The sampling rate drops from close to 1Mhz to 68KHz, but this is sufficient. If you want higher sampling rates you would be using FPGA/ASIC anyway. The more complex part is the analogue setup at right- 0-10V analogue channels are straight forward, but I need to figure out how to support 4-20mA loops as well and try to avoid noise. Using a 24 bit ADC is a bit ambigous since it tend to be 8 bit extra noise compared to a 16 bit.
The MCU ss a STM32H723 rinning at 550Mhz with Ethernet. The key to this logging is to get data over to a PC (or Raspberry PI), but I have added a SD Card as well as a Quad PSRAM as well, PSRAM is 16Mb data buffer.
USB port is mainly for initial config and development.
I have done an early physical mock-up of the board and this will end up being the first ever project where I do SW/FW before doing HW.
The rational behind this project was that we needed a logger and struggled to find one that did what we wanted, so we decided just use a Nucleo-144 board and get going – the project was done with HW, FW and SW in 3 weeks. It does exist commercial solutions, but the ones I found cost a fortune and they are surprinsingly limited compared to how easy it was to make this one.