Atmosphere: a Smart 3D Printed CO2 Measuring and Warning Device.
by Alisa Bovkun in Circuits > Arduino
211 Views, 7 Favorites, 0 Comments
Atmosphere: a Smart 3D Printed CO2 Measuring and Warning Device.



In this project, we’ll show you how to build a compact, stylish, and rechargeable CO₂ monitor that helps you keep your indoor air quality in check. Powered by an ESP32, featuring a high-precision SCD41 CO₂ sensor, and displaying real-time data on a crisp OLED screen, this device alerts you when it’s time to ventilate your room.
Whether you're working in a home office, studio, or classroom, this monitor helps create a healthier environment by reminding you to let in fresh air when carbon dioxide levels get too high.
The design is beginner-friendly and combines simple soldering with plug-and-play components. You’ll need access to a 3D printer and a laser cutter (or someone who can help you with those parts), but everything else is straightforward. Plus, the final product looks clean and modern—perfect for your desk or shelf.
Supplies
- ESP32 (AZ Delivery Wroom)
- SCD41 CO₂ Sensor (Sensirion)
- SSD1309 OLED Display (128x64)
- 2× 18650 Batteries
- 18650 Battery Holder
- USB-C Charging Module (e.g., TP4056)
- Up Voltage Module (e.g., XL6009E1)
- Power Switch
- Jumper Wires
- Screws
- Threaded Inserts
- 2–3 mm Plexiglass (for laser-cut top panel)
- 3D Printer Filament (PLA or PETG, ~100g)
Component --- Cost (€) --- Notes
Printing Filament --- 2.00€ --- 100g at 20€/kg | 15% Infill
Electricity ---0.065€ --- 70 watts average, 2h30m, 37ct kwh
ESP32 --- 11.99 € --- AZ Delivery Wroom
Batteries 10.00€ --- 2x 18650 cells
18650 Holder --- 6.00€
USB-C Charging Module --- 1.00€
Up Voltage Module --- 2.00€
Switch --- 0.20€
CO2 Sensor 23.00 SCD --- 41€
Display --- 25.00€
Wires --- 2.00€
Total Cost --- 82,86€ --- Sum of all costs
3D Print the Shell and Components





Start by 3D printing the outer shell and internal parts of the device. Print smaller parts first to check tolerances and fit.
Recommended print settings:
- Infill: 15%
- Wall lines: 4
- Nozzle:
- 0.4 mm for larger components (shell, base)
- 0.25 mm for smaller parts (brackets, display holder, switch, light tube)
Use PLA or PETG for best results. Allow all parts to cool fully before removing them from the print bed. Label printed parts if needed to avoid confusion later during assembly.
Laser Cut the Top Panel
Laser cut the top panel using 2–3 mm thick plexiglass. Use the provided vector file to include openings for the OLED display and ventilation if needed.
Use transparent or translucent plexiglass. Avoid using excessive laser power to prevent clouding or warping along the edges.
Clean the finished piece with isopropyl alcohol to remove any residue or burns.
Downloads
Upload Code to the ESP32
Before assembling, upload your code to the ESP32 to confirm it works.
- Connect the ESP32 to your computer via USB.
- Open Arduino IDE.
- Set the board to ESP32 Dev Module under Tools → Board.
- Select the correct COM port.
- Upload your code
After uploading, open the Serial Monitor and confirm that the ESP32 is running correctly and detecting the sensor and display.
Downloads
Assemble and Mount Electronics






Glue the Base Foot
Apply plastic glue or epoxy to the bottom of the main shell and attach the foot or stabilizing base. Ensure proper alignment and let it cure fully for 15–20 minutes.
Mount and Wire the Components
Install the components inside the printed shell:
- ESP32 board
- SSD1309 OLED Display
- SCD41 CO₂ Sensor
- Battery Holder
- USB-C Charging Module
- Boost Converter
- Power Switch
Route and connect all wiring carefully:
- OLED display to ESP32
- SCD41 sensor to ESP32
- Battery output to charging module, then through the boost converter to the ESP32
Leave adequate airflow around the CO₂ sensor through short wires.
!Set the output voltage of the Boost Converter to exactly 5V!
Mount the Acrylic Top Panel
Align the laser-cut plexiglass panel on top. Apply a thin bead of transparent epoxy or UV glue along the inside edge. Press gently and let it cure without disturbing the fit.
Avoid applying too much glue, which may cloud the acrylic or leak visibly.
Insert Threaded Inserts
If your design includes brass threaded inserts, install them before final assembly:
- Heat a soldering iron to 200–220°C
- Press each insert into the designated 3D-printed hole
- Let it cool until solid
It is best to complete this step before placing sensitive electronics to avoid thermal damage.
Downloads
Power On, Test, and Final Closure





Initial Power-Up
Insert the 18650 batteries into the holder in parallel and turn on the switch. The OLED display should illuminate and show:
- CO₂ readings (ppm)
- Loading or status animations
- System startup messages
If nothing appears, double-check your wiring, power connections, and use the Serial Monitor for debugging.
Functional Testing
Let the device run for several minutes and confirm:
- The CO₂ sensor is returning data
- The display is responsive and readable
- The USB-C charging module functions as expected
- The up voltage module provides stable output (typically 5V)
- The internal layout allows airflow for accurate sensor readings
Final Closure
Once all functions are confirmed:
- Secure the enclosure with screws using threaded inserts
From Data to Action: Let the Fresh Air In










.jpeg)
