The Open Gauges project aims to allow open-source data gauges to be built, modified, and viewed as both physical (3d printed) and digital gauges. Depending on the user’s preference the models can be made to run from any online data source with a data feed – from Weather Data with Air Pressure, Temperature, Wind Speed etc though to Air Quality Gauges, Noise Meters, Energy etc.
Part of the initial release, from the Connected Environments Team at The Bartlett Centre for Advanced Spatial Analysis, University College London, and alongside the more traditional ‘dial style’ gauges, is our Neopixel Barometer.
Designed to be as simple as possible it is powered by a Raspberry Pi and uses the data feed from the Weather Flow API, making it open to any users with a Weather Flow Tempest Weather Station.
As with all the Open Gauges, the data feed can be changed for any other data source.
Full code and files can be found in the Open Gauges Github Repository.
Data Source
The barometer uses the Better Forecast API from Weather Flow, provided as JSON.
Data displayed
The Neopixel Barometer displays current sea level air pressure (Mb), conditions – Sunny, Partly Cloudy, Cloudy, Rain, Snow, Thunderstorm, Foggy and the current pressure trend – Rising, Steady, Falling.
The data updates every minute with a sweep of blue/yellow neopixels on power up. This can be used to run every hour via using a crontab function to reboot/reload, marking the change of the hour as well as displaying the weather data.
3D printed model
The main barometer markers – ie STORM, FAIR, CHANGE, as well as the numbers – 950, 960 etc are provided as separate .stl files to 3D print. This is to allow easy alignment with the Neopixel strip with the correct pixel.
The conditions come in a single section, again to be aligned once the Neopixel strip is mounted, the Trend titles are also a single 3D print.
Wood
The Neopixel strip is mounted onto a thin strip of wood approx 125 centimetres long by 4.5 cm wide using the fixings that come with the Neopixel Strip. The Text/Numbers are 3D printed (as above) and glued on the back of the wood. It is a standard wood strip that most DIY/Hardware stores stock. The use of wood/mounting is to allow flexibility – ie mount it however you like.
Hardware
The hardware has been selected to be as low cost as possible –
- A Raspberry Pi – We used the Raspberry Pi Zero W
- 1 Meter 144 Addressable Neopixel Strip (NeoPixel/WS2812/SK6812 compatible) – Example here from The PiHut
It is made to be mounted either vertically or horizontally – pictured below is the first make of the Neopixel Barometer, hung vertically:
Code and library
The full code is provided on the Github page, which also includes the other Open Gauges to 3D print and make.
Libraries used
- requests
- json
- time
- neopixel
- board