ESP32 Indoor Air Quality Module

Goal
Design and implement a 55×45 mm, 2-layer USB-C ESP32-C5 IAQ monitor featuring:
  • STCC4 + SHT41 (SHT41 on STCC4 compensation bus SDA_C/SCL_C)
  • PMS7003 UART PM sensor (via 1×6 header)
  • SSD1306 OLED (I²C via 1×4 header)
  • 3.3V Common-Anode RGB status LED (ASMB-MTB1-0B3A2)
  • AP2112K-3.3 LDO, polyfuse, USB ESD protection
  • Labeled test points and programming pads Deliver: schematic PDF, BOM CSV, Gerbers, drill, pick-and-place, and review notes.

HARD RULES FROM ESP32-C5-WROOM-1-N8R4 MODULE
  1. Native USB pins are fixed:
    • USB D− = GPIO13
    • USB D+ = GPIO14
  2. Do NOT consume strapping pins for peripherals (keep “clean” for reliable boot):
    • GPIO26, GPIO27, GPIO28 (boot mode)
    • GPIO25 and MTDI (SDIO edge)
    • GPIO7 (JTAG source select)
  3. IO15 is NOT usable on this PSRAM module (it is SPICS1). Do not assign anything to IO15.
  4. Regular I²C pins can be assigned to any GPIOs via the GPIO matrix, but we will lock clean pins.

Final GPIO Plan (LOCK THIS) USB (Native)
  • GPIO13 = USB_DN (D−)
  • GPIO14 = USB_DP (D+)
Main I²C Bus (STCC4 + OLED)
  • GPIO4 = I2C_SDA
  • GPIO5 = I2C_SCL
  • Add 4.7k pull-ups from SDA and SCL to 3V3.
PMS7003 (UART @ 9600)
  • GPIO23 = UART_RX (ESP RX ← PMS TXD)
  • GPIO24 = UART_TX (ESP TX → PMS RXD)
  • GPIO8 = PMS_SET (sleep / wake control) [optional but recommended]
RGB Status LED (ASMB-MTB1-0B3A2, COMMON ANODE, 3.3V)
  • GPIO6 = LED_R (PWM sink)
  • GPIO9 = LED_G (PWM sink)
  • GPIO10 = LED_B (PWM sink)
User + Boot/Reset
  • GPIO0 = USER_BTN (active-low to GND, 10k pull-up to 3V3)
  • EN pin: 10k pull-up to 3V3 + 1µF to GND (RC delay), plus RESET button EN→GND
  • Optional BOOT button: GPIO28 → GND ONLY (do not use GPIO28 for anything else)
Debug Pads (recommended)
  • Expose UART0 pads:
    • GPIO11 = U0TXD (pad)
    • GPIO12 = U0RXD (pad)
  • Also expose: EN, GPIO28, 3V3, GND.

Component Selection (Final)
  • U1: ESP32-C5-WROOM-1-N8R4
  • U2: STCC4-D-R3
  • U3: SHT41-AD1B-R3 (connect ONLY to STCC4 SDA_C/SCL_C)
  • U4: AP2112K-3.3TRG1 (3.3V LDO)
  • J1: USB-C receptacle (USB2.0)
  • F1: Polyfuse (500mA is OK; 750mA optional margin)
  • U5: USBLC6-2SC6 (USB ESD on D+/D−) placed near connector
  • J2: PMS7003 1×6 header
  • J3: OLED 1×4 header
  • D1: ASMB-MTB1-0B3A2 RGB LED (common anode)
Passives:
  • CC resistors: 2× 5.1kΩ (CC1→GND and CC2→GND)
  • I²C pull-ups: 2× 4.7kΩ (SDA/SCL→3V3)
  • USER button pull-up: 10kΩ
  • EN pull-up: 10kΩ + EN cap 1µF
  • RGB LED resistors (per cathode; NO resistor on common anode):
    • R_R = 680Ω from LED_R cathode to GPIO6
    • R_G = 220Ω from LED_G cathode to GPIO9
    • R_B = 220Ω from LED_B cathode to GPIO10 Capacitors:
  • LDO input: 10µF close to VIN
  • LDO output: 10µF + 100nF close to VOUT
  • 100nF decoupling near ESP32 3V3, STCC4 VDD/VDDIO, SHT41 VDD
  • Optional 100nF near OLED header VCC

Schematic Wiring (MUST FOLLOW) USB-C
  • VBUS → F1 polyfuse → +5V_USB net
  • GND → GND
  • D+ → USBLC6-2SC6 → GPIO14
  • D− → USBLC6-2SC6 → GPIO13
  • CC1 → 5.1kΩ → GND
  • CC2 → 5.1kΩ → GND
