/SensorCalibration

An Arduino library that supports automated calibration and compensation of sensor input.

MIT LicenseMIT

SensorCalibration Library Version

Proposal:

I'd like to contribute an Arduino/AVR library that makes calibrating sensor input a breeze.

It shall be easy to apply, have a simple enough approach which shall still be sufficient for most users, with a small footprint and good Arduino/AVR compatibility.

Motivation:

My own IoT applications increasingly depend on sensor accuracy and repeatability. I've just recently started the fifth special purpose library where I apply the same calibration/compensation approach again – just to a different sensor.

So I've started writing a library for myself. But during my research I realized that this task seems to be a very generic problem and most people just appear to come up with the same kind of solution over and over again.

The world shouldn't have to be like that! Everyone should be able to take compensated measurements!

Ideas so far:

  • at least linear two-point compensation (i.e. as described by Atmel for the internal temperature sensor)
  • preferrably multi-point compensation (e.g. piecewise linear or polynomial)
  • automated mapping to min and max values
  • automatic gain control and limiting of input data
  • support for multiple sensors (independent, portable sensor profiles)

Question(s):

  • What functionality does an Arduino user expect from a piece of code that claims to support calibrating a sensor?

  • What interface would be appropriate (simple, complex, both)?

  • How much resource consumption would be acceptable, i.e. how lean vs. mighty could the library sensibly become?

  • What prior work has been done regarding universally applicable Arduino/AVR libraries? Is my work futile, have I been bested already?

If you have a question or contribution, please simply open an issue.