CO2 Meter

Created 5 project docs

Firmware Starter — ESP32-S3-MINI-1-N8

View Document

MCU: U1, ESP32-S3-MINI-1-N8 Framework: Arduino via PlatformIO

Schematic Verification Report — USB CO2 Air Monitor

View Document

Schematic-level electrical checks passed for the selected ERC/passive/component review set after wiring and no-connect cleanup. USB-C input ...

Board Bring-Up Plan — USB CO2 Air Monitor

View Document

Equipment: USB current meter or current-limited 5 V supply, DMM, oscilloscope if available, USB-C cable, computer with PlatformIO/esptool. F...

Technical Construction File Notes — USB CO2 Air Monitor

View Document

Draft notes for a USB desktop product containing an ESP32-S3 Wi-Fi/BLE module. Wireless firmware is disabled by default in the starter firmw...
Show 1 More
Completed the schematic for the USB-powered desktop CO₂ monitor and verified the schematic-focused ERC/passive/component checks are clean. Key docs are here: Schematic Verification Report, Schematic Wiring Summary, Firmware Starter, Board Bring-Up Plan, and Power Budget Analysis.
Open items:
  • PCB layout/routing is not started, so board DRC airwires are expected.
  • Generic passives still need final package/MPN selection before manufacturing.
  • ESP32 antenna keepout must be enforced during layout.
Suggested next steps:
  1. Set compact board size/stackup and place components.
  2. Route USB, I2C, power, and LED nets.
  3. Assign production MPNs/footprints to generic passives.
  4. Run full PCB DRC and prepare manufacturing outputs.
Layout and production prep
Start PCB layout
Assign passive MPNs
Route the board
Run layout DRC

Demo Complete

The demo is finished. It didn't use any ACUs. You can now continue working with this project like normal.

D8
U1
U4
J1
U3
U2
U1 GND - U1 GND
U1 IO4 - U2 SDA
U1 GND - U1 GND
J1 SHIELD - J1 SHIELD__1
J1 CC1 - R10 P1
U1 RXD0 - J2 JTMS
U1 IO4 - U2 SDA
U1 IO5 - U2 SCL
J1 SHIELD - J1 SHIELD__1
J1 DN2 - D8 I/O2
U3 SPI_SC - J2 JTCK
U1 GND - U1 GND
R17 P2 - D1 GREEN_CATHODE
U1 GND - U1 GND
J1 CC2 - R11 P1
U4 VOUT - U1 3V3
U4 VOUT - U1 3V3
U1 GND - U1 GND
U1 GND - U1 GND
J1 DP1 - J1 DP2
J1 SHIELD - J1 SHIELD__1
GND
U1 GND - U1 GND
U1 GND - U1 GND
U4 VOUT - U1 3V3
U4 VOUT - U1 3V3
U4 EN - C8 P1
U1 GND - U1 GND
U1 GND - U1 GND
J1 DN2 - D8 I/O2
U1 IO4 - U2 SDA
U4 VOUT - U1 3V3
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U4 VOUT - U1 3V3
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U1 GND - U1 GND
F1 P2 - U4 VIN
R18 P2 - D1 BLUE_CATHODE
U1 EN - R14 P2
U1 IO9 - U3 RESET
U1 GND - U1 GND
U1 IO5 - U2 SCL
U1 EN - R14 P2
U1 TXD0 - J2 JTDO
J1 SHIELD - J1 SHIELD__1
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U1 GND - U1 GND
U1 IO8 - R18 P1
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
R16 P2 - D1 RED_CATHODE
U4 VOUT - U1 3V3
U1 GND - U1 GND
U1 GND - U1 GND
U1 GND - U1 GND
U1 GND - U1 GND
GND
U1 IO0 - R15 P2
U4 VOUT - U1 3V3
U1 GND - U1 GND
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U1 TXD0 - J2 JTDO
U4 EN - C8 P1
U1 GND - U1 GND
U1 IO6 - R16 P1
U1 GND - U1 GND
U1 GND - U1 GND
U1 IO0 - R15 P2
J1 DP1 - J1 DP2
F1 P2 - U4 VIN
J1 VBUS__1 - F1 P1
U1 IO0 - R15 P2
U1 GND - U1 GND
U1 IO4 - U2 SDA
U4 EN - C8 P1
J1 DN2 - D8 I/O2
U1 EN - R14 P2
U1 GND - U1 GND
U4 VOUT - U1 3V3
U1 IO6 - R16 P1
U1 IO8 - R18 P1
U4 VOUT - U1 3V3
U4 VOUT - U1 3V3
U1 IO5 - U2 SCL
U4 VOUT - U1 3V3
J1 DP1 - J1 DP2
U4 VOUT - U1 3V3
U1 GND - U1 GND
U1 RXD0 - J2 JTMS
U1 IO7 - R17 P1
J1 DP1 - J1 DP2
U1 IO9 - U3 RESET
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U1 GND - U1 GND
U1 IO0 - R15 P2
U3 SPI_SC - J2 JTCK
R17 P2 - D1 GREEN_CATHODE
U1 IO5 - U2 SCL
J1 DP1 - J1 DP2
J1 VBUS__1 - F1 P1
U1 GND - U1 GND
U1 EN - R14 P2
U4 EN - C8 P1
J1 DN2 - D8 I/O2
R16 P2 - D1 RED_CATHODE
U1 GND - U1 GND
J1 SHIELD - J1 SHIELD__1
U1 IO7 - R17 P1
U1 GND - U1 GND
J1 CC2 - R11 P1
U1 GND - U1 GND
R18 P2 - D1 BLUE_CATHODE
U1 GND - U1 GND
J1 CC1 - R10 P1
J1 SHIELD - J1 SHIELD__1
U4 VOUT - U1 3V3
U1 GND - U1 GND
J1 SHIELD - J1 SHIELD__1
U1 GND - U1 GND
U1 GND - U1 GND
U1 EN - R14 P2
U4 VOUT - U1 3V3
U4 VOUT - U1 3V3
U1 GND - U1 GND
R15
Resistance
10kΩ
C14
Capacitance
100nF
R11
Resistance
5.1kΩ
C8
Capacitance
1µF
C15
Capacitance
1µF
SW4
R14
Resistance
10kΩ
R13
Resistance
4.7kΩ
C11
Capacitance
10µF
C13
Capacitance
1µF
R10
Resistance
5.1kΩ
C16
Capacitance
10µF
R17
Resistance
150Ω
C10
Capacitance
10µF
SW3
R12
Resistance
4.7kΩ
F1
R16
Resistance
330Ω
C12
Capacitance
100nF
R18
Resistance
150Ω
D1
J2

Refine this doc
Ask about this doc
Board Bring-Up Plan — USB CO2 Air Monitor
Prerequisites
  • Equipment: USB current meter or current-limited 5 V supply, DMM, oscilloscope if available, USB-C cable, computer with PlatformIO/esptool.
  • Firmware: use the Firmware Starter document for build/flash steps.
  • Safety: USB_5V maximum is standard USB 5 V; do not inject more than 6 V into U4 VIN/AP2112.
1. Visual Inspection
  • Verify U1 ESP32-S3-MINI-1-N8 orientation and antenna area.
  • Verify U2 SCD41 orientation and that its membrane is not touched or covered.
  • Check J1 USB-C pins for bridges.
  • Check D1 RGB LED orientation; it is common-anode to 3V3.
  • Confirm F1, U4, D8, SW3, SW4, R10-R18, and C8/C10-C16 are populated.
2. Power Rail Verification

Table


