
Sra dev board 2026
SRA-VJTI/sra-board-hardware-design
ESP32-based Development Board for Robotics and Embedded Applications

This project was prepared with manufacturability and assembly considerations in mind, despite being developed primarily as a portfolio and learning exercise.
ESP32 kicad project is an open-source printed circuit board by shyver, from the shyver/custom-ESP32 repository on GitHub, published under the MIT licence. It is a 2-layer board of 30 × 60 mm with 68 parts on 73 nets, routed with 830 tracks and 52 vias.
It is built around the ESP32-WROOM-32E, TPS56339DDC and SS8050, with the AO3401A and SRP5030CA-4R7M among its other parts. Its parts include 24 resistors, 13 capacitors, 5 diodes, 3 ICs and 3 transistors. It belongs with the ESP32 boards of this library.
A compact ESP32 devboard designed for rapid prototyping of IoT devices. The board functions similarly to an ESP32 DevKit, but it's smaller, more robust, and production-ready.
The board is composed of the following functional blocks :
Buck regulator instead of LDO A switching buck regulator was selected to efficiently step down USB 5 V to 3.3 V while supporting the ESP32’s peak current demands. This avoids thermal limitations and voltage droop that would occur with a linear regulator.
Use of an ESP32 module rather than bare IC The ESP32-WROOM module was chosen to simplify RF design, eliminate impedance-controlled antenna routing complexity, and reduce bring-up risk while maintaining full ESP32 functionality.
USB-C power input with CC resistors A USB-C receptacle configured for default USB power mode allows reliable 5 V sourcing without requiring USB-PD negotiation, simplifying implementation while maintaining compatibility with modern cables and chargers.
Dedicated USB-UART bridge for development and debugging A hardware USB-UART interface was included to provide stable flashing, logging, and recovery access independent of firmware state, improving development reliability.
Local decoupling strategy on all power domains Multiple ceramic capacitors of varying values were placed near power pins to handle both high-frequency switching noise and transient load current from the ESP32 and digital interfaces.
Compact switching loop placement in the power stage The regulator input capacitor, switching node, diode/MOSFET path, and inductor were positioned to minimize loop area and reduce switching noise and EMI risk.
2-layer PCB with continuous ground plane A 2-layer stack was intentionally used to balance manufacturing cost and learning value while maintaining acceptable signal integrity through the use of a largely uninterrupted ground plane.
Testpoint exposure for critical rails and signals Key nets such as VIN, 3V3, EN, IO0, and UART signals were exposed to simplify probing, debugging, and bring-up validation.
ESD and transient protection on USB data and power lines TVS protection devices were added to improve robustness against cable hot-plugging and electrostatic discharge events.
Auto-programming transistor network for ESP32 boot control A transistor-based control circuit was implemented to allow automatic toggling of EN and IO0 during flashing, enabling seamless firmware upload without manual button interaction.
Header-based GPIO breakout for prototyping flexibility Dual 19-pin headers were used to expose ESP32 GPIOs, enabling breadboard compatibility and expansion without requiring board redesign.
Component package size compromise for assembly and density 0603 passives were selected as a balance between compactness and beginner-friendly solderability.
Overestimating component size during initial selection The first chosen power inductor was significantly oversized for the board constraints, forcing a late replacement and footprint update. This highlighted the importance of checking mechanical dimensions early during component selection.
Uncertainty around decoupling placement and power node topology Early schematic iterations created intermediate 3.3 V nodes before decoupling capacitors, raising concerns about transient stability for sensitive ESP32 pins. This led to a deeper understanding that decoupling effectiveness depends on physical placement rather than schematic net naming.
Confusion between hierarchical labels and true net organization Heavy use of hierarchical labels initially gave a false sense of structured connectivity while increasing mental overhead. The design process clarified when hierarchical labels are necessary versus when global or local labels improve readability.
Footprint discovery and verification difficulties Several selected components lacked easily accessible or clearly documented footprints, requiring manual footprint creation and verification. This emphasized the importance of mechanical datasheet review and footprint validation before committing to layout.
Ground routing misconceptions in 2-layer design Early routing attempts treated ground as a signal to be manually routed, resulting in unnecessary vias and complexity. The transition to a ground-plane-first mindset significantly simplified routing and improved layout quality.
Switching regulator layout anxiety and via usage uncertainty The switching regulator region introduced uncertainty regarding acceptable via placement and switching loop integrity. Iteration led to prioritizing loop compactness over aesthetic routing.
Difficulty managing dense silkscreen and annotation clutter Default silkscreen settings produced excessive overlap and visual noise, leading to many DRC warnings. This required learning that silkscreen is secondary to electrical correctness and can be selectively simplified for readability.
Routing congestion between ESP32 and USB-UART interface TX/RX and control signals initially became difficult to route due to placement decisions. This reinforced the importance of functional block placement before routing begins.
Misinterpretation of multi-pin power connectivity warnings DRC warnings regarding internally connected power pins (e.g., multiple 3.3 V or VBUS pins) caused confusion, revealing the need to explicitly short these pins externally for proper current distribution and rule compliance.
Balancing perfectionism with forward progress A recurring challenge was spending excessive time refining non-critical details (silkscreen, labeling, cosmetic routing). Progress improved once the focus shifted toward electrical correctness and manufacturability first.
This project was prepared with manufacturability and assembly considerations in mind, despite being developed primarily as a portfolio and learning exercise.
The following files can be exported directly for fabrication and assembly:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R6, R7, R8, R9, R10, R11, R14, R15 |
| 7 | 0.1µF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C4, C8, C9, C10, C12 |
| 3 | 10µF | Capacitor_SMD:C_0805_2012Metric | C2, C5, Cin1 |
| 3 | 1k | Resistor_SMD:R_0603_1608Metric | R16, R17, R20 |
| 3 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP2, TP3, TP4 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R23, R24 |
| 2 | 22 | Resistor_SMD:R_0603_1608Metric | R21, R22 |
| 2 | 22µF | Capacitor_SMD:C_1206_3216Metric | C6, C7 |
| 2 | 47 | Resistor_SMD:R_0603_1608Metric | R12, R13 |
| 2 | 5.0V TVS | personal_library:SODFL1060X40N | D4, D5 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 2 | Conn_01x19_Pin | Connector_PinHeader_1.27mm:PinHeader_1x19_P1.27mm_Vertical | LEFT_GPIO1, RIGHT_GPIO1 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D2, D3 |
| 2 | SS8050 | Package_TO_SOT_SMD:SOT-23 | Q2, Q3 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_TL3342 | SW1, SW2 |
| 1 | 10.0k | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 22.1K | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 30.0 | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 30.9k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | 4.7µ | Capacitor_SMD:C_0805_2012Metric | C11 |
| 1 | 47.5K | Resistor_SMD:R_0603_1608Metric | R19 |
| 1 | 5.0V TVS | Diode_SMD:D_SOD-123 | D1 |
| 1 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BST | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | CP2102N-Axx-xQFN24 | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U3 |
| 1 | Conn_01x04_Pin | Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_Vertical | J1 |
| 1 | EN | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
| 1 | ESP32-WROOM-32E | RF_Module:ESP32-WROOM-32D | U2 |
| 1 | IO0 | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | Polyfuse | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | RX0 | TestPoint:TestPoint_Pad_D1.5mm | TP12 |
| 1 | SRP5030CA-4R7M | Inductor_SMD:L_Bourns_SRP5030T | L1 |
| 1 | SW | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | TPS56339DDC | Package_TO_SOT_SMD:SOT-23-6 | U1 |
| 1 | TX0 | TestPoint:TestPoint_Pad_D1.5mm | TP11 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4110 | J2 |
| 1 | VIN | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | VOUT | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
It measures 30 × 60 mm and has 2 copper layers, 1.6 mm thick.
68 parts, built around the ESP32-WROOM-32E, TPS56339DDC, SS8050 and AO3401A. 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.
From the shyver/custom-ESP32 repository on GitHub, at the commit this page was made from: the board is kicad/ESP32_kicad_project.kicad_pcb and its schematic kicad/ESP32_kicad_project.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

SRA-VJTI/sra-board-hardware-design
ESP32-based Development Board for Robotics and Embedded Applications

emiirkaya/ThermovitalSync-PCB
A PCB project for a vital monitoring-cooling device with GUI

Ghous-Ali/Custom-ESP32-Dev-Board
Custom ESP32-WROOM-32E development board | 4-layer PCB designed in KiCad 9.0.7

sukeshraom/ESP32-WROOM-32E-development-board
ESP32-WROOM-32E development board in the Arduino UNO form factor with USB Type-C and CH340C USB-to-UART interface. Includes complete KiCad schematic, PCB layout, and manufacturing files.

ANSHUMANDOCX/ESP32-LCD-Study-Tracker
Its a Study tracker that helps you be productive while studying along with maintaining a day wise log online on the website hosted on the ESP32 itself

apoorvarshneya/ESP32_DevBoard
Designed and developed a custom ESP32 Development Kit from scratch using KiCad, featuring USB-to-Serial programming, 5V-to-3.3V power regulation, reset/boot buttons, LEDs, GPIO headers, and selectable power inputs.
