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.

WhatsApp Image 2025-07-18 at 17.08.51.jpeg
KP105526.JPG
KP105670.JPG

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

  1. ESP32 (AZ Delivery Wroom)
  2. SCD41 CO₂ Sensor (Sensirion)
  3. SSD1309 OLED Display (128x64)
  4. 2× 18650 Batteries
  5. 18650 Battery Holder
  6. USB-C Charging Module (e.g., TP4056)
  7. Up Voltage Module (e.g., XL6009E1)
  8. Power Switch
  9. Jumper Wires
  10. Screws
  11. Threaded Inserts
  12. 2–3 mm Plexiglass (for laser-cut top panel)
  13. 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

IMG_6096.JPG
IMG_6097.JPG
IMG_6098.JPG
IMG_6099.JPG
IMG_6119.JPG

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:

  1. Infill: 15%
  2. Wall lines: 4
  3. Nozzle:
  4. 0.4 mm for larger components (shell, base)
  5. 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.


Upload Code to the ESP32

Before assembling, upload your code to the ESP32 to confirm it works.

  1. Connect the ESP32 to your computer via USB.
  2. Open Arduino IDE.
  3. Set the board to ESP32 Dev Module under Tools → Board.
  4. Select the correct COM port.
  5. Upload your code

After uploading, open the Serial Monitor and confirm that the ESP32 is running correctly and detecting the sensor and display.


Assemble and Mount Electronics

tom working.jpeg
inside.png
ELECTRONICS-1.png
HOLDERS-1.png
BOTTOM HIDDEN-1.png
BOTTOM-1.png

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:

  1. ESP32 board
  2. SSD1309 OLED Display
  3. SCD41 CO₂ Sensor
  4. Battery Holder
  5. USB-C Charging Module
  6. Boost Converter
  7. Power Switch

Route and connect all wiring carefully:

  1. OLED display to ESP32
  2. SCD41 sensor to ESP32
  3. 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:

  1. Heat a soldering iron to 200–220°C
  2. Press each insert into the designated 3D-printed hole
  3. Let it cool until solid

It is best to complete this step before placing sensitive electronics to avoid thermal damage.

Power On, Test, and Final Closure

KP105604.JPG
KP105612.JPG
KP105553.JPG
KP105520.JPG
KP105588.JPG

Initial Power-Up

Insert the 18650 batteries into the holder in parallel and turn on the switch. The OLED display should illuminate and show:

  1. CO₂ readings (ppm)
  2. Loading or status animations
  3. 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:

  1. The CO₂ sensor is returning data
  2. The display is responsive and readable
  3. The USB-C charging module functions as expected
  4. The up voltage module provides stable output (typically 5V)
  5. The internal layout allows airflow for accurate sensor readings

Final Closure

Once all functions are confirmed:

  1. Secure the enclosure with screws using threaded inserts



From Data to Action: Let the Fresh Air In

KP105655.JPG
KP105648.JPG
KP105526.JPG
KP105529.JPG
KP105534.JPG
KP105536.JPG
KP105540.JPG
WhatsApp Image 2025-07-18 at 17.08.52.jpeg
WhatsApp Image 2025-07-18 at 17.08.52.jpeg
WhatsApp Image 2025-07-18 at 17.08.50.jpeg
WhatsApp Image 2025-07-18 at 17.08.51 (2).jpeg
WhatsApp Image 2025-07-18 at 17.08.49.jpeg

Downloads