top of page

EnviroPi
Raspberry Pi Sensor Shield
Github Link

enviropi_pcb.PNG

Since March, I've been spending a lot more of time at my office desk. When August came around, California's raging fires deteriorated the Bay Area's air quality. Heat waves intensified the effect, and also made my office unbearable when the sun hit this side of my home. I became curious how much of these effects I could capture, with a particular interest in comparing these effects to other times of the year. In the end, I decided to cram every single interesting sensor onto a Raspberry Pi and record the results.

​

Here's a list of all the sensors:

​

  • BME280 - Bosch pressure, temperature and humidity sensor

  • BME680 - Bosch pressure, humidity, temperature and VOC sensor

  • TMP102 - Texas Instruments temperature sensor

  • BMM150 - Bosch magnetometer

  • TSL25911FN - Light intensity sensor

  • ICM-20649 - Invensense 6-axis IMU (3-axis gyroscope and 3-axis accelerometer)

​

All sensors are connected via I2C. There've been some complications since PCB fabrication, such as the fabrication house refusing to solder on the small pins of the BMM150. I often solder 2mm x 2mm parts myself, but I specifically asked for professional help since the BMM150 is about half that size. Also, I wired the BME680 and 280 incorrectly and both are using the same I2C address, so I had to desolder the 280. Luckily the BME680 mostly eclipses the output of the 280. I had originally planned on comparing the accuracy of both pressure sensors.

​

The VOC sensor is particularly interesting since there's only a few MEMS based sensors on the market, each with different applications and different, usually poor, specificities. It measures particles in the atmosphere by measuring the resistance of a heated up sensitive layer. The settings used to heat the element and the measurement timing are particularly important. Bosch also doesn't provide a formula for using the sensor output to calculate air quality, so I had to devise my own empirical formula after doing some research. The sensing mechanism is particularly sensitive to humidity, so I had to compensate using the humidity reading.

  • github_icon

©2020 by Engineering Outdoors

bottom of page