

Luz
An ESPHome-capable USB-C Power Delivery trigger board prototype
- Size
- 49.4 × 21.9 mm
- Copper layers
- 4
- Thickness
- 1.57 mm
- Parts
- 65
- Nets
- 78
- Pads
- 205
- Tracks, vias
- 250, 63
- Pours
- 10
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 14 Nov 2023
- Updated
- 26 Dec 2023
Overview
Luz is an open-source printed circuit board by rbaron, from the rbaron/luz repository on GitHub. It is a 4-layer board of 49.4 × 21.9 mm with 65 parts on 78 nets, routed with 250 tracks and 63 vias.
It is built around the ESP32-WROOM-32D, SI4909DY-VB and TPS54302, with the U261-241N-4BS2SS and AO3400A among its other parts. Its parts include 18 resistors, 13 capacitors, 5 ICs, 3 diodes and 2 transistors. It belongs with the power boards and the ESP32 boards of this library.
Main components
5ESP32-WROOM-32D
-- WiFi Modules ROHSEspressif SystemsWiFi ModulesSI4909DY-VB
SO-8-55℃~+150℃ 1 P-Channel 1.35nF 135pF 15nC@4.5V、32nC@10V 215pF 21mΩ@10V、28mΩ@4.5V 30V 3V 5W 9.5A P-Channel SO-8 MOSFETs ROHSVBsemi ElecMOSFETsTPS54302
UncategorisedTexas InstrumentsU261-241N-4BS2SS
SMD-40℃~+85℃ 1 13.25mm 24P 5A Laminated board Male Type-C SMD USB Connectors ROHSXKB ConnectionUSB ConnectorsAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETs
README
README.mdluz
An experiment in USB-C power delivery.

This repo contains printed circuit board fabrication files and firmware sample for a basic USB-C power delivery "trigger board" with an accompanying ESP32.
Hardware
The CYPD3177 IC is used to negotiate power contracts with USB-C power supplies, and communicates with the onboard ESP32 via I2C for control and monitoring.
Once the required power delivery contract is successfully negotiated, the ESP32 may control two MOSFET channels to switch power to two different loads. The original use case is to deliver 12 V @ 3 A to LED strips, but any load up to 3A and 20V may be used in principle.
Main Components
- CYPD3177 USB-C PD controller
- ESP32-WROOM-32
- For this prototype I used this older module since I still have a bunch of them around.
Software
The CYPD3177 is configured during runtime via I2C. I implemented the cypd3177 component in an ESPHome fork (at rbaron/esphome/cypd3177).
In this repo there are sample yaml files under ./code/esphome that uses the cypd3177 as an external component.
To configure a power delivery contract, set up the cypd3177 component in ESPHome as for example:
cypd3177:
interrupt_pin: GPIO23
voltage: 9000 mV
current: 1000 mAUSB-C Power Delivery Support & Maximum Power
The CYPD3177 supports USB-C PD 3.0, but unfortunately does not support Programmable Power Supply (PPS) contracts. The board is a prototype, mostly for learning, designed to handle a maximum of only 3 A.
USB-C PD 3.0 mandates support for a few standard fixed power profiles, namely providing 5 V, 9 V, 15 V and 20 V. Some USB-C PD sources may also support 12 V. Enabling logging for the cypd3177 component in ESPHome will show the power profiles supported by the source. For example:
16:08:41.416 -> [I][cypd3177.pdo:059]: Fixed PDO: 5000 mV, 3000 mA
16:08:41.416 -> [I][cypd3177.pdo:059]: Fixed PDO: 9000 mV, 3000 mA
16:08:41.416 -> [I][cypd3177.pdo:059]: Fixed PDO: 12000 mV, 2000 mA
16:08:41.416 -> [I][cypd3177.pdo:059]: Fixed PDO: 15000 mV, 2000 mA
16:08:41.416 -> [I][cypd3177.pdo:059]: Fixed PDO: 20000 mV, 1500 mA
16:08:41.416 -> [I][cypd3177.pdo:066]: Augmented SPR_PPS PDO: 3300 - 11000 mV, 3000 mAParts
65| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 1k | Resistor_SMD:R_0402_1005Metric | R1, R3, R5, R6, R15 |
| 5 | 1u | Capacitor_SMD:C_0402_1005Metric | C1, C4, C7, C10, C11 |
| 4 | 100n | Capacitor_SMD:C_0402_1005Metric | C5, C6, C8, C22 |
| 4 | 10k | Resistor_SMD:R_0402_1005Metric | R2, R12, R21, R22 |
| 4 | 10u | Capacitor_SMD:C_0603_1608Metric | C2, C3, C9, C12 |
| 4 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP2, TP3, TP4, TP5 |
| 3 | 4.7k | Resistor_SMD:R_0402_1005Metric | R7, R8, R9 |
| 2 | 100k | Resistor_SMD:R_0402_1005Metric | R10, R11 |
| 2 | 470 | Resistor_SMD:R_0402_1005Metric | R13, R14 |
| 2 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1, Q4 |
| 2 | PO3 | LED_SMD:LED_0603_1608Metric | D1, D4 |
| 1 | |||
| 1 | 15V | Diode_SMD:D_SOD-323 | D3 |
| 1 | 22k | Resistor_SMD:R_0402_1005Metric | R16 |
| 1 | 47k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 47uH | footprint:IND-SMD_L4.0-W4.0_SLS3DXX | L1 |
| 1 | BOOT | Snapeda:SW_B3U-1000P | S1 |
| 1 | CYPD3177-24LQXQ_C2959321 | footprint:TQFN-24_L4.0-W4.0-P0.50-TL-EP2.8 | U2 |
| 1 | ESP32-WROOM-32D | RF_Module:ESP32-WROOM-32D | U5 |
| 1 | G*** | kibuzzard-655BB076 | kibuzzard-655BB076 |
| 1 | G*** | kibuzzard-658ADB24 | kibuzzard-658ADB24 |
| 1 | G*** | kibuzzard-655BB0B1 | kibuzzard-655BB0B1 |
| 1 | G*** | kibuzzard-655BBA49 | kibuzzard-655BBA49 |
| 1 | G*** | kibuzzard-655BBA6D | kibuzzard-655BBA6D |
| 1 | G*** | kibuzzard-655BB485 | kibuzzard-655BB485 |
| 1 | G*** | kibuzzard-655BB98B | kibuzzard-655BB98B |
| 1 | G*** | kibuzzard-655BB0BF | kibuzzard-655BB0BF |
| 1 | G*** | kibuzzard-658AE32D | kibuzzard-658AE32D |
| 1 | G*** | kibuzzard-655BB97E | kibuzzard-655BB97E |
| 1 | G*** | kibuzzard-658AE3F9 | kibuzzard-658AE3F9 |
| 1 | G*** | kibuzzard-655BB458 | kibuzzard-655BB458 |
| 1 | G*** | kibuzzard-655BB09E | kibuzzard-655BB09E |
| 1 | G*** | kibuzzard-655BBA1E | kibuzzard-655BBA1E |
| 1 | RST | Snapeda:SW_B3U-1000P | S2 |
| 1 | SI4909DY-VB | footprint:SO-8_L4.9-W3.9-P1.27-LS5.9-BL | U3 |
| 1 | Screw_Terminal_01x04 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_Horizontal | J2 |
| 1 | TPS54302 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | U261-241N-4BS2SS | footprint:USB-C-SMD_U261-241N-4BS2SS | U1 |
The 64 most common of 65 parts.
Questions
How big is the Luz PCB?
It measures 49.4 × 21.9 mm and has 4 copper layers, 1.57 mm thick.
What parts does the Luz use?
65 parts, built around the ESP32-WROOM-32D, SI4909DY-VB, TPS54302 and U261-241N-4BS2SS. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Luz KiCad files?
From the rbaron/luz repository on GitHub, at the commit this page was made from: the board is kicad/luz/luz.kicad_pcb and its schematic kicad/luz/luz.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Luz design in my own project?
Its repository states no licence, so its author keeps all rights: ask rbaron before reusing the design.
Similar boards
- 2 layers78 × 44 mm

- 4 layers66.4 × 163.6 mm

- 4 layers65.9 × 52.9 mm

- 4 layers65 × 30 mm

- 2 layers50 × 67 mm

- 2 layers

- 4 layers40 × 40 mm

ShiroFPV Flight Controller
ShiroFPV/ShiroFPV_Flight_Controller_Collection
Official repository for public ShiroFPV flight controller designs, encompassing fully verified productions as well as ongoing, untested hardware revisions.
116 parts1CERN-OHL-S-2.0 - 2 layers100 × 100 mm

Hydroponics reservoir controller
bookofthefuture/hydroponics-pcb
KiCad PCB designs for the two-tier IKEA hydroponics monitoring/control system
82 parts