Power
  • +5V_USB → AP2112K VIN
  • AP2112K VOUT → +3V3 rail (ESP32, STCC4, SHT41, OLED)
I²C Topology (IMPORTANT)
  • ESP32 GPIO4/5 → STCC4 SDA/SCL (main I²C) + OLED header SDA/SCL
  • STCC4 SDA_C/SCL_C → SHT41 SDA/SCL (dedicated compensation bus ONLY)
PMS7003 Header (1×6)
  • VCC = +5V_USB
  • GND = GND
  • SET = GPIO8 (optional 10k pull-up to 3V3 if needed)
  • RXD = GPIO24 (ESP TX)
  • TXD = GPIO23 (ESP RX)
  • GND = GND
RGB LED (Common Anode)
  • LED common anode pin → +3V3
  • Each cathode → series resistor → assigned GPIO (GPIO6/9/10) sinking current with PWM

PCB Layout Requirements (55×45mm, 2-Layer)
  • Bottom layer: solid GND plane as continuous as possible.
  • USB-C on board edge. Place USBLC6-2SC6 close to USB connector.
  • Place polyfuse and LDO near USB-C; provide copper pour around LDO for heat spreading.
  • Place ESP32-C5 centrally with strict antenna keep-out:
    • No copper, no traces, no components under antenna zone on BOTH layers.
  • Place STCC4 + SHT41 near board edge for airflow; keep away from LDO/ESP32 heat.
  • Place OLED header on an edge; PMS header on an edge.
  • Place RGB LED on top side where visible.
  • Add accessible labeled test points.

Test Points (Silkscreen Labels)
  • TP1: +5V_USB
  • TP2: +3V3
  • TP3: GND
  • TP4: I2C_SDA (GPIO4)
  • TP5: I2C_SCL (GPIO5)
  • TP6: PMS_UART_RX (GPIO23)
  • TP7: EN
  • TP8: GPIO28 (BOOT)

Pre-Production Checks and Exports
  1. Run ERC/DRC and fix all issues.
  2. Confirm NO peripherals on strapping pins (GPIO25/26/27/28, GPIO7, MTDI/MTMS).
  3. Confirm IO15 unused.
  4. Confirm USB D+/D− routing short and symmetric.
  5. Export:
    • Schematic PDF
    • BOM CSV with MPNs
    • Gerbers + drill
    • Pick-and-place
    • Review notes: thermals, antenna keep-out, ESD placement, strap-pin safety, connector orientation.
Success Criteria
  • Correct nets/pins, production files exported, layout meets antenna keep-out and 55×45mm size, and review notes indicate readiness to fab.
Your goal is to implement the exact 55×45 mm, 2‑layer ESP32‑C5 IAQ monitor with USB‑C, OLED, PMS7003, STCC4+SHT41, and a common‑anode RGB LED, then export all files.
  • Plan to execute:
    1. Add all parts/passives and programming pads; lock USB D−=GPIO13, D+=GPIO14; avoid strap pins; IO15 unused.
    2. Wire schematic exactly per your netlist (I2C pulls, STCC4↔SHT41 bus, PMS UART on GPIO23/24, RGB LED resistors to GPIO6/9/10, EN RC, CC 5.1k, ESD).
    3. PCB layout: 55×45 mm, strict antenna keep‑out both layers; power block by USB‑C; sensors at edge and ≥10–15 mm from LDO/MCU; solid bottom GND; labeled test pads.
    4. Reviews & exports: ERC/DRC, availability; verify strap rules; export schematic PDF, BOM CSV, Gerbers+drill, P&P; compile review notes.
  • Note: Based on Flux knowledge base guidance, I will include programming pads (U0TXD GPIO11, U0RXD GPIO12, EN, GPIO28, 3V3, GND) for reliable post‑assembly flashing.
Click Start on the plan bar to begin execution.
Start with symbols and footprints
Lock in the USB-C and protection
Clarify PMS7003 header pin order
Help with EN/BOOT circuitry details
Ask about routing constraints
No schematic yet

