Bald SENSE Wing Monitors and Logs Environmental Data with Feather Microcontrollers and CircuitPython
Bald Engineer's open source FeatherWing has temperature, humidity, light, color, proximity, and sound-sensing for environmental monitoring.
After moving into a new lab, I needed to collect environmental data about the space. So, I developed a FeatherWing called Bald SENSE. This adaptable PCB is packed with sensors, including temperature and humidity, color, light, and even a PDM microphone, to provide a robust environmental monitoring platform. It is so helpful that I gained insights about a garden while testing the MQTT and data logging code.
Bald SENSE is not just a PCB; it's a versatile IoT tool in the form of a FeatherWing compatible with a range of Feather microcontroller boards. The PCB contains a variety of sensors, including temperature/humidity (SHT31), color/lux (APDS-9060), and a PDM microphone. With a DS3131 real-time-clock RTC, coin cell battery holder (for the RTC), and a micro SD card socket, Bald SENSE mates with (almost) any Feather board, enabling it to log data offline or transmit sensor data wirelessly.
While Bald SENSE is compatible with nearly any Feather board, I selected the FeatherS3 from Unexpected Maker in this video IoT project. These boards have an ESP32-S3 microcontroller that supports 2.4 GHz Wi-Fi and Bluetooth. Interestingly, they already have an ambient light sensor; however, Bald SENSE covers it up!
CircuitPython provided an excellent rapid development environment to verify that Bald SENSE's hardware, except for the PDM microphone, worked as expected. The ESP32-S3 has hardware support for pulse density modulation (PDM); however, CircuitPython does not. Regardless, the other sensors and ICs worked great and effortlessly transmitted IoT data via MQTT.
Initial testing involved a small garden. The light sensor tracked sunlight exposure, temperature, and humidity conditions. Graphing the collected data in Grafana revealed two insights. First, the garden plants received at least 6 hours of sunlight. Second, when the ambient temperature inside the enclosure reached 70C, the ESP32's ADC drifted significantly. Exploring that temperature drift in more detail would be interesting, but this project video intended to get Bald SENSE functional!
Bald SENSE is an open source hardware and firmware project. You can download the design files, code, and enclosure STLs from this GitHub repository. For more background information about the project, check out the Bald SENSE blog post.