Environment Sensor V1.2

Table of Contents
The Result
This project takes a couple of simple modules and joins them together on a single PCB:
- D1mini microcontroller, incl. USB serial
- BME280 temperature, humidity, pressure
- CCS811 air quality (VOC, eCO2)
- APDS9960 light sensor, gesture sensor (not used)
The data from the BME280 is used to correct/calibrate the CCS811.
The data form all sensors is read and sent to a server on my local network. The data is sent as CSV string:
24.29,35.78,996.30,115.24,785.00,58.00,729,19,17,16,54
24.27,35.51,996.40,110.52,815.00,63.00,735,19,17,16,53
24.27,35.81,996.37,71.60,770.00,56.00,675,13,12,12,38
The Parts (.stl/.kicad Downloads)
A big thank you to Aisler for sponsoring the PCBs. Their service and support is awesome. You can order the PCB that I created directly from them, or modify my sources and create your own. All you need to do is upload the .kicad_pcb
file here: https://aisler.net. You can use my promo code p3dt50 until the end of 2019 which will give you 50% off.
Amount | Part | Type | Datasheet | Links |
---|---|---|---|---|
1 | ย Env.Sens. V1.1 PCB | ย PCB | ย N/A | ๐พ ๐aisler.net |
1 | ย Env.Sens. V1.1 Case | 3D Print | ย N/A | ๐พ |
1 | D1mini | Module | N/A | ๐ aliexpress |
1 | BME280 | Module | ๐ google | ๐ aliexpress |
1 | CCS811 | Module | ๐ google | ๐ aliexpress |
1 | APDS9960 | Module | ๐ google | ๐ aliexpress |
1 | 10k | R | ย | ๐ aliexpress |
1 | PhotoResistor | R | ย | ๐ aliexpress |
ย 1 | ย M2x5mm Hex Screw | ย | ย | ๐ aliexpressย |
ย 1 | ย M2x4mm Brass Insert | ย | ย | ๐ aliexpressย |
The table only includes example searches for the parts. Make sure to get the right modules, see the image below for details:
Click on the image for a higher resolution.
The Schematics
The PCB
We need to add a piece of paper to make the PCB a bit thicker. The USB port expects 2.2mm, the PCB is 1.6mm. Otherwise it will fall out as is.
The 3D Print
You can download the blender sources as well as the .stl
file here: ๐พ
The Code
My github repositories below contain Readme.md
files.
The server code: node-mini-iot-server.
The client code: arduino-mini-iot-client ย devices/envsens-1.0
If you know how to use Grafana you can use my mini iot server as a simple json datasource:
Edits
- fix: itโs APDS9960 not APDS9960, updated PCB to v1.2 (fixed label), updated source to envsens-v1.2.zip