Introducing the environmental air quality project

Designing an open source environmental gas sensor device for measuring VOCs

Introducing the environmental air quality project

Welcome to our first Weekly Newsletter! We hope this format will make it easier to keep people updated on projects we are working on! If you haven't already subscribed, you can do that here:

This week we started working with the Adafruit BME688 environmental sensor board as part of a larger project to develop an affordable environmental gas sensor. The Adafruit BME688 environmental sensor board is built around the Bosch BME688 which is a 4-in-1 sensor capable of measuring temperature, pressure, humidity & gas. Additionally, using the Bosch BSEC software we can convert the gas reading from a resistance/Ohms value into a more useful Index of Air Quality (IAQ) reading.

IAQ Index from Bosch BME866 manual (Table 6)

Goal

We had a pretty straightforward goal this week which was to connect the BME688 sensor to an Adfruit PyGamer, display the sensor values and record data to a microSD card.

Tools we used in this project

Steps

1) Install support for PyGamer in Arduino IDE (Tools -> Board -> Board Manager)

2) Install Bosch BSEC Software Library (Tools -> Manage Libraries)

3) Connect sensor and configure IDE to use PyGamer

  • Connect the Adafruit BME688 board to the PyGamer using the 4-pin cable
  • In the IDE, got to Tools --> Board --> Adafruit SAMD and select the board Adafruit PyGamer M4 Express (SAMD51)
  • In the IDE, go to Tools --> Port --> /dev/ttyACM0 (Adafruit PyGamer M4 Express (SAMD51))

4) Upload IO Rodeo voc_sensor_test firmware

Final step is to display the data on the PyGamer. We wrote some inital test firmware which is available on the IO Rodeo Github here: https://github.com/iorodeo/voc_sensor_test.

The firmware does the following:

  • displays the BME688 sensor values on a PyGamer LCD (along with units)
  • saves data to a microSD card
  • converts temp reading from deg C to deg F
  • converts pressure units from Pascals to inHg
PyGamer displaying data from Adafruit BME688 board
đŸ’¡
Next Steps! We will be adding a GPS board and start logging data next! Stay tuned for updates in next weeks newsletter.

Relevant Bookmarks

GitHub - iorodeo/voc_sensor_test: Pygamer firmware for testing the BME688 VOC sensor.
Pygamer firmware for testing the BME688 VOC sensor. - GitHub - iorodeo/voc_sensor_test: Pygamer firmware for testing the BME688 VOC sensor.
Adafruit BME688 - Temperature, Humidity, Pressure and Gas Sensor
The long-awaited BME688 from Bosch gives you all the environmental sensing you want in one small package. This little sensor ...
Adafruit PyGamer for MakeCode Arcade, CircuitPython or Arduino
What fits in your pocket, is fully Open Source, and can run CircuitPython, MakeCode Arcade or Arduino games you write yourself? That's right, it's the Adafruit PyGamer! We ...
Introducing Adafruit PyGamer
What fits in your pocket, is fully Open Source, and can run CircuitPython, MakeCode Arcade or Arduino games you write yourself? That’s right, it’s the Adafruit PyGamer! We wanted to make an entry-level gaming handheld for DIY gaming, and maybe a little retro-emulation. It’s not the fastest and best…
Adafruit BME680
The long awaited BME680 from Bosch gives you all the environmental sensing you want in one small package. This little sensor contains temperature, humidity, barometric pressure and VOC gas sensing capabilities. All over SPI or I2C, at a great price!