Monday, February 5, 2018

New Open Source Arduino libraries to support Airball

As part of my efforts to clean up the Airball probe hardware and software, I rewrote the (Arduino-based) code. The probe is using three bits of hardware, which were each poorly supported or not supported on Arduino:

  1. AllSensors DLHR-series I²C/SPI pressure sensors – to sense the pressure from the various pressure ports on the probe, 3 DLHR sensors are used. There was no library available, but Ihab wrote some code to work with them.
  2. Texas Instruments TMP102 I²C temperature sensor – to read the (approximate) outside air temperature, this sensor is mounted near the edge of the board, almost outside the probe. SparkFun provides an Arduino library to support their breakout board, however, the library is not licensed properly ("beerware"), is not listed in the Arduino IDE, and is actually wrong. (It reads each of the two bytes from the TMP102 temperature register in two separate I²C transactions!)
  3. Texas Instruments TCA9548A I²C bus multiplexer – in order to support the AllSensors DLHR sensors, which have fixed I²C addresses, a multiplexer is required. No library was available in the Arduino IDE, but Ihab had written some code to work with it.
I wrote three relatively clean 3-clause BSD-licensed libraries to support these components, and as of today, they are all now listed in the Arduino IDE's library manager and available for anyone to easily install and use! You can find them in Arduino IDE (Sketch → Include Library → Manage Libraries...), for example:



You can also find them all on GitHub:

We hope that providing better support for these components in Arduino will help a few others!

No comments:

Post a Comment