OmniDrive
TLNKhanh·OmniDrive·hardware/kicad/OmniDrive.kicad_pcb
About the OmniDrive PCB
OmniDrive is an open source ESP32 PCB design by TLNKhanh, published on GitHub under the MIT license. It is a 2-layer board measuring 45 × 59.5 mm, with 66 components from 34 distinct parts.
Its main chip is the ESP32-WROOM-32E, from the ESP32 family. Other key parts include the CH340C, DRV8833PWP, CH224K, INA219A and ME6211C33M5. By type, the board carries 26 capacitors, 14 resistors, 9 ICs, 7 connectors, 5 diodes and 2 transistors.
It belongs with the robotics & motion, iot & wireless and power & battery designs in this gallery.
From the project
A general-purpose dual motor driver board with ESP32.
Dual H-bridge motor driver + ESP32 + USB-C PD, squeezed into a 45×59.5mm 2-layer board.
I wanted a board that could work with a single USB-C port and have it drive two motors (or 2 pairs if configured) while able to measure the board's current draw.
- Drives 2 or 4 DC motors (configurable) with two DRV8833 H-bridges, one DRV8833 is optimal, up to 1.5A per channel. - Negotiates power over USB-C via CH224K to get 9V from power supply - Measures total motor current with an INA219 over I2C - Lets you program the ESP32 over USB through the CH340C, with automatic boot/reset - Breaks out power…

Main components on the OmniDrive
OmniDrive bill of materials (BOM)
66 components, 34 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | CH340C | SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | ~ | NXP_VQFN-16-1EP_4x4mm_P0.65mm_EP2.1x2.1mm | U2 |
| 2 | DRV8833PWP | HTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask2.46x2.31mm_ThermalVias | U3, U7 |
| 1 | CH224K | SSOP-10-1EP_3.9x4.9mm_P1mm_EP2.1x3.3mm | U4 |
| 1 | INA219A | SOT-23-8 | U5 |
| 1 | ESP32-WROOM-32E | ESP32-WROOM-32E | U8 |
| 1 | ME6211C33M5 | SOT-23-5 | U9 |
| 1 | ME6211C50M5 | SOT-23-5 | U10 |
| 2 | MMBT2222A | SOT-23 | Q1, Q2 |
| 1 | USB_C | USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01A | J1 |
| 1 | Battery | PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | Switch | PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | CONN_01X08 Conn_01x08 | PinSocket_1x08_P2.54mm_Vertical | J4 |
| 1 | CONN_01X03 Conn_01x03 | PinSocket_1x03_P2.54mm_Vertical | J5 |
| 2 | CONN_02X03_ODD_EVEN Conn_02x03_Odd_Even | PinHeader_2x03_P2.54mm_Vertical | J8, J11 |
| 2 | SW_Push | SW_Push_1P1T_NO_E-Switch_TL3301NxxxxxG | SW1, SW2 |
| 1 | SS24 | D_SMA | D1 |
| 2 | RED | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D3, D4 |
| 1 | GREEN | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D5 |
| 1 | WS2812 | LED_WS2812_PLCC6_5.0x5.0mm_P1.6mm | D6 |
Show 14 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | 22U 22u | L_Changjiang_FXL0630 | L1 |
| 4 | 10U 10u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C5, C22, C25 |
| 9 | 0.1U 0.1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2, C4, C8, C15, C20, C21, C23, C24 +1 |
| 1 | 1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3 |
| 7 | 0.1u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C6, C28, C29, C30, C31, C32, C33 |
| 1 | 10u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C7 |
| 2 | 0.01U 0.01u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C16, C18 |
| 2 | 2.2U 2.2u | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C17, C19 |
| 1 | 6.8K 6.8k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1 |
| 3 | 1k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2, R3, R4 |
| 2 | 0.1R | R_2512_6332Metric_Pad1.40x3.35mm_HandSolder | R5, R6 |
| 4 | 10K 10k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R7, R8, R9, R10 |
| 1 | 4.7K 4.7k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R11 |
| 3 | 4.7k | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R13, R14, R15 |
OmniDrive design files
The KiCad project lives in the TLNKhanh/OmniDrive repository on GitHub; these links point at the commit this page was built from.
OmniDrive: common questions
What microcontroller does the OmniDrive use?
The OmniDrive is built around the ESP32-WROOM-32E, from the ESP32 family.
How big is the OmniDrive PCB?
The OmniDrive measures 45 × 59.5 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the OmniDrive?
66 components, from 34 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the OmniDrive design files?
From the TLNKhanh/OmniDrive repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the OmniDrive design in my own project?
Yes, under the terms of its MIT license, which TLNKhanh chose for the repository.
Can I test firmware for the OmniDrive without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug ESP32 firmware against it before you order a PCB.
Similar boards
ESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kESP32
Badge
atopile
56.3 × 39 mm239 parts4LMIT4.0kESP32
Esp32 minimal
atopile
36.2 × 26.8 mm20 parts2LMIT4.0kESP32
Racer
StuckAtPrototype
36 × 50.2 mm70 parts4LApache-2.03.8kESP32
Controller
StuckAtPrototype
29 × 74 mm58 parts4LApache-2.03.8kESP32
Bitaxe
skot
56.5 × 99.8 mm86 parts4LCERN-OHL-S-2.01.4k