

Robotcontroller
The robot chassis needed to be changed to fit the PCB. Files have been attached if needed.
- Size
- 52.8 × 67 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 51
- Nets
- 68
- Pads
- 229
- Tracks, vias
- 340, 72
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Jun 2025
- Updated
- 8 Sep 2026
Overview
Robotcontroller is an open-source printed circuit board by eet-cheez, from the eet-cheez/RoverDrive-Hardware repository on GitHub. It is a 2-layer board of 52.8 × 67 mm with 51 parts on 68 nets, routed with 340 tracks and 72 vias.
It is built around the ESP32-S3-MINI-1-N8, MT3608 and AMS1117-3.3, with the BNO055 and SS34 among its other parts. Its parts include 18 capacitors, 10 connectors, 9 resistors, 4 ICs and 2 switches. It belongs with the ESP32 boards of this library.
Main components
5ESP32-S3-MINI-1-N8
SMD-104.5dBm -40℃~+85℃ 2.4GHz 20.5dBm 330mA 3V~3.6V 97mA Bluetooth5.0 ESP32-S3FN8 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD WiFi Modules ROHSEspressif SystemsWiFi ModulesMT3608
SOT-23-6-40℃~+85℃ 1 1.2MHz 100uA、1.6mA 2A 2V~24V Adjustable Boost Boost Built-in No SOT-23-6 DC-DC Converters ROHS西安航天民芯DC-DC ConvertersAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsBNO055
LGA-28(3.8x5.2)-40℃~+85℃ 2.4V~3.6V 40uA I2C、UART IMU X,Y,Z X,Y,Z ±16g ±2000dps LGA-28(3.8x5.2) Accelerometers ROHSBosch SensortecAccelerometersSS34
SMA(DO-214AC)-55℃~+125℃ 3A 40V 500uA@40V 550mV@3A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdRoverDrive-Hardware
A custom PCB for a robot powered by an esp32 microcontroller that has pins to control 4 servos plus one for sub-micro servo at 3.3v (in case it burns out at 5v). It also can support multiple other devices like LEDs or sensors and has an IMU to know its direction.
Why am I doing this?
Last year, I built a robot that was controlled by connecting to an app. The problem is that the inside was a mess of wires and modules floating around, so it was a pain to fix and improve. I decided a PCB could fit more features while also being much easier to assemble and access.
Details
- The microcontroller is an ESP32-S3-mini-1. I only really chose it because it seemed compact, but there are probably much better options.
- For the IMU, it uses a BNO055, which does all of the calculations internally to find its orientation. Might be a bit overkill, but I want to make sure it works properly.
- The board uses a basic ams1117-3.3 to to power all of the 3.3v devices.
- Power is supplied to the board via a 1s lipo battery, which gets boosted to 5v by a mt3608 regulator.
- PCB designed in KiCad.
Schematic:
PCB:
CAD:
This is that the robot looks like with a model of the PCB (in TinkerCad):
The robot chassis needed to be changed to fit the PCB. Files have been attached if needed.
BOM
| Item | Description | Quantity | Cost |
|---|---|---|---|
| ESP32-S3-MINI-1-N8 | the microcontroller | 1 | $6.15 |
| NFM18PC104R1E3D | 100nf capacitor | 13 | $1.69 |
| PTS647SN50SMTR2 LFS | reset and boot buttons | 2 | $0.46 |
| GRM188C81A226ME01D | 22uf ceramic capacitor | 3 | $0.87 |
| TAJA226K010RNJ | 22uf tantalum capacitor. for ams1117-3.3 | 2 | $0.70 |
| SS34 | schottky diode | 1 | $0.52 |
| SRP7028AA-220M | 22uh inductor for 5v regulator | 1 | $1.11 |
| C1608X7T1A106M080AC | 10uf ceramic capacitor | 3 | $0.69 |
| 06031A220FAT2A | 22pf ceramic capacitor for gyro | 3 | $1.32 |
| CRCW060310K0FKEI | 10k resistor | 7 | $1.05 |
| CRCW06035K10FKEC | 5.1k resistor | 3 | $0.36 |
| RNCE0603BTE1K00 | 1k resistor | 2 | $0.42 |
| ERJ-3RBD7501V | 7.5k resistor | 2 | $0.30 |
| ABS07-32.768KHZ-7-T | 32.768 kHz crystal for gyro | 1 | $0.82 |
| BNO055 | 9 axis IMU | 1 | $12.34 |
| USB4105-GF-A | USB c receptacle, 16 contact | 1 | $0.78 |
| MT3608 | boost converter. used to increase battery voltage to 5v (already have) | 1 | $0 |
| AMS1117-3.3 | 3.3v voltage regulator | 1 | $0 |
| 2.54mm pin headers | for servos | 5 | $0 |
| Molex picoblade connector | fits with the battery, probably | 1 | $0 |
| JST Connectors (2-pin, 3-pin, 4-pin) | Probably JST XH | 3 | $0 |
| PCB | from JLCPCB | 1 | $41.71 (actually only about $7, but I really needed fast shipping |
| Total: $71.29 |
Sheet with part links: https://docs.google.com/spreadsheets/d/1vR1n98YzZK8dJmbvGAbjTAVUf36cDbNLpNew4ql-z88/edit?usp=sharing
Finished Project
Parts
51| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C11, C12, C13, C14, C16, C20, C21 |
| 5 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R15, R16, R17, R20 |
| 3 | 10uF | Capacitor_SMD:C_0603_1608Metric | C1, C6, C19 |
| 3 | LOGO | LOGO | G***, G***, G*** |
| 2 | 22pF | Capacitor_SMD:C_0603_1608Metric | C17, C18 |
| 2 | 22uF | Capacitor_SMD:C_0603_1608Metric | C5, C10 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_PTS647_Sx50 | SW2, SW3 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R12 |
| 1 | 22uF | Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A | C7 |
| 1 | 22uH | Inductor_SMD:L_Bourns_SRP7028A_7.3x6.6mm | L1 |
| 1 | 32.768KHz | ABS07:XTAL_ABS07-32.768KHZ-7-T | Y1 |
| 1 | 7.5k | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | BNO055 | Package_LGA:LGA-28_5.2x3.8mm_P0.5mm | U6 |
| 1 | Conn_01x02_Pin | Connector_Molex:Molex_PicoBlade_53048-0210_1x02_P1.25mm_Horizontal | J4 |
| 1 | ESP32-S3-MINI-1 | RF_Module:ESP32-S2-MINI-1 | U3 |
| 1 | LED | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J11 |
| 1 | MT3608 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | SS34 | Diode_SMD:D_SMA | D1 |
| 1 | SWI | Connector_Wire:SolderWire-1.5sqmm_1x01_D1.7mm_OD3mm | H2 |
| 1 | SWO | Connector_Wire:SolderWire-1.5sqmm_1x01_D1.7mm_OD3mm | H3 |
| 1 | Sensor_1 | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J10 |
| 1 | Sensor_2 | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J9 |
| 1 | Servo_Claw | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J8 |
| 1 | Servo_FL | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J6 |
| 1 | Servo_FR | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J1 |
| 1 | Servo_RL | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | Servo_RR | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2 |
Similar boards
- 2 layers60 × 60 mm

- 2 layers80 × 34 mm

Dji fcc
nikolaus018/dji-fcc-esp32
ESP32-S3 firmware that switches a DJI N1 remote to FCC mode over USB (replaces the Android app)
69 parts3MIT - 2 layers80 × 100 mm

- 4 layers62 × 42 mm

Hybrid Controller
DesignStraub/ringwheel-hybrid-drone
A 5-inch FPV drone whose prop ducts fold down and become wheels. Design study in Fusion 360 and KiCad, CC BY-NC-SA 4.0.
103 parts - 2 layers61 × 61 mm

ESP32 FC
MAATHES-THILAK-K/ESP32-S3_FLIGHT_CONTROLLER
A custom-designed flight controller based on the ESP32-S3 module, built for compatibility with the esp-fc firmware and Betaflight-like configuration.
69 parts7Apache-2.0 - 4 layers100 × 80 mm

Plc board
denorath-sys/gridnet
Open hardware powerline mesh communication terminal
62 parts5CERN-OHL-W-2.0 - 2 layers50 × 145 mm

SmartRemote
Circuit-Digest/Smart-Universal-Remote-with-Learning-function-and-Google-Assistant-Support
Smart Universal Remote with Learning function and Google Assistant Support
75 parts3 - 2 layers113.5 × 64 mm

Questions
How big is the Robotcontroller PCB?
It measures 52.8 × 67 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Robotcontroller use?
51 parts, built around the ESP32-S3-MINI-1-N8, MT3608, AMS1117-3.3 and BNO055. 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 Robotcontroller KiCad files?
From the eet-cheez/RoverDrive-Hardware repository on GitHub, at the commit this page was made from: the board is PCB/robotcontroller.kicad_pcb and its schematic PCB/robotcontroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Robotcontroller design in my own project?
Its repository states no licence, so its author keeps all rights: ask eet-cheez before reusing the design.