My DIY air quality sensor
Clean up README
*grumbling about non-compiled languages*
Add WiFi + data sending support, refactor code


browse  log 



You can also use your local clone with git send-email.

#DIY Air Quality Sensor

My attempt at building a DIY-ish air quality sensor. Currently has ~two components:

  • cad/ - A simple case to screw the components into, has ports for PM2.5 sensor intake + USB-C
    • Is my first attempts at using OpenSCAD (or any CAD software, really), but the STL looks good and it 3D printed mostly fine (including the hinge!)
    • Known Issues
      • USB-C port is too small, had to manually rip that apart with pliers, should fix
      • Honeycomb lid didn't print at all, but shows up fine in STL, could just be bad slicer settings on my part
      • The I2C/STEMMA QT connector on the PM2.5 sensor doesn't fit well with the battery/power header on the Feather board, you have to kinda smush it or rip off the header
  • circuitpython/ - Basic CircuitPython code to read from the sensors and upload it to a server over WiFi
    • You need to supply a secrets.py file containing something like:
      secrets = {
          "ssid": "<your network>",
          "password": "<network password>",
          "endpoint": "<HTTP endpoint to upload JSON-formatted sensor data>",
    • I originally planned to re-write this stuff in Rust, but the CircuitPython works (modulo some I2C issues I'm debugging) and was a breeze to put together.


Unless otherwise noted, all code in this repo is MIT licensed. Code that has the license of the original author is: