USB CO2 Monitor Design

Created 2 project docs

Firmware Starter — RP2040 USB CO₂ Air Quality Monitor

View Document

MCU: RP2040 Framework: Arduino-Pico core via PlatformIO

Board Bring-Up Plan — USB CO₂ Air Quality Monitor

View Document

Equipment: multimeter, current-limited USB 5 V bench source or USB power meter, oscilloscope if available, USB cable, optional SWD debugger....
Completed the schematic for the USB-powered desktop CO₂ monitor: RP2040 MCU, Sensirion SCD30 NDIR CO₂ module, I²C OLED header, RGB status LED, USB-C power/data input, 3.3 V regulation, protection, decoupling, BOOT/RESET, SWD, and test points. Verification found and fixed missing duplicate RP2040 power-pin connections; the remaining blocker is that the formal review service returned a project-context error, so a final ERC should be re-run when available.
Open items:
  • Formal ERC/check service returned “Project not found / No project context available.”
  • PCB layout has not started yet.
  • OLED is implemented as a 4-pin SSD1306-compatible module/header, not a raw OLED flex design.
Suggested next steps:
  1. Re-run formal ERC once the check service is available.
  2. Start compact PCB placement with airflow exposure for the SCD30 and visible OLED placement.
  3. Route the board and run DRC.
  4. Use the created firmware starter and bring-up plan for prototype validation.
Review then layout
Start PCB placement
Run schematic review
Check BOM availability
Prepare layout constraints
D1
U3
U4
J1
R2
Resistance
5.1kΩ
C17
Capacitance
100nF
C3
Capacitance
10uF
C11
Capacitance
100nF
C2
Capacitance
1uF
C1
Capacitance
1uF
C13
Capacitance
1uF
C10
Capacitance
100nF
C18
Capacitance
100nF
C14
Capacitance
100nF
C8
Capacitance
100nF
R11
Resistance
10kΩ
C9
Capacitance
100nF
R1
Resistance
5.1kΩ
C16
Capacitance
15pF
R3
Resistance
27Ω
C12
Capacitance
1uF
R12
Resistance
1kΩ
R5
Resistance
4.7kΩ
C6
Capacitance
100nF
C15
Capacitance
15pF
C20
Capacitance
1uF
R9
Resistance
330Ω
C5
Capacitance
100nF
R10
Resistance
1kΩ
R6
Resistance
4.7kΩ
C4
Capacitance
100nF
C7
Capacitance
100nF
C19
Capacitance
100uF
R7
Resistance
330Ω
R8
Resistance
330Ω
R4
Resistance
27Ω
F1
TP3
D2
U1
L1
Inductance
Inductance
TP8
TP5
TP6
TP7
U2
TP1
J2
J3
TP4
TP2
SW2
LED1
SW1
Y1

Refine this doc
Ask about this doc
Project Specification — USB CO₂ Air Quality Monitor
Project Overview
  • Status: Draft schematic implementation
  • Device: Compact USB-powered desktop CO₂ air quality monitor.
  • Purpose: Continuously measure indoor CO₂ concentration and show real-time ppm plus good/moderate/poor visual status.
Intended Use
  • Desktop indoor air-quality monitor powered from a standard USB 5 V source.
  • Prototype / clean intermediate-level design emphasizing reliable measurement and available components over minimum cost.
What the Device Should Do
  • Measure indoor CO₂ concentration using an accurate NDIR sensor.
  • Display CO₂ concentration in ppm on a small local display.
  • Indicate air-quality category visually: good, moderate, poor.
  • Support firmware programming/debug and first-board bring-up.
Main Features
  • NDIR CO₂ sensor module, preferred architecture: Sensirion SCD30-class I²C module.
  • Native-USB microcontroller, preferred architecture: RP2040-class MCU.
  • I²C OLED display, preferred architecture: SSD1306-compatible 128x64 module/header.
  • RGB/status LED indication.
  • USB-C 5 V input with CC pull-downs, ESD protection, and 3.3 V regulation.
  • SWD/programming access, reset/boot controls, and useful test points.
System Architecture

Diagram


I2C SDA/SCL I2C SDA/SCL USB-C 5 V Input USB Protection 3.3 V Regulator RP2040-class MCU NDIR CO2 Sensor I2C OLED Display RGB Status LED SWD / Boot / Reset
Hardware Subsystems
  • Power: USB 5 V input, protected VBUS rail, 3.3 V LDO sized for MCU, sensor, OLED, flash, and LEDs.
  • Compute: RP2040-class MCU with external QSPI flash, crystal, reset/boot controls, USB data, and SWD header.
  • Sensor: NDIR CO₂ sensor module on 3.3 V I²C bus.
  • Display: Small I²C OLED module/header on shared I²C bus.
  • Indicators: RGB/status LED driven by GPIO through current-limiting resistors.
  • Programming/debug: USB bootloader support plus SWD header.
Interfaces and Connections
  • USB-C: VBUS, GND, CC1/CC2 sink resistors, USB D+/D− to MCU.
  • I²C bus: MCU SDA/SCL to CO₂ sensor and OLED, one shared pull-up pair to 3.3 V.
  • GPIO: RGB LED channels.
  • Debug: SWDIO, SWCLK, 3.3 V reference, GND, reset.
Power and Runtime Expectations
  • USB powered only; no battery or charger.
  • Standard 5 V input assumed from USB host or wall adapter.
  • Design target peak current below USB 2.0 500 mA limit.
Power Tree and Power Budget

Table


RailLoadsEstimated TypicalEstimated Peak
USB 5 V3.3 V LDO input~90 mA1500 ppm.
  • Provide USB serial debug output.
Physical Design Expectations
  • Compact desktop form factor.
  • CO₂ sensor must have airflow exposure; keep enclosure vents and avoid placing heat sources directly under/next to the sensing chamber.
  • Display should be visible from the front/top; USB connector accessible at the rear/side.
Important Design Decisions
  • Use an NDIR module rather than a bare optical CO₂ IC to reduce calibration, optics, and assembly risk.
  • Use a native-USB MCU so USB can power and program the board.
  • Use a shared 3.3 V I²C bus to avoid level shifting.
  • Use conservative LED currents to keep USB/LDO heat modest.
Assumptions
  • SCD30-class module or equivalent NDIR CO₂ sensor is acceptable.
  • OLED module/header is acceptable rather than designing a raw OLED flex interface in this schematic pass.
  • No wireless connectivity is required.
Change Notes
  • Initial specification created before schematic implementation.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • Interfaces and Connections

  • Power and Runtime Expectations

  • Power Tree and Power Budget

  • Manufacturing and Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Physical Design Expectations

  • Important Design Decisions

  • Assumptions

  • Change Notes

USB CO2 Air Quality Monitor

USB CO2 Air Quality Monitor thumbnail
Compact USB-C powered desktop CO2 monitor using an RP2040, Sensirion SCD30 NDIR sensor, 3.3V I2C OLED header, and RGB air-quality indication, with native USB boot and SWD debug.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$32.06–$42.19

Digi-Key

$0.15

HQonline

$2.50–$2.66

LCSC

$6.41–$7.15

Mouser

$45.61–$45.82

TME

$3.20–$3.32

Verical

$38.85–$77.15

Controls