Skip to the content
PCBKitNew board
4 layers110.9 × 90.6 mmEsp32 s3 vnh7040 quad motor, the printed circuit board in 3D

Esp32 s3 vnh7040 quad motor

jonathanrandall/four_motor_controller1

esp32 with four motor controllers

Size
110.9 × 90.6 mm
Copper layers
4
Thickness
1.87 mm
Parts
118
Nets
131
Pads
577
Tracks, vias
1,068, 599
Pours
12
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Apr 2026
Updated
21 May 2026

Overview

Esp32 s3 vnh7040 quad motor is an open-source printed circuit board by jonathanrandall, from the jonathanrandall/four_motor_controller repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 110.9 × 90.6 mm with 118 parts on 131 nets, routed with 1,068 tracks and 599 vias.

It is built around the ESP32-S3-WROOM-1-N8 and USBLC6-2SC6. Its parts include 22 resistors, 14 connectors, 12 capacitors, 8 ICs and 5 diodes. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

2

README

README.md

NOTE

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

four_motor_controller

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 a
  • MCP23017 I2C GPIO expander for direction control.

The design files are for KiCad 10.0.

The ROS2 control code used in the video is at https://github.com/jonathanrandall/new_pcb_robot

Repository Contents

text
hardware/                   # KiCad schematic, PCB layout, and project files
  symbols/                  # Custom KiCad symbol and footprint for VNH7040AYTR
docs_and_outputs/           # BOM (JLCPCB format), Gerbers (zip), PINMAP, and datasheets
firmware/esp32_bridge/      # PlatformIO firmware project (Arduino framework, C++17)
  src/                      # main.cpp, Motor, PIDController, QuadratureEncoder,
                            #   RobotController, Mcp23017Bus, WebDashboard, PanTiltController
  include/                  # Header files
  platformio.ini            # Build configuration

Important Notes

The BOM and PINMAP in docs_and_outputs/ may be out of date. Always cross-reference against the schematic and PCB files before ordering parts or assembling hardware.

The custom VNH7040AYTR symbol/footprint (hardware/symbols/) must be added to your KiCad library if opening the project on a new machine.

The firmware has not been validated on hardware. It compiles and is provided as a starting point.

WiFi credentials are not included. Before building the firmware, set your SSID and password in firmware/esp32_bridge/src/main.cpp.

Building the Firmware

Requires PlatformIO. All commands run from firmware/esp32_bridge/.

bash
# Build
pio run

# Flash (USB-C, use BOOT mode if required)
pio run --target upload

# Monitor serial output (115200 baud)
pio device monitor

Contributing

Contributions are welcome. If you have your own motor controller design or variant you would like to share, please add it in its own directory rather than modifying the existing files. Pull requests with bug fixes or improvements to the existing design are welcome.

Disclaimer

This hardware design is provided as-is, with no warranty of any kind. Anyone who uses, manufactures, or builds upon these files does so entirely at their own risk. The author accepts no responsibility for any damage to property, equipment, or persons resulting from the use of this design. Always verify the design independently before fabrication or use in any application.

Licence

The hardware design files in this repository are licensed under the CERN Open Hardware Licence Version 2 - Permissive (CERN-OHL-P-2.0).

See the LICENSE file for the full licence text.

Parts