RailSourceExpected VoltageToleranceMeasure AtCurrent LimitPass Criteria
VBUS_RAWJ1 VBUS before F15.0 VUSB toleranceJ1 VBUS / F1 P1500 mA initial4.75–5.25 V
USB_5VF1 output5.0 V minus PTC dropUSB toleranceF1 P2 / U4 VIN500 mA initial>4.5 V during idle
3V3U4 AP2112K-3.33.3 V±1.5% nominal regulatorU4 VOUT / U1 3V3 / U2 VDD500 mA initial3.25–3.35 V idle
Procedure:
  1. With no power, measure resistance from USB_5V to GND and 3V3 to GND; confirm no hard short.
  2. Power from a current-limited USB source.
  3. Confirm USB_5V, then 3V3, before attempting firmware upload.
  4. During SCD41 measurements, watch 3V3 for droop; it should remain stable through sensor pulses.
3. Critical Signal Verification

Table


SignalNetExpected StateMeasure AtNotes
ESP32 enableESP_ENHigh after power-upU1 EN / R14 / SW4SW4 pulls low for reset; C13 gives startup delay
Boot strapESP_BOOT_IO0High normally, low when SW3 heldU1 IO0 / R15 / SW3Hold low during reset for download mode
USB dataUSB_DP/USB_DNUSB activity during enumerationJ1/D8/U1 IO20/IO19Keep traces short in final PCB
I2C SDA/SCLI2C_SDA/I2C_SCLIdle high at 3.3 VR12/R13/U2/U3100 kHz starter firmware
4. Connector and Interface Tests

Table


ConnectorTypePins to VerifyTest Method
J1USB-C receptacleVBUS, GND, CC1/CC2, DP/DNContinuity to F1, GND, R10/R11, D8/U1
J21x6 debug/service header3V3, GND, TXD0, RXD0, IO0, ENContinuity and serial output
5. Programming and Debug Interface

Table


InterfaceSignalsConnectorTool
Native USB Serial/JTAGUSB_DP/USB_DNJ1PlatformIO/esptool
UART0 serviceUART0_TXD/UART0_RXD plus IO0/ENJ23.3 V USB-UART adapter
Procedure:
  1. Connect USB-C to J1 and confirm serial device enumerates.
  2. Flash firmware with pio run -t upload.
  3. If upload fails, hold SW3, tap SW4, release SW3, and retry.
  4. Confirm serial monitor at 115200 baud reports SCD41 serial number and CO2 readings.
6. Functional Validation

Table


TestComponentsInputExpected OutputPass Criteria
I2C scanU1, U2, U3Firmware bootU2 at 0x62, OLED at 0x3CBoth devices detected
CO2 measurementU2 SCD41Ambient airCO2 ppm after warm-upPlausible indoor reading, typically 400–2000 ppm
OLED displayU3Firmware drawppm and status textStable visible readout
RGB indicatorD1/R16-R18CO2 thresholdsGreen/yellow/redCorrect threshold color
Reset/bootSW3/SW4Button pressesReset/download behaviorUpload succeeds and reset restarts firmware
Pass/Fail Summary

Table


Test SectionResultNotes
Visual Inspection[ ] Pass / [ ] Fail
Power Rails[ ] Pass / [ ] Fail
Critical Signals[ ] Pass / [ ] Fail
Connectors[ ] Pass / [ ] Fail
Programming[ ] Pass / [ ] Fail
Functional Validation[ ] Pass / [ ] Fail
Board Status: [ ] Ready for enclosure/layout validation / [ ] Requires rework
  • Prerequisites

  • 1. Visual Inspection

  • 2. Power Rail Verification

  • 3. Critical Signal Verification

  • 4. Connector and Interface Tests

  • 5. Programming and Debug Interface

  • 6. Functional Validation

  • Pass/Fail Summary

USB CO2 Air Monitor

USB CO2 Air Monitor thumbnail
Compact USB-powered desktop CO₂ air quality monitor using an NDIR CO₂ sensor, microcontroller, OLED display, and visual good/moderate/poor status indication.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$16.68–$17.37

Digi-Key

$0.57

HQonline

$0.30–$0.40

LCSC

$6.16–$6.34

Mouser

$25.51

TME

$0.68

Verical

$23.61–$53.66

Controls