I needed to do some data logging at a hobby ranch and to help a friend monitor some refrigeration units at his small business. After looking at a number of options, I settled on using an Arduino to acquire the digital and analog signals, and then send them in JSON packets for logging, data analysis and pushing up into the cloud for remote viewing.
After hand soldering a few units, it became clear a shield with screw cage terminal blocks will make things much easier. But it seemed all the shields I found connected the terminals directly to the Arduino inputs. What I needed was a divider network on all the analog inputs for voltage scaling, resistor/capacitor filtering, zener diode input protection, etc. Also I needed a pull up resistor on all the digital inputs so I could use dry contacts to ground to sense an on/off state. In addition I needed a RTC (real time clock) to timestamp the data, a socket for an OpenLog serial data logger, and a circuit to output the serial data stream at 3.3 volts for sending to a Raspberry Pi, Pine A64, BeagleBone, etc. for data analysis and using a Linux stack to move the data over the network and the Internet. So out of my need, the GenuLog shield was born.
I have made the shields available on Tindie:
https://www.tindie.com/products/conciseusa/genulog-data-acquisition-signal-processing-shield/
In the picture of the shield below, the through hole RRC have not been populated yet. The values on the RRC input networks will vary depending on the signals to be monitored.
The picture below is a unit built up in a NEMA box, with a LCD display, a Raspberry Pi to push data to AWS, and the right side is a UPS that will keep the unit running for a few hours in the case of a power failure. It has since been installed on a commercial refrigeration system. A new circuit board is under development to make the UPS systems easy to put together.