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 and data analysis.
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.