118
QtyValueFootprintReferences
171KResistor_SMD:R_0805_2012MetricR_INA1, R_INA2, R_INA3, R_INA4, R_INB1, R_INB2, R_INB3, R_INB4, R_PWM1, R_PWM2, R_PWM3, R5, R6, R17, R38, R42 +1
12100nFCapacitor_SMD:C_0805_2012MetricC_CS1, C_CS2, C_CS3, C_CS4, C5, C6, C11, C14, C19, C21, C22, C23
9100RResistor_SMD:R_0805_2012MetricR19, R44, R45, R46, R47, R48, R49, R50, R51
91kResistor_SMD:R_0805_2012MetricR_CS1, R_CS2, R_CS3, R_CS4, R_CS5, R_CS6, R_CS7, R7, R16
610KResistor_SMD:R_0805_2012MetricR8, R9, R12, R13, R14, R15
610uFCapacitor_SMD:C_0805_2012MetricC_CS5, C_CS6, C_CS7, C_CS8, C17, C20
510uFCapacitor_SMD:C_1206_3216MetricC4, C7, C9, C12, C15
5470uFCapacitor_SMD:CP_Elec_10x10C3, C8, C10, C13, C16
4330RResistor_SMD:R_0805_2012MetricR_LED1, R_LED2, R_LED3, R_LED4
4Conn_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-3-2-5.08_1x02_P5.08mm_HorizontalJ3, J4, J5, J6
4Conn_01x04Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ7, J8, J9, J10
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
4VNH7040AYTRvnh7040aytr:POWERSSO-36TP_STM_jrU5, U6, U7, U8
222uFCapacitor_SMD:C_0805_2012MetricC1, C2
227RResistor_SMD:R_0805_2012MetricR3, R4
24.7KResistor_SMD:R_0805_2012MetricR10, R11
25.1KResistor_SMD:R_0805_2012MetricR1, R2
110kResistor_SMD:R_0805_2012MetricR18
14.7uHInductor_SMD:L_7.3x7.3_H4.5L1
141(40)_3v3_gndConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ13
15v breakoutConnector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_VerticalJ11
1AP63203WU-71_my_footprints:TSOT-23-6-AP63203WUU3
1Blue LEDLED_SMD:LED_0805_2012MetricD5
1Conn_01x02Connector_AMASS:AMASS_XT60PW-M_1x02_P7.20mm_HorizontalJ2
1D_SchottkyDiode_SMD:D_SMAD3
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U1
1Green LEDLED_SMD:LED_0805_2012MetricD2
1I2C sda sclConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ12
1IN OUTConnector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_VerticalJ15
1LOGOgraphic_library:logo_4mc_v3G***
1MCP23017_SSPackage_SO:SSOP-28_5.3x10.2mm_P0.65mmU4
1Orange LEDLED_SMD:LED_0805_2012MetricD6
1Q_NMOS_GDSPackage_TO_SOT_SMD:SOT-23Q1
1Red LEDLED_SMD:LED_0805_2012MetricD1
1SW_BootButton_Switch_SMD:SW_SPST_TL3342SW1
1SW_RESETButton_Switch_SMD:SW_SPST_TL3342SW2
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Questions

How big is the Esp32 s3 vnh7040 quad motor PCB?

It measures 110.9 × 90.6 mm and has 4 copper layers, 1.87 mm thick.

What parts does the Esp32 s3 vnh7040 quad motor use?

118 parts, built around the ESP32-S3-WROOM-1-N8 and USBLC6-2SC6. 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 Esp32 s3 vnh7040 quad motor KiCad files?

From the jonathanrandall/four_motor_controller repository on GitHub, at the commit this page was made from: the board is hardware/esp32_s3_vnh7040_quad_motor.kicad_pcb and its schematic hardware/esp32_s3_vnh7040_quad_motor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esp32 s3 vnh7040 quad motor design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers238.8 × 137.2 mmOOKeyboard, the printed circuit board in 3D

    OOKeyboard

    mayermakes/00Keyboard

    an open source ortholinear BLE keyboard. from scratch, including Firmware, video on element14presents

    171 parts12GPL-3.0
  • 2 layers156 × 66 mmDash 6.8, the printed circuit board in 3D

    Dash 6.8

    romioRN/Dash6.8-hardware

    wifi name "service", password 12345678, connect to 192.167.4.1

    152 parts11Apache-2.0
  • 4 layers29 × 54.4 mmESP32-S3-Breakout, the printed circuit board in 3D

    ESP32-S3-Breakout

    eggsampler/ESP32-S3-Breakout

    A minimal breakout board for the ESP32-S3-WROOM module

    34 parts10MIT
  • 4 layers100 × 100 mmPlantomation V2, the printed circuit board in 3D

    Plantomation V2

    Synthron/Plantomation

    DIY plant watering system

    203 parts10
  • 4 layers100 × 50 mmPsu ext, the printed circuit board in 3D

    Psu ext

    PSU-Ext-Org/psu-ext-hardware

    A repository to store PSU-EXT hardware design assets, schematics, circuit diagrams, CAD files and manufacturing data.

    137 parts9CERN-OHL-S-2.0
  • 2 layers85 × 67 mmGaggimate, the printed circuit board in 3D

    Gaggimate

    dulerabbit/GaggiBre-legacy

    This is GaggiBre! a fork of Gaggimate with Manual Brew Control and Adaptive Mode. Made by Dule Rabbit

    113 parts8
  • 2 layers85 × 70 mmPRTGN v1, the printed circuit board in 3D

    PRTGN v1

    bismarx-v1/PRTGN

    OwO whats this (This repo contains electronics, mechanical and software data for a protogen visor)

    69 parts6
  • 2 layers48 × 65.5 mmOpen telegraph, the printed circuit board in 3D

    Open telegraph

    animesh-chouhan/open-telegraph

    A pocket-size Morse key. One button, one RGB LED, an ESP32-S3, and a battery. Plug it in over USB-C or pair it over Bluetooth and it types Morse into any device as a standard keyboard. Fully open, down to the copper.

    52 parts5CERN-OHL-S-2.0