ADC input filter design for a low sample rate data logger

I am looking to get advice on anti aliasing filter design for a data logger I am developing, which has a sample rate configurable from 100 ms (10Hz) up to 24 hours (i.e. wake up, take a sample, write to SD card, then back to sleep). The data logger is using MicroPython with a LTC1857 8-channel 12-bit ADC with SPI interface as shown in the datasheet below. The LTC1857 is capable of 100kSPS but the data logger reading many serial devices and writing to the SD card cannot achieve anything near that sample rate and it is not designed to continuously sample but to wake, sample, write to SD card then sleep. LTC1857 data sheet: https://www.analog.com/media/en/technical-documentation/data-sheets/185789fb.pdf The device is designed to sample signals that are not expected to rapidly change (i.e. liquid level, temperature, battery voltage). I would like to minimise filtering components so ideally an RC/LC filter or just C and let the end user determine how much R they would like to add to the analog input? The ADC inputs are protected up to 25V which I would like to use and therefore minimise input components. When the data logger wakes up I can take a number of samples at a time and average them and make this user configurable. I am looking for anti-aliasing filter design comments (ideally using an RC/LC filter) given the varying and low sample rate. What would be the best approach when using this ADC?

Codeologist asked Aug 16, 2020 at 14:35 Codeologist Codeologist 1 1 1 bronze badge

\$\begingroup\$ The input impedance is only around 40 kohm so is this acceptable for your end-user? If it is then you are not going to be able to make an effective anti-alias filter with a tiny value of R (to avoid creating a potential divider error). \$\endgroup\$

Commented Aug 16, 2020 at 14:49

\$\begingroup\$ I am not an expert on ADC input impedance's but I assume by that 40kohm is quite low for an ADC? I have looked at different ADC options and yes can see that even with a 1kohm R you get a voltage drop. I do have a gain and offset setting but then the user has to calibrate it which is not ideal. \$\endgroup\$

Commented Aug 16, 2020 at 14:54

\$\begingroup\$ Well, you need to also convince yourself that having circa 40 kohm connected across a battery isn't going to run down the battery in too short a time. Ditto with your temperature sensors - they'll have output impedance and might indeed be miscalibrated by a 40 k in parallel. Have you considered buffer amplifiers? Fix these problems before designing AA filters is my advice. \$\endgroup\$

Commented Aug 16, 2020 at 15:01 \$\begingroup\$ The next thing for you to do is write a specification. \$\endgroup\$ Commented Aug 17, 2020 at 7:56

\$\begingroup\$ The 40kohm across a 12V battery will draw around 0.3mA or consume 3.6mW which is quite negligible for the applications. With sensor measurements, including temperature I thought this input should be fine for 4-20mA current loops with a 250ohm resistor. It seems the ideal solution is to somehow sample at 1-10kSPS then average the samples and use an RC filter so R can be smaller. As this is a data logger for a wide range of logging applications I was hoping to have an ADC that would cover as many sensor options as possible. An SPI ADC with averaging would also be ideal which I need to look into. \$\endgroup\$