
Diploma
t3ry4git/stm32Co2
A simple CO2 and environmental monitor based on the STM32F103C8 microcontroller. The firmware reads temperature and humidity from a DHT22 sensor, measures CO2 concentration using an MHZ19B module and displays values on…

KiCad project of a Printed Cuircit Board (PCB) for ESP32 with Temperature/Humidity/CO2 Sensors, User LEDs and Buttons
ESP32SmartBoard PCB is an open-source printed circuit board by ronaldsieber, from the ronaldsieber/ESP32SmartBoard_PCB repository on GitHub, published under the MIT licence. It is a 2-layer board of 118 × 70 mm with 36 parts on 45 nets, routed with 203 tracks and 0 vias.
It is built around the ESP32-DEVKITM-1, MH-Z19B and DHT22. Its parts include 13 resistors, 10 diodes, 3 ICs, 3 switches and 2 capacitors. It belongs with the sensors and measurement boards and the ESP32 boards of this library.
KiCad project of a Printed Cuircit Board (PCB) for ESP32 with Temperature/Humidity/CO2 Sensors, User LEDs and Buttons.
In the past I've implemented various Smart Projects with the ESP32 on break-out boards. On the one hand, break-out boards are very useful because they make hardware modifications as easy as software changes. On the other hand, it is very cumbersome to build several copies of the same circuit with break-out boards. Furthermore, they are mechanically fragile and not really particularly visually appealing. Therefore they are not very suitable for permanent use in the visible area of living rooms.
For this reason I designed the ESP32SmartBoard_PCB, which combines different projects on a single, professionally producible PCB. This allows now for reproducing multiple copies of a device without great effort and hide them in a small housing if necessary.
The ESP32SmartBoard_PCB contains the following components:
![[kicad_3d_model]](https://raw.githubusercontent.com/ronaldsieber/ESP32SmartBoard_PCB/d3ab7d2b08fdf72947c1045883be9a8dc8c0009f/Documentation/ESP32SmartBoard_PCB.3d-model.png)
The ESP32SmartBoard_PCB is a two-layer Printed Circuit Board (PCB), assembled on one side and only uses THT components (Through Hole Technology) that are very easy to solder. It can therefore be used very easily also by students and hobbyists.
The values of all components are specified in the Schematic.
The PCB size and the positions of the mounting holes allow installation in the plastic universal housing of 135 x 95 x 45 mm (article number 523117). This polystyrene housing (EPS) can be easily processed mechanically (e.g. cut out a viewing window for the LED Bar). It is available from various providers on the Internet.
![[ESP32SmartBoard_OpenFrame_with_Box]](https://raw.githubusercontent.com/ronaldsieber/ESP32SmartBoard_PCB/d3ab7d2b08fdf72947c1045883be9a8dc8c0009f/Documentation/ESP32SmartBoard_OpenFrame_with_Box.jpg)
By searching in the Internet, several PCB manufacturers can be found who are able to directly import the KiCad layout file ESP32SmartBoard_PCB.kicad_pcb. The PCBs with silkscreen (assembly printing) on the top are then sent by post after a few days.
There are following options for the power supply of the board:
With the Arduino sketch from the ESP32SmartBoard_IoCheck repository, all components of the board can be checked for correct function after assembly. The sketch is also a good starting point for new software projects based on this board.
Not all schematic symbols, footprints and 3D models required for ESP32SmartBoard_PCB are contained in the native installed KiCad library. External_KiCad_Parts.txt lists the additional components and their download links.
The user LEDs are arranged in one row and can be used as a LED Bar. The colors of the LEDs should be selected according to the respective application. For example, to show the CO2 level in the form of a scale, the following grouping is suitable:
It seems that there are several versions of the ESP32 Development Kit and the MH-Z19 CO2 sensor with pins of different widths. In my components, the diameter of the connection pins are larger than the diameter of the soldering pads in the footprint. This prevented me from soldering the components directly onto the board. However, I was able to solve the problem by using Pin Headers (see image above). The solder connections of the Pin Headers are small enough for the solder pads and the ESP32 Development Kit and MH-Z19 CO2 sensor can be easily plugged in.
ESP32SmartBoard_IoCheck - Checking of all components during commissioning and starting point for new software projects based on this board.
ESP32SmartBoard_HttpSensors - Embedded WebServer based Arduino Sketch for ESP32SmartBoard
ESP32SmartBoard_MqttSensors - MQTT Client based Arduino Sketch for ESP32SmartBoard
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 470R | Resistors_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R200, R201, R202, R203, R204, R205, R206, R207, R208 |
| 4 | 4k7 | Resistors_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R1, R2, R100, R101 |
| 1 | 100µF | Capacitors_THT:CP_Radial_D8.0mm_P3.50mm | C1 |
| 1 | 1N4001 | Diodes_THT:D_5W_P12.70mm_Horizontal | D1 |
| 1 | 47µF | Capacitors_THT:CP_Radial_D8.0mm_P3.50mm | C2 |
| 1 | BLE_CFG | Buttons_Switches_THT:SW_PUSH_6mm_h5mm | SW1 |
| 1 | DHT22 | Sensors:DHT22_Temperature_Humidity | U3 |
| 1 | ESP32_DevKit | esp32_devkit_v1_doit:esp32_devkit_v1_doit | U1 |
| 1 | KEY0 | Buttons_Switches_THT:SW_PUSH_6mm_h5mm | SW100 |
| 1 | KEY1 | Buttons_Switches_THT:SW_PUSH_6mm_h5mm | SW101 |
| 1 | LED0 | LEDs:LED_D3.0mm | D200 |
| 1 | LED1 | LEDs:LED_D3.0mm | D201 |
| 1 | LED2 | LEDs:LED_D3.0mm | D202 |
| 1 | LED3 | LEDs:LED_D3.0mm | D203 |
| 1 | LED4 | LEDs:LED_D3.0mm | D204 |
| 1 | LED5 | LEDs:LED_D3.0mm | D205 |
| 1 | LED6 | LEDs:LED_D3.0mm | D206 |
| 1 | LED7 | LEDs:LED_D3.0mm | D207 |
| 1 | LED8 | LEDs:LED_D3.0mm | D208 |
| 1 | MH-Z19B | mh-z19b:Winsen_MH-Z19B | U2 |
| 1 | Vin | TerminalBlocks_Phoenix:TerminalBlock_Phoenix_MKDS1.5-2pol | J1 |
The 32 most common of 36 parts.
It measures 118 × 70 mm and has 2 copper layers, 1.6 mm thick.
36 parts, built around the ESP32-DEVKITM-1, MH-Z19B and DHT22. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the ronaldsieber/ESP32SmartBoard_PCB repository on GitHub, at the commit this page was made from: the board is ESP32SmartBoard_PCB/ESP32SmartBoard_PCB.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

t3ry4git/stm32Co2
A simple CO2 and environmental monitor based on the STM32F103C8 microcontroller. The firmware reads temperature and humidity from a DHT22 sensor, measures CO2 concentration using an MHZ19B module and displays values on…

open-lv/air-guard
Do-it-yourself electronics kit for building an air quality monitor for your school, work and home.

strayer/EnvironmentalSensor
A WiFi environmental sensor based on Tasmota that reports temperature, air pressure, air quality, humidity and CO2 (ppm).

HiMinds/himinds-boosting-innovation-embedded-env-sensor-hw
HiMinds Open Source Wireless Environmental Sensor HW

JensFZ/CO2Sensor_PCB
Added external power suply, leds and a buzzer (all of them are optional)

Djuke-DIYAudio/indoor-sensor
Affordable indoor sensor for measuring CO2, temperature, humidity and pressure

Gonellarro/Sensor-de-CO2
Building a C02 and wheather station with Wemos D1 mini micro controller, MH Z19B and BM280 sensors
