Four motor controller
jonathanrandall·four_motor_controller·hardware/esp32_s3_vnh7040_quad_motor.kicad_pcb
About the Four motor controller PCB
Four motor controller is an open source ESP32 PCB design by jonathanrandall, published on GitHub under the CERN-OHL-P-2.0 license. It is a 4-layer board measuring 110.9 × 90.6 mm, with 113 components from 37 distinct parts.
Its main chip is the ESP32-S3-WROOM-1, from the ESP32 family. Other key parts include the USBLC6-2SC6, AP63203WU-7, MCP23017_SS and VNH7040AYTR. By type, the board carries 29 resistors, 22 capacitors, 14 connectors, 8 ICs, 5 diodes and 2 switches.
It belongs with the robotics & motion and iot & wireless designs in this gallery.
From the project
esp32 with four motor controllers
This was originally done in kicad 9.0 and updated to kicad 10.0. Need to check the symbol for the NMOS transistor against the data sheet for the transistor in the bom file
A 4-layer PCB motor controller for robotics applications. Drives 4 DC motors with encoder feedback using an ESP32-S3 microcontroller, Inlcudes: 4× VNH7040AYTR high-current motor drivers, which is rated for 35A, but the current is limited by the board and not the motor driver. I'm using 2oz copper on the outer layers and 1oz copper on the inner layers, so this should provide ~12A continuous current on each motor driver; and…
Main components on the Four motor controller
Four motor controller bill of materials (BOM)
113 components, 37 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ESP32-S3-WROOM-1 | ESP32-S3-WROOM-1 | U1 |
| 1 | USBLC6-2SC6 | SOT-23-6 | U2 |
| 1 | AP63203WU-7 | TSOT-23-6-AP63203WU | U3 |
| 1 | MCP23017_SS | SSOP-28_5.3x10.2mm_P0.65mm | U4 |
| 4 | VNH7040AYTR | POWERSSO-36TP_STM_jr | U5, U6, U7, U8 |
| 1 | Q_NMOS_GDS | SOT-23 | Q1 |
| 1 | USB_C_Receptacle_USB2.0_16P | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | Conn_01x02 | AMASS_XT60PW-M_1x02_P7.20mm_Horizontal | J2 |
| 4 | Conn_01x02 | TerminalBlock_Phoenix_MKDS-3-2-5.08_1x02_P5.08mm_Horizontal | J3, J4, J5, J6 |
| 4 | Conn_01x04 | JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J7, J8, J9, J10 |
| 1 | 5v breakout | PinHeader_2x02_P2.54mm_Vertical | J11 |
| 1 | I2C sda scl | PinHeader_1x04_P2.54mm_Vertical | J12 |
| 1 | 41(40)_3v3_gnd | PinHeader_2x03_P2.54mm_Vertical | J13 |
| 1 | IN OUT | PinHeader_2x02_P2.54mm_Vertical | J15 |
| 4 | 100nF | C_0805_2012Metric | C_CS1, C_CS2, C_CS3, C_CS4 |
| 4 | 10uF | C_0805_2012Metric | C_CS5, C_CS6, C_CS7, C_CS8 |
| 19 | 1k | R_0805_2012Metric | R_CS1, R_CS2, R_CS3, R_CS4, R_CS5, R_CS6, R_CS7, R_INA1 +11 |
| 4 | 330R | R_0805_2012Metric | R_LED1, R_LED2, R_LED3, R_LED4 |
| 1 | SW_Boot | SW_SPST_TL3342 | SW1 |
| 1 | SW_RESET | SW_SPST_TL3342 | SW2 |
Show 17 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Red LED | LED_0805_2012Metric | D1 |
| 1 | Green LED | LED_0805_2012Metric | D2 |
| 1 | D_Schottky | D_SMA | D3 |
| 1 | Blue LED | LED_0805_2012Metric | D5 |
| 1 | Orange LED | LED_0805_2012Metric | D6 |
| 1 | 4.7uH | L_7.3x7.3_H4.5 | L1 |
| 2 | 22uF | C_0805_2012Metric | C1, C2 |
| 5 | 470uF | CP_Elec_10x10 | C3, C8, C10, C13, C16 |
| 5 | 10uF | C_1206_3216Metric | C4, C7, C9, C12, C15 |
| 8 | 100nF | C_0805_2012Metric | C5, C6, C11, C14, C19, C21, C22, C23 |
| 2 | 10uF | C_0805_2012Metric | C17, C20 |
| 2 | 5.1K | R_0805_2012Metric | R1, R2 |
| 2 | 27R | R_0805_2012Metric | R3, R4 |
| 7 | 1K | R_0805_2012Metric | R5, R6, R7, R16, R17, R38, R42 |
| 7 | 10K | R_0805_2012Metric | R8, R9, R12, R13, R14, R15, R18 |
| 2 | 4.7K | R_0805_2012Metric | R10, R11 |
| 9 | 100R | R_0805_2012Metric | R19, R44, R45, R46, R47, R48, R49, R50 +1 |
Four motor controller design files
The KiCad project lives in the jonathanrandall/four_motor_controller repository on GitHub; these links point at the commit this page was built from.
Four motor controller: common questions
What microcontroller does the Four motor controller use?
The Four motor controller is built around the ESP32-S3-WROOM-1, from the ESP32 family.
How big is the Four motor controller PCB?
The Four motor controller measures 110.9 × 90.6 mm, has 4 copper layers and is 1.87 mm thick.
How many components are on the Four motor controller?
113 components, from 37 distinct parts. The full bill of materials is listed on this page.
Where can I download the Four motor controller design files?
From the jonathanrandall/four_motor_controller repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Four motor controller design in my own project?
Yes, under the terms of its CERN-OHL-P-2.0 license, which jonathanrandall chose for the repository.
Can I test firmware for the Four motor controller 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