HydroBot: Measuring Atmospheric Conditions

AirSense

AirSense is a HydroBot module designed to measure air temperature, relative humidity, and barometric pressure. It uses the Bosch BME280 atmospheric sensor to take measurements and sends the results out over CAN. The module can measure temperatures from 0 to +65°C with ±1°C accuracy, humidity from 0 to 100% with ±3% accuracy, and pressure from 300 to 1100 hPa with ±1 hPa accuracy. Three LEDs indicate device status, CAN activity, and error states.

AirSense Features:
  • STM32F0 microcontroller
  • Bosch BME280 atmospheric sensor
  • 6-30V input works with 12V and 24V systems
  • JST-ZH series connectors
  • Parallel bus connections for daisy-chaining
  • Protofusion pogo programming interface
  • Open source design

The default firmware uses a CAN baud rate of 500K and sends out messages on ID 0x201. Temperature is recorded with 0.01°C resolution, and is sent in bytes 3 and 4 of the CAN message data. Humidity is recorded with 0.01% resolution and is sent in bytes 5 and 6. Pressure is recorded with 0.1 hPa resolution and sent in bytes 7 and 8. By default, sensors readings are taken every 100ms, and a message containing averaged measurement data is sent out once every second. Future firmware work will add module configuration over CAN with settings including CAN baud rate, CAN id, data frequency, sensor calibration, and more.

All source can be found in the HydroBot repository, including firmware source code and hardware files. The BOM and generated gerber files are also included for easy replication.

Matthew is a computer engineer who enjoys designing hardware for embedded control systems. His hobbies include photography, gardening, coffee, and anything DIY.

Tagged with: , , , , , , ,
Posted in HydroBot, Projects

Leave a Reply

Your email address will not be published. Required fields are marked *

*