CO2 Meter


Demo Complete

The demo is finished. It didn't use any of your included AI usage. This is a real Flux project now, you can continue working on it.


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