USB-C Sensor Node

Created 5 project docs

Project Specification — USB-C WiFi BLE T-RH Sensor

View Document

Status: Draft schematic complete / ready for review. A consumer USB-C powered environmental sensor node measuring temperature and relative h...

Design Notes and Power Budget — USB-C WiFi BLE T-RH Sensor

View Document

USB-C receptacle in 5 V sink/device mode. TPS25940LRVCR eFuse for OVP, UVLO, overcurrent, inrush control, fault telemetry, current monitor, ...

Firmware Starter — ESP32-C3-WROOM-02-N4

View Document

MCU/module: ESP32-C3-WROOM-02-N4 Framework: Arduino on PlatformIO

Board Bring-Up Plan — USB-C WiFi BLE T-RH Sensor

View Document

Equipment: USB current-limited bench supply or USB power meter, DMM, oscilloscope, USB-C cable, PlatformIO host. Firmware: see Firmware Star...
Show 1 More
I added project documentation: specification, power/design notes, firmware starter, bring-up plan, and FCC/CE notes. I’m running checks now and will fix any real schematic issues found.
Implemented the schematic for the USB-C powered Wi‑Fi/BLE temperature/humidity sensor node with ESP32-C3, SHT40, TPS25940 input protection, TPS62840 3.3 V buck, USB programming, CC current sensing, boot/reset, and status LED. ERC/passive checks are clean; remaining reported errors are expected pre-layout airwires and generic-passive MPNs to resolve before manufacturing.
Project files created:
Suggested next steps:
  1. Do PCB placement with ESP32 antenna keepout and SHT40 thermal isolation.
  2. Route USB D+/D−, buck power loop, and sensitive sensor/ADC nets.
  3. Assign production MPNs to generic passives.
  4. Run full DRC/manufacturing checks after layout.
