1464 Building an Open Source Sonic Anemometer with a BeagleBone, COTS Sensors, and RT Linux

Wednesday, 25 January 2017
4E (Washington State Convention Center )
Stephen L. Arnold, Vanguard Computer Technology Labs, Inc., Goleta, CA

Surface weather observations are still the fundamental data used for weather-related safety and hazard warnings, as well as general forecasting and climatology. Although non-research grade instrumentation is readily available from a handful of vendors, commercial instrumentation is generally not cheap (and the lower end of the price range is not very reliable, especially the moving parts). In order for data to be useful, it needs to be reasonably precise, accurate, timely, and provide a relatively continuous record (meaning low maintenance and reliability). Thus, reliable, accurate, and low-cost are often mutually exclusive (pick one or maybe two). One answer to this conundrum is the DIY approach, the BeagleBone Sonic Anemometer, now a Google Summer of Code (GSoC) student project by Christopher Vigus:

"The aim of this project is to create a sonic anemometer for small, inexpensive weather stations. Currently such stations are limited to cup anemometers which are heavily reliant on the precise movement of large mechanical sections. This limits their ability to respond to small amounts of wind, and they can be unreliable if they are not constructed well. A sonic anemometer solves these issues. Sonic waves can be used to determine even very low wind speeds, and without large moving components they are very reliable. Current sonic anemometers are relatively expensive, so they are not suitable for small, inexpensive stations."


Increasing the density and quality of surface wind measurements would provide many benefits, from increased forecast skill to increased use of models for other applications such as wind energy and improved safety and hazard warnings. There are at least a few open source windfield models (eg, GWOCSS) that have been used in many applications such as the above, and only require a handful of independent surface observations of minimal data (mainly PTU and wind data, upper air data is used but not required).


Commodity Commercial Off The Shelf (COTS) microcontrollers, sensors, and other peripherals have been available for many years now, and are both small and cheap. This is mostly due to the explosion of both open source hardware implementations and mobile devices, and the end result is a large selection and price range for designing and prototyping, and in some cases manufacturing, custom data acquisition and computing platforms. That being said, there are sill a few instruments that are difficult to make or expensive to buy (other than a handful of cheap hobbyist kits) which leaves a "hole" in building a complete (if basic) surface weather station. Lightning sensors are actually cheap to make, however, reliable anemometers are not. This project is an attempt to change that, at least in terms of providing an inexpensive hardware design and a reference software implementation for an open source sonic anemometer with a total hardware cost on the order of $150 US.

The base unit consists of a BeagleBone Black or Green, with a 10-DOF IMU providing PTU and compass direction, and a DHT22 temperature/humidity sensor. There are 2 ultrasonic transmitters and 2 receivers connected to an ADC controlled by the 2 Programmable Real-time Units (PRUs) available on the BeagleBone (as well as other related TI parts).

The overall system architecture is shown below (and in Figure 1); the main focus is on the THS1206 ADC, so some of the details for the other sensors have been omitted.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner