# Environmental sensor
## Components
### CO₂ sensor
Sensirion SCD40, via the [SCD41 dev kit](https://sensirion.com/products/catalog/SEK-SCD41/)
Using the [Sensirion Arduino library](https://github.com/Sensirion/arduino-i2c-scd4x)
connector: JST PH 2.0mm 4 pin
* 1 SCL
* 2 GND
* 3 VDD
* 4 SDA
### particulate sensor
[Sensirion SPS30](https://sensirion.com/products/catalog/SPS30/)
Using the [Sensirion Arduino library](https://github.com/Sensirion/arduino-sps)
connector: JST ZH 1.5mm 5 pin
* 1 VDD
* 2 SDA
* 3 SCL
* 4 SEL → GND (to select I₂C mode)
* 5 GND
### main board
[LILYGO® TTGO T5 V2.3.1 with 2.13 Inch E-Paper Screen](http://www.lilygo.cn/claprod_view.aspx?TypeId=62&Id=1391&FId=t28:62:28)
Using the same Arduino libraries as [the LilyGo
examples](https://github.com/Xinyuan-LilyGO/LilyGo-T5-ink-series)
battery connector: JST 1.25mm 2 pin
* 21 SDA
* 22 SCL
## Software
Arduino +
[ESP32](https://docs.espressif.com/projects/arduino-esp32/en/latest/) +
[makeEspArduino](https://github.com/plerup/makeEspArduino/) + a bunch
of libraries; `git submodule init && git submodule update` to get
them.
You'll probably need to adjust some paths in the
[`Makefile`](Makefile), then you can `make flash` to build and flash
the software.
## Enclosure
Render with [OpenSCAD](https://openscad.org/), then print.
I printed on a Prusa MK3S, with PLA, sliced with PrusaSlicer:
* setting "0.20mm speed"
* variable layer height
* "adaptive cubic" fill pattern
* bottom layer of the enclosure:
* 4 bottom solid layers
* 2 top solid layers
* middle layer of the enclosure:
* 2 bottom solid layers
* 2 top solid layers
* top layer of the enclosure:
* 4 bottom solid layers (which are, in fact, the top layers of the
enclosure, because the top is upside-down)
* 2 top solid layers