Place, route, assign MPNs
Start PCB placement
Route critical nets
Assign passive MPNs
Run full checks
Review USB-C compliance
J1
U1
U3
D1
U4
U2
C1
Capacitance
1µF
J1 CC1 - R1 P1
U4 VSET - R20 P1
J1 VBUS__1 - D2 C
U1 IO5 - U2 SCL
R10 P2 - U1 IO19
C2
Capacitance
100nF
J1 VBUS__1 - D2 C
U1 IO2 - R5 P2
R17 P2 - R18 P2
U1 IO9 - R4 P2
U1 IO9 - R4 P2
U1 EN - R3 P2
U1 EN - R3 P2
R9 P2 - U1 IO18
R17 P2 - R18 P2
J1 CC2 - R2 P1
C7
Capacitance
4.7µF
U3 EN - R12 P2
U3 OUT - U3 OUT
U3 ILIM - R11 P1
U3 dVdT - C6 P1
U4 MODE - R21 P1
U3 ~{FLT} - R18 P1
U1 IO8 - R6 P2
U3 dVdT - C6 P1
U1 IO6 - R23 P1
R17 P2 - R18 P2
U1 IO9 - R4 P2
R10 P2 - U1 IO19
J1 VBUS__1 - D2 C
U1 IO8 - R6 P2
R9 P2 - U1 IO18
U3 OUT - U4 VIN
U3 EN - R12 P2
U4 STOP - R22 P1
U3 OUT - U3 OUT
U3 ILIM - R11 P1
U3 PGTH - R15 P2
U1 IO5 - U2 SCL
U3 PGOOD - R17 P1
U1 IO6 - R23 P1
U4 VSET - R20 P1
U4 MODE - R21 P1
J1 DN1 - J1 DN2
J1 DP1 - J1 DP2
U1 EN - R3 P2
U3 PGTH - R15 P2
J1 DN1 - J1 DN2
R17 P2 - R18 P2
R17 P2 - R18 P2
R25 P2 - U1 IO1
C6
Capacitance
1.5nF
C8
Capacitance
10µF
U1 IO4 - U2 SDA
R17 P2 - R18 P2
U3 PGOOD - R17 P1
R17 P2 - R18 P2
R23 P2 - D3 +
J1 VBUS__1 - D2 C
U3 IN - R12 P1
J1 VBUS__1 - D2 C
U1 IO4 - U2 SDA
R17 P2 - R18 P2
U4 SW - L1 P1
U1 IO4 - U2 SDA
U3 IMON - R19 P1
U1 EN - R3 P2
J1 CC1 - R1 P1
R17 P2 - R18 P2
J1 DP1 - J1 DP2
J1 DN1 - J1 DN2
U3 IMON - R19 P1
J1 DP1 - J1 DP2
J1 DP1 - J1 DP2
U3 IMON - R19 P1
R17 P2 - R18 P2
U3 OUT - U4 VIN
J1 VBUS__1 - D2 C
U4 SW - L1 P1
J1 VBUS__1 - D2 C
J1 CC1 - R1 P1
J1 CC2 - R2 P1
C3
Capacitance
100nF
J1 CC2 - R2 P1
J1 DN1 - J1 DN2
U1 IO5 - U2 SCL
R17 P2 - R18 P2
U1 IO2 - R5 P2
R17 P2 - R18 P2
R25 P2 - U1 IO1
U3 OUT - U4 VIN
U3 OVP - R13 P2
R17 P2 - R18 P2
U3 OUT - U4 VIN
U3 OVP - R13 P2
R17 P2 - R18 P2
J1 CC2 - R2 P1
J1 VBUS__1 - D2 C
C4
Capacitance
10µF
C5
Capacitance
100nF
U3 ~{FLT} - R18 P1
J1 DN1 - J1 DN2
R24 P2 - U1 IO0
U3 OVP - R13 P2
R23 P2 - D3 +
U3 OUT - U4 VIN
U3 OUT - U3 OUT
U1 IO9 - R4 P2
U3 IN - R12 P1
U3 PGTH - R15 P2
U3 PGOOD - R17 P1
U3 OUT - U3 OUT
R17 P2 - R18 P2
R17 P2 - R18 P2
U3 ~{FLT} - R18 P1
J1 CC1 - R1 P1
J1 DP1 - J1 DP2
U3 EN - R12 P2
U1 EN - R3 P2
U4 STOP - R22 P1
R24 P2 - U1 IO0
R23
Resistance
1kΩ
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
R3
Resistance
10kΩ
GND
U1 GND_6 - U1 GND_7
U1 GND_6 - U1 GND_7
U1 GND_10 - U2 VSS
R14
Resistance
100kΩ
R6
Resistance
10kΩ
R1
Resistance
5.1kΩ
R2
Resistance
5.1kΩ
GND
U1 GND_10 - U2 VSS
GND
U1 GND_10 - U2 VSS
R20
Resistance
267kΩ
R7
Resistance
4.7kΩ
U1 GND_6 - U1 GND_7
U1 GND_6 - U1 GND_7
R10
Resistance
22Ω
U1 GND_10 - U2 VSS
R21
Resistance
100kΩ
GND
R16
Resistance
100kΩ
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
R4
Resistance
10kΩ
R13
Resistance
40.2kΩ
U1 GND_10 - U2 VSS
R5
Resistance
10kΩ
GND
GND
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
GND
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
R17
Resistance
100kΩ
U1 GND_10 - U2 VSS
R12
Resistance
464kΩ
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
GND
GND
R24
Resistance
100kΩ
R15
Resistance
332kΩ
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
GND
U1 GND_10 - U2 VSS
R22
Resistance
100kΩ
U1 GND_10 - U2 VSS
R11
Resistance
118kΩ
GND
R19
Resistance
19.1kΩ
R18
Resistance
100kΩ
R8
Resistance
4.7kΩ
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
R9
Resistance
22Ω
U1 GND_10 - U2 VSS
R25
Resistance
100kΩ
GND
GND
GND
U1 GND_10 - U2 VSS
U1 GND_10 - U2 VSS
GND
SW2
D4
SW1
D5
D3
L1
Inductance
2.2µH
D2

Refine this doc
Ask about this doc
Project Specification — USB-C WiFi BLE T-RH Sensor
Project Overview
Status: Draft schematic complete / ready for review.
A consumer USB-C powered environmental sensor node measuring temperature and relative humidity and reporting data over Wi-Fi and BLE 5.x. The design uses a pre-certified Espressif ESP32-C3 wireless module, Sensirion SHT40 I2C T/RH sensor, protected 5 V USB-C input, and an ultra-low-IQ 3.3 V buck regulator.
Intended Use
  • Indoor consumer environmental monitoring node.
  • Powered from USB-C 5 V adapters, hosts, or hubs.
  • Designed to operate within a conservative sub-500 mA input budget while detecting Type-C current advertisement for firmware policy.
What the Device Should Do
  • Accept 5 V over USB-C in sink/device mode.
  • Protect downstream electronics against overcurrent, overvoltage, undervoltage, reverse-current/backfeed, ESD, and inrush.
  • Measure temperature and relative humidity digitally.
  • Connect using 2.4 GHz Wi-Fi 802.11 b/g/n and BLE 5.x.
  • Support firmware flashing/debug over native ESP32-C3 USB Serial/JTAG.
Main Features
  • ESP32-C3-WROOM-02-N4 Wi-Fi + BLE module with integrated PCB antenna.
  • SHT40-AD1B-R3 I2C temperature/humidity sensor, address 0x44.
  • USB4105-GF-A USB-C receptacle with separate 5.1 kΩ Rd resistors on CC1/CC2.
  • CC1/CC2 ADC sensing through 100 kΩ resistors to classify default / 1.5 A / 3 A Type-C source advertisements.
  • TPS25940LRVCR eFuse input protection with adjustable UVLO/OVP/OCP and true reverse-current blocking.
  • TPS62840DLCR 3.3 V, 750 mA, 60 nA-IQ buck regulator.
  • Reset and boot buttons, status LED, eFuse PGOOD/FLT monitoring, eFuse IMON ADC telemetry.
System Architecture

Diagram


USB-C receptacle 5 V + USB2 VBUS and USB/CC ESD TPS25940 eFuse OVP UVLO OCP reverse block TPS62840 3.3 V buck ESP32-C3-WROOM-02 Wi-Fi + BLE SHT40 T/RH sensor Status LED
Hardware Subsystems
USB-C Input and Protection
  • USB-C sink role via R1/R2 = 5.1 kΩ from CC1/CC2 to GND.
  • D2 protects raw VBUS; D1 protects D+/D−; D4/D5 protect CC1/CC2.
  • U3 TPS25940 provides protected VBUS, inrush control, current limit, adjustable UVLO/OVP, fault output, current monitor, and reverse-current blocking.
3.3 V Power
  • U4 TPS62840 buck converts protected 5 V to 3.3 V.
  • L1 = 2.2 µH, C7 = 4.7 µF input, C8 = 10 µF output, R20 = 267 kΩ for 3.3 V.
  • MODE pulled low for automatic power-save mode; STOP pulled low so the converter runs by default.
Wireless MCU
  • U1 ESP32-C3-WROOM-02-N4 powered from 3.3 V.
  • EN has 10 kΩ pull-up and 1 µF reset delay capacitor; reset button pulls EN low.
  • GPIO9 has 10 kΩ pull-up and boot button to GND for download mode.
  • GPIO2 and GPIO8 have 10 kΩ pull-ups for valid boot/download strapping.
  • USB D−/D+ route to GPIO18/GPIO19 through 22 Ω series resistors.
Sensor
  • U2 SHT40 powered at 3.3 V with 100 nF local decoupling.
  • I2C on GPIO4/GPIO5 with one 4.7 kΩ pull-up pair to 3.3 V.
  • Layout must place the sensor away from ESP32, buck regulator/inductor, eFuse, USB-C shell, and LED heat.
Interfaces and Connections

Table


InterfaceNets / PinsNotes
USB-C VBUSVBUS_RAW → TPS25940 → VBUS_PROT5 V only; no PD negotiation
USB-C CCUSB_CC1/USB_CC25.1 kΩ Rd plus ADC current advertisement sense
USB 2.0 FSUSB_DN_CONN/USB_DP_CONN → 22 Ω → USB_DN_MCU/USB_DP_MCUNative ESP32-C3 USB Serial/JTAG
I2CI2C_SDA GPIO4, I2C_SCL GPIO5SHT40 address 0x44
eFuse statusEFUSE_PGOOD GPIO7, EFUSE_FLT_N GPIO10Pulled up to 3.3 V
Analog telemetryVBUS_IMON GPIO3, CC1_SENSE GPIO0, CC2_SENSE GPIO1ADC inputs
User controlsESP_EN, ESP_BOOTReset and boot buttons
Power and Runtime Expectations
  • USB-C 5 V input only; no battery.
  • Target conservative operation below default USB current. CC sensing allows firmware to adapt behavior for default / 1.5 A / 3 A sources.
  • Worst-case 3.3 V load target: <= 750 mA regulator capability; normal operation expected far lower.
Power Tree and Power Budget

Diagram


USB-C 5 V VBUS TVS TPS25940 current limit approx 0.75 A Protected 5 V TPS62840 3.3 V buck 750 mA ESP32-C3 peak supply >= 500 mA SHT40 up to 100 mA heater peak LED + pullups + status
See the Design Notes file for calculations and threshold values.
Manufacturing and Assembly Expectations
  • SMT assembly, consumer product orientation.
  • Keep ESP32 antenna at board edge with full antenna keepout.
  • Keep SHT40 exposed to airflow and isolated from heat sources; avoid contamination and conformal coating over sensor.
  • Add test access in layout for 5 V raw, protected VBUS, 3V3, GND, EN, BOOT, I2C, and USB if possible.
Firmware-Relevant Hardware Requirements
  • Platform: Arduino or ESP-IDF on ESP32-C3.
  • Firmware should read CC1/CC2 ADC at startup and limit high-current behaviors when default current is detected.
  • Firmware should avoid sustained SHT40 heater operation; SHT40 heater duty cycle must remain below datasheet limit.
  • USB Serial/JTAG flashing via USB-C with BOOT/RESET buttons.
Physical Design Expectations
  • Small 2-layer or 4-layer PCB; 4-layer recommended for RF/USB cleanliness.
  • ESP32 antenna at edge with no copper, traces, screws, enclosure metal, or components in keepout.
  • Buck inductor and eFuse away from ESP32 antenna and SHT40.
  • SHT40 near an airflow opening, with thermal relief/slots if enclosure allows.
Important Design Decisions
  • Use ESP32-C3-WROOM-02-N4 module instead of bare SoC to reduce RF design/certification risk.
  • Use TPS25940 eFuse instead of a simple polyfuse to satisfy OVP/UVLO/OCP/reverse-current requirements.
  • Use TPS62840 buck instead of LDO to avoid 0.5–0.85 W LDO heating during Wi-Fi peaks.
  • Use passive USB-C sink plus CC ADC sensing, not USB-PD, because product only needs 5 V.
Assumptions
  • USB-C source provides 5 V only; no power delivery voltage negotiation required.
  • Device target current remains below USB default current in normal operation.
  • Consumer indoor environmental range, not industrial/outdoor sealed operation.
  • BLE means BLE 5.x only, not Bluetooth Classic.
Change Notes
  • Initial schematic created with MCU, sensor, USB-C, eFuse protection, buck regulator, boot/reset, USB programming, CC sensing, and documentation.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • USB-C Input and Protection

  • 3.3 V Power

  • Wireless MCU

  • Sensor

  • 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-C WiFi BLE T-RH Sensor thumbnail
USB-C powered consumer temperature/humidity sensor node using a low-power Wi‑Fi + BLE 5.x MCU module, digital T/RH sensor, protected 5 V USB-C input, and 3.3 V regulation.

Properties

V

Pricing & Availability

Distributor

Qty 1

Arrow

$3.26–$6.51

Digi-Key

$1.25–$1.33

HQonline

$5.79–$5.99

LCSC

$7.90–$8.13

Mouser

$14.30

TME

$1.00

Verical

$2.75–$9.00

Controls