Four motor controller

jonathanrandall·four_motor_controller·hardware/esp32_s3_vnh7040_quad_motor.kicad_pcb

Four motor controller PCB layout, top view — open source ESP32 board by jonathanrandall

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.

QtyPartRefs
1
ESP32-S3-WROOM-1
U1
1
USBLC6-2SC6
U2
1
AP63203WU-7
U3
1
MCP23017_SS
U4
4
VNH7040AYTR
U5, U6, U7, U8
1
Q_NMOS_GDS
Q1
1
USB_C_Receptacle_USB2.0_16P
J1
1
Conn_01x02
J2
4
Conn_01x02
J3, J4, J5, J6
4
Conn_01x04
J7, J8, J9, J10
1
5v breakout
J11
1
I2C sda scl
J12
1
41(40)_3v3_gnd
J13
1
IN OUT
J15
4
100nF
C_CS1, C_CS2, C_CS3, C_CS4
4
10uF
C_CS5, C_CS6, C_CS7, C_CS8
19
1k
R_CS1, R_CS2, R_CS3, R_CS4, R_CS5, R_CS6, R_CS7, R_INA1 +11
4
330R
R_LED1, R_LED2, R_LED3, R_LED4
1
SW_Boot
SW1
1
SW_RESET
SW2
Show 17 more
QtyPartRefs
1
Red LED
D1
1
Green LED
D2
1
D_Schottky
D3
1
Blue LED
D5
1
Orange LED
D6
1
4.7uH
L1
2
22uF
C1, C2
5
470uF
C3, C8, C10, C13, C16
5
10uF
C4, C7, C9, C12, C15
8
100nF
C5, C6, C11, C14, C19, C21, C22, C23
2
10uF
C17, C20
2
5.1K
R1, R2
2
27R
R3, R4
7
1K
R5, R6, R7, R16, R17, R38, R42
7
10K
R8, R9, R12, R13, R14, R15, R18
2
4.7K
R10, R11
9
100R
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