Talk to Flux to get started.



  • Generic Inductor
    A generic fixed inductor suitable for rapid circuit topology development. The footprint automatically adapts based on the selected package, supporting standard SMD sizes (e.g., 0402, 0603, 0805) as well as well-known inductor packages such as SDR1806, PA4320, SRN6028, and SRR1260. Standard inductor values: 1.0 nH, 10 nH, 100 nH, 1.0 µH, 10 µH, 100 µH, 1.0 mH 1.2 nH, 12 nH, 120 nH, 1.2 µH, 12 µH, 120 µH, 1.2 mH 1.5 nH, 15 nH, 150 nH, 1.5 µH, 15 µH, 150 µH, 1.5 mH 1.8 nH, 18 nH, 180 nH, 1.8 µH, 18 µH, 180 µH, 1.8 mH 2.2 nH, 22 nH, 220 nH, 2.2 µH, 22 µH, 220 µH, 2.2 mH 2.7 nH, 27 nH, 270 nH, 2.7 µH, 27 µH, 270 µH, 2.7 mH 3.3 nH, 33 nH, 330 nH, 3.3 µH, 33 µH, 330 µH, 3.3 mH 3.9 nH, 39 nH, 390 nH, 3.9 µH, 39 µH, 390 µH, 3.9 mH 4.7 nH, 47 nH, 470 nH, 4.7 µH, 47 µH, 470 µH, 4.7 mH 5.6 nH, 56 nH, 560 nH, 5.6 µH, 56 µH, 560 µH, 5.6 mH 6.8 nH, 68 nH, 680 nH, 6.8 µH, 68 µH, 680 µH, 6.8 mH 8.2 nH, 82 nH, 820 nH, 8.2 µH, 82 µH, 820 µH, 8.2 mH #generics #CommonPartsLibrary
  • Generic Capacitor
    A generic fixed capacitor ideal for rapid circuit topology development. You can choose between polarized and non-polarized types, its symbol and the footprint will automatically adapt based on your selection. Supported options include standard SMD sizes for ceramic capacitors (e.g., 0402, 0603, 0805), SMD sizes for aluminum electrolytic capacitors, and through-hole footprints for polarized capacitors. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard capacitor values: 1.0pF, 10pF, 100pF, 1000pF, 0.01uF, 0.1uF, 1.0uF, 10uF, 100uF, 1000uF, 10000uF 1.1pF, 11pF, 110pF, 1100pF 1.2pF, 12pF, 120pF, 1200pF 1.3pF, 13pF, 130pF, 1300pF 1.5pF, 15pF, 150pF, 1500pF, 0.015uF, 0.15uF, 1.5uF, 15uF, 150uF, 1500uF 1.6pF, 16pF, 160pF, 1600pF 1.8pF, 18pF, 180pF, 1800pF 2.0pF, 20pF, 200pF, 2000pF 2.2pF, 22pF, 220pF, 2200pF, 0.022uF, 0.22uF, 2.2uF, 22uF, 220uF, 2200uF 2.4pF, 24pF, 240pF, 2400pF 2.7pF, 27pF, 270pF, 2700pF 3.0pF, 30pF, 300pF, 3000pF 3.3pF, 33pF, 330pF, 3300pF, 0.033uF, 0.33uF, 3.3uF, 33uF, 330uF, 3300uF 3.6pF, 36pF, 360pF, 3600pF 3.9pF, 39pF, 390pF, 3900pF 4.3pF, 43pF, 430pF, 4300pF 4.7pF, 47pF, 470pF, 4700pF, 0.047uF, 0.47uF, 4.7uF, 47uF, 470uF, 4700uF 5.1pF, 51pF, 510pF, 5100pF 5.6pF, 56pF, 560pF, 5600pF 6.2pF, 62pF, 620pF, 6200pF 6.8pF, 68pF, 680pF, 6800pF, 0.068uF, 0.68uF, 6.8uF, 68uF, 680uF, 6800uF 7.5pF, 75pF, 750pF, 7500pF 8.2pF, 82pF, 820pF, 8200pF 9.1pF, 91pF, 910pF, 9100pF #generics #CommonPartsLibrary
  • Generic Resistor
    A generic fixed resistor ideal for rapid circuit topology development. Its footprint automatically adapts based on the selected package case code—supporting 0402, 0603, 0805, 1203, and many other standard SMD packages, as well as axial horizontal and vertical configurations. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard resistor values: 1.0 ohm, 10 ohm, 100 ohm, 1.0k ohm, 10k ohm, 100k ohm, 1.0M ohm 1.1 ohm, 11 ohm, 110 ohm, 1.1k ohm, 11k ohm, 110k ohm, 1.1M ohm 1.2 ohm, 12 ohm, 120 ohm, 1.2k ohm, 12k ohm, 120k ohm, 1.2M ohm 1.3 ohm, 13 ohm, 130 ohm, 1.3k ohm, 13k ohm, 130k ohm, 1.3M ohm 1.5 ohm, 15 ohm, 150 ohm, 1.5k ohm, 15k ohm, 150k ohm, 1.5M ohm 1.6 ohm, 16 ohm, 160 ohm, 1.6k ohm, 16k ohm, 160k ohm, 1.6M ohm 1.8 ohm, 18 ohm, 180 ohm, 1.8K ohm, 18k ohm, 180k ohm, 1.8M ohm 2.0 ohm, 20 ohm, 200 ohm, 2.0k ohm, 20k ohm, 200k ohm, 2.0M ohm 2.2 ohm, 22 ohm, 220 ohm, 2.2k ohm, 22k ohm, 220k ohm, 2.2M ohm 2.4 ohm, 24 ohm, 240 ohm, 2.4k ohm, 24k ohm, 240k ohm, 2.4M ohm 2.7 ohm, 27 ohm, 270 ohm, 2.7k ohm, 27k ohm, 270k ohm, 2.7M ohm 3.0 ohm, 30 ohm, 300 ohm, 3.0K ohm, 30K ohm, 300K ohm, 3.0M ohm 3.3 ohm, 33 ohm, 330 ohm, 3.3k ohm, 33k ohm, 330k ohm, 3.3M ohm 3.6 ohm, 36 ohm, 360 ohm, 3.6k ohm, 36k ohm, 360k ohm, 3.6M ohm 3.9 ohm, 39 ohm, 390 ohm, 3.9k ohm, 39k ohm, 390k ohm, 3.9M ohm 4.3 ohm, 43 ohm, 430 ohm, 4.3k ohm, 43K ohm, 430K ohm, 4.3M ohm 4.7 ohm, 47 ohm, 470 ohm, 4.7k ohm, 47k ohm, 470k ohm, 4.7M ohm 5.1 ohm, 51 ohm, 510 ohm, 5.1k ohm, 51k ohm, 510k ohm, 5.1M ohm 5.6 ohm, 56 ohm, 560 ohm, 5.6k ohm, 56k ohm, 560k ohm, 5.6M ohm 6.2 ohm, 62 ohm, 620 ohm, 6.2k ohm, 62K ohm, 620K ohm, 6.2M ohm 6.8 ohm, 68 ohm, 680 ohm, 6.8k ohm, 68k ohm, 680k ohm, 6.8M ohm 7.5 ohm, 75 ohm, 750 ohm, 7.5k ohm, 75k ohm, 750k ohm, 7.5M ohm 8.2 ohm, 82 ohm, 820 ohm, 8.2k ohm, 82k ohm, 820k ohm, 8.2M ohm 9.1 ohm, 91 ohm, 910 ohm, 9.1k ohm, 91k ohm, 910k ohm, 9.1M ohm #generics #CommonPartsLibrary
  • Ground
    A common return path for electric current. Commonly known as ground.
  • Terminal
    Terminal
    An electrical connector acting as reusable interface to a conductor and creating a point where external circuits can be connected.
  • Net Portal
    Wirelessly connects nets on schematic. Used to organize schematics and separate functional blocks. To wirelessly connect net portals, give them same designator. #portal
  • RMCF0805JT47K0
    General Purpose Thick Film Standard Power and High-Power Chip Resistor 47 kOhms ±5% 0.125W, 1/8W Chip Resistor 0805 (2012 Metric) Automotive AEC-Q200 Thick Film Features: - RMCF – standard power ratings - RMCP – high power ratings - Nickel barrier terminations standard - Power derating from 100% at 70ºC to zero at +155ºC - RoHS compliant, REACH compliant, and halogen free - AEC-Q200 compliant
  • 875105359001
    10 µF 16 V Aluminum - Polymer Capacitors Radial, Can - SMD 30mOhm 2000 Hrs @ 105°C #commonpartslibrary #capacitor #aluminumpolymer #radialcan
  • CTL1206FYW1T
    Yellow 595nm LED Indication - Discrete 1.7V 1206 (3216 Metric)
  • 1070TR
    Battery Holder (Open) Coin, 20.0mm 1 Cell SMD (SMT) Tab bate or batt #forLedBlink

Worthwhile Green Speeder Bike

Worthwhile Green Speeder Bike thumbnail
USB-Powered ESP32-C5 Indoor Air Quality Monitor with STCC4 CO2/SHT41 (I2C), PMS7003 (UART), AP2112K 3.3V LDO, Polyfuse Protection on 55×45 mm 2-Layer PCB

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Controls