Introduction and AMSYS AMS 5812 and AMS 5915 Libraries

Not open for further replies.


Well-known member
Hello everyone,

I'm the Director of the University of Minnesota UAV Laboratories. We're a research lab that's focused on making future commercial aircraft (i.e. the aircraft we all fly on as passengers) safer and more environmentally friendly. We use UAVs as a cost effective means to conduct flight research to gather flight data and demonstrate our theories in real world environments. I'm also the co-founder and CEO of a spinoff of the lab, Bolder Flight Systems, which is commercializing some of the sensors and flight control systems developed in the lab. We've been using Teensy devices for a couple of years in our flight control systems, test stands, and as a flexible tool for quickly prototyping ideas or collecting data.

We're currently developing a new generation of sensors and flight control systems based around Teensy and as part of that effort, I've been cleaning up our code and licensing and posting that code on our github. I'd like to announce the availability of libraries for the AMSYS AMS 5812 and AMS 5915 pressure transducers. These sensors are fully signal conditioned, amplified, and temperature compensated over a temperature range of -25 to +85 C. They generate data with high precision, high stability and low drift. Digital measurements are sampled with a 14 bit resolution and the AMSYS AMS 5812 and AMS 5915 sensors are available in a wide variety of pressure ranges and in configurations suited for barometric, differential, and bidirectional differential measurement.

We use them in the lab for accurate measurement of airspeed and altitude for our UAVs and Bolder Flight Systems will be releasing a product built on these sensors. Hopefully these libraries will be useful to others and I'd love any feedback or contributions.

In response to a question I received from HW999 regarding the AMS 5812 / AMS 5915 pressure transducers:

Another question (maybe not the right place) - why did you choose AMS 5812 and AMS 5915 instead of MS5611 and MS4525 ?

I didn't consider the MS5611. We use a pitot-static probe for measuring airspeed and altitude on our UAVs, using the static pressure source located on the probe gives us a more accurate measurement than a board located inside the UAV; there is typically a pressure difference between the inside of a moving aircraft and the free-stream static air. And if the avionics weren't enclosed, it would be difficult to measure static pressure. So the best option, if it's available, is to use a pitot-static probe.

I did really like the MS4525 pressure transducers. Like the AMSYS AMS 5812 and 5915 you can measure directional differential pressure (as opposed to bidirectionally) and there is a large range of pressure measurements to choose from, so you get great resolution for the intended application. The major downside had more to do with suppliers and the inability to program I2C addresses to the chip. Although, according the MS4525 data sheets there are many I2C addresses to choose from, most of the suppliers only offered a single I2C address, which made it difficult to find solutions to measure static and differential pressure with a single Teensy. Additionally, we sometimes use a probe with 5 differential ports (one centered and four space around that, called a five hole probe) so that we can measure not only airspeed, but also the relative angle of the airflow to the UAV (angle of attack and angle of sideslip), which requires many additional pressure transducers.

In the lab we've been using the AMS 5812 since about 2006. We recently switched to using the AMS 5915, which is nearly identical, but operates at 3.3V instead of 5V. The data quality is excellent and we LOVE that we can get transducers for the pressure ranges that we need. Right now we use the following differential transducers depending on application, plus an AMS5915-1200-B baro sensor for measuring altitude:
AMS5915-0005-D: 29 m/s, 65 mph
AMS5915-0010-D: 40 m/s, 90 mph
AMS5915-0020-D: 57 m/s, 128 mph

But the real kicker is that we're able to program our own I2C addresses for each transducer, which enables us to put as many transducers as we need on a single I2C bus.

Use a TCA9548A I2C multiplexer and you can put up to 64 I2C devices all with the same address on the same bus.
Not open for further replies.