Using the Input Capture Unit for High Resolution Sensor Readings

A project log for The Cave Pearl Project

Creating a generic underwater data logging platform that is easy to build & modify for many different environmental monitoring projects.

Edward MallonEdward Mallon 03/25/2019 at 15:400 Comments

This probably isn't news to the old hands around here, but combining Timer1 with Input Capture Unit lets you make high resolution sensor readings in about 1/10th the time it would take to get comparable results from oversampling techniques using the ADC. And since the method is interrupt based, you get to sleep the main processor during the process. 

Using Arduino’s Input Capture Unit for High Resolution Sensor Readings

This works really well with generic 10k thermistors, and I think this timing method will become my go-to whenever I'm working with resistive sensors.

Left Axis in °C , Red line is 10k NTC thermisor read with 0.1uF X7R ceramic & 10k met-film as reference. Orange line is an si7051 sensor inside the same housing  [±0.01°C] .