Skip to content
Contact Us

Case study: IoT air disinfection device

BACnet beside AWS IoT on an ESP32 air disinfection device with FreeRTOS

An IoT air purification maker runs the CAS BACnet Stack on an ESP32 with FreeRTOS, so the same device reports temperature and occupancy to building management systems over BACnet and to the cloud through AWS IoT.

The challenge

An IoT device lives in two worlds. Its maker wants the data in the cloud for its own dashboards and analytics; the building it sits in wants the same readings in the building management system, which speaks BACnet.

The device was already an ESP32 running FreeRTOS and talking to AWS IoT. Adding BACnet had to fit beside that on the same small microcontroller, without a second processor.

Why the CAS BACnet Stack

  • The CAS BACnet Stack runs on the ESP32 under FreeRTOS, compiled with the embedded build target so only the services and objects the device uses take memory.
  • The stack never owns the data or the network: the device supplies values and a socket through callbacks, so the same readings feed both AWS IoT and BACnet.
  • Source is included and royalty-free, which suits a connected device sold in volume.

The solution

  1. Temperature and occupancy sensors
  2. ESP32 with FreeRTOS
  3. CAS BACnet Stack (BACnet server) and an AWS IoT client
  4. Building management system and AWS IoT

The CAS BACnet Stack runs in a FreeRTOS task on the ESP32 as a BACnet server, presenting its temperature and occupancy readings as BACnet objects. The same firmware sends the readings to AWS IoT.

The building management system sees an ordinary BACnet device. The cloud sees an ordinary IoT device. It is one board.

Results

  • Building management systems read the device’s temperature and occupancy data over BACnet.
  • The same device reports to AWS IoT, with no second processor.

Have a similar project?

Building something like this?

Tell Chipkin your platform, whether your device is a BACnet server or a client, and the data link you need. A Chipkin engineer replies with how the stack fits and where to start.

  • Consultation: talk directly with BACnet specialists about your project.
  • Run an example: every profile example project publishes a Windows and a Linux binary.