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.
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
- Adafruit BME866 breakout board. Built around the Bosch BME866 all-in-one environmental sensor
- Adafruit PyGamer
- 4-pin JST PH to JST SH cable
- Software: Arduino IDE. Go to https://www.arduino.cc/en/software to download the IDE for your system
Steps
1) Install support for PyGamer in Arduino IDE (Tools -> Board -> Board Manager)
- Instructions: https://learn.adafruit.com/adafruit-pygamer/using-with-arduino-ide
- Install --> Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino
- Install --> Arduino SAMD Boards by Adafruit
2) Install Bosch BSEC Software Library (Tools -> Manage Libraries)
- Instructions: https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/bsec-air-quality-library
- Install --> BSEC Software Library by Bosch Sensortec
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