Skip to the content
PCBKitNew board
4 layers29 × 74 mmController, the printed circuit board in 3D

These are structured into their own files. I could have used submodules, but decided against it.

Size
29 × 74 mm
Copper layers
4
Thickness
1.66 mm
Parts
66
Nets
57
Pads
248
Tracks, vias
430, 62
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
15 Oct 2024
Updated
1 Feb 2026

Overview

Controller is an open-source printed circuit board by StuckAtPrototype, from the StuckAtPrototype/Racer repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 29 × 74 mm with 66 parts on 57 nets, routed with 430 tracks and 62 vias.

It is built around the ESP32-H2-MINI-1U, MCP73833 and THB001P, with the TL4100AF240QG, JS102011SAQN and TPD1E10B06DPYR among its other parts. Its parts include 23 resistors, 13 capacitors, 7 diodes, 6 switches and 4 ICs. It belongs with the ESP32 and RISC-V boards of this library.

Main components

6

README

README.md

Micro Racer Car - StuckAtPrototype

thank you for the overwhelmingly positve support!! such an inspiration to keep making fun open source content!

New Youtube video about improvements

Lots of new improvements and I am now selling a kit for these! Check out the video here: https://www.youtube.com/watch?v=FulhEs5R5WU My Kickstarter failed, so I open sourced it

Original Youtube Video

A bit of a back-story of how this project came to be.

My Kickstarter failed, so I open sourced it

Sub if you like what you see.

Some pictures of the project

Picture of PCB car

Picture of PCB car

Hardware Remote for this car

https://github.com/StuckAtPrototype/Thumbtroller

Project Structure

The project consists of

  1. Firmware
  2. Hardware
  3. Mechanical
  4. Scripts

These are structured into their own files. I could have used submodules, but decided against it.

1. Firmware

Code for the little car. This lives on the ESP32

Requirements
  • ESP32 IDF version 5.3.1
  • USB to Serial dongle
  • Target set to ESP32-H2

2. Hardware

Schematic

PDF schematic included for your viewing pleasure.

PCBs

All the gerber files you'd need to send to a fab house.

Kicad

All the files you'd need to expand and work on this further. If you'd like.

3. Mechanical

Enclosure

All the step files you need to make one of these. Extrusion printer works well for this part.

Wheels

A bit of caution on this one.. you'll need an SLA printer.

4. Scripts

Did anyone say neural networks?

This folder has all the python code you'd need to train up your own neural network for the car. It also consists scripts that let you drive it using a keyboard -- just in case you dont want to make a physical controller.

Requirements
  • Python 3
  • You'll need to install a bunch of pip modules
Training the neural network

Training the neural network is as simple as running the training script with the data in the color_data.txt file. For data format see the sample data in the file. You need to stick to the formatting.

To train run python trainer.py

Keyboard controller

To run the script python controller.py

Use w s a d for control. Modify the script for different speeds, etc

Protocol for motor control

60,1,60,1,5 -- translates to:

motor side A: speed 60, direction forward

motor side B: speed 60, direction forward

500 miliseconds run time

See firmware file motor.c if you need more details

What the project could use

  1. Cleanup, but thats true for almost anything out there
  2. Some fun code that makes the little car drive using the color sensor -- think very fancy line follower
  3. LLM integration -- ChatGPT driving a physical little robot? anyone? :)

If you take it further

Let me know if you ever make one of these, I'd love to see it. Seriously, that'd be exciting and inspiring to keep making my projects open source!


License

Apache 2.0 -- i.e. use as you'd like

http://www.apache.org/licenses/LICENSE-2.0


Special Thanks

Thanks to Michael Angerer for his open sourced esp32_ble_ota project. I used it to get BLE running in this project. His blog post and github repo are a great resource. Check it out. https://github.com/michael-angerer/esp32_ble_ota

Parts

66
QtyValueFootprintReferences
710kResistor_SMD:R_0603_1608MetricR2, R4, R6, R8, R9, R10, R11
51uF 25VCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C10
5LEDCapacitor_SMD:C_0603_1608MetricD1, D2, D3, D8, D9
5TL4100AF240QG_kicad_reformed_custom_IC:SW_PTS810_SJM_250_SMTR_LFSS2, S3, S4, S5, S6
4100kResistor_SMD:R_0603_1608MetricR3, R5, R7, R14
4200Resistor_SMD:R_0603_1608MetricR1, R12, R13, R25
30.1uFCapacitor_SMD:C_0603_1608MetricC11, C12, C13
21.43KResistor_SMD:R_0603_1608MetricR22, R23
210uFCapacitor_SMD:C_0603_1608MetricC15, C16
2470Resistor_SMD:R_0603_1608MetricR20, R21
25k1Resistor_SMD:R_0603_1608MetricR17, R18
10_IN1TestPoint:TestPoint_Pad_1.0x1.0mmTP1
10_IN2TestPoint:TestPoint_Pad_1.0x1.0mmTP2
11MResistor_SMD:R_0603_1608MetricR16
12.2uFCapacitor_SMD:C_0603_1608MetricC14
122uFCapacitor_SMD:C_0603_1608MetricC17
147uFCapacitor_SMD:C_0603_1608MetricC9
175KResistor_SMD:R_0603_1608MetricR24
1AP2204kicad_reformed_custom_IC:AP2204U6
1Chip EnableConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ9
1ESP32-H2-MINI-1kicad_reformed_custom_IC:MODULE_ESP32-H2-MINI-1-H2U5
1JS102011SAQNkicad_reformed_custom_IC:SW_JS102011SAQNS1
1JST 2.0 BATTConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ12
1LOGOkicad_reformed_custom_IC:LOGO_6mm_microDMGG***
1MCP73833kicad_reformed_custom_IC:SON50P300X300X100-11NU7
1PWLEDDiode_SMD:D_0603_1608MetricD6
1TH 10kResistor_SMD:R_0603_1608MetricTH1
1THB001Pkicad_reformed_custom_IC:CNK_THB001PU1
1TPTestPoint:TestPoint_Pad_D1.0mmTP3
1TPD1E10B06DPYRDiode_SMD:D_SOD-523D5
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ11
1USB_C_Plug_USB2.0kicad_reformed_custom_IC:GCT_USB4105-GF-AP1

The 62 most common of 66 parts.

Questions

How big is the Controller PCB?

It measures 29 × 74 mm and has 4 copper layers, 1.66 mm thick.

What parts does the Controller use?

66 parts, built around the ESP32-H2-MINI-1U, MCP73833, THB001P and TL4100AF240QG. 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 Controller KiCad files?

From the StuckAtPrototype/Racer repository on GitHub, at the commit this page was made from: the board is hardware/thumbtroller/controller.kicad_pcb and its schematic hardware/racer-sensors/sensors.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

Its repository publishes it under the Apache-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).

More from StuckAtPrototype/Racer

2
  • 4 layers36 × 50.2 mmRacer, the printed circuit board in 3D

    Racer

    StuckAtPrototype/Racer

    These are structured into their own files. I could have used submodules, but decided against it.

    83 parts3.8kApache-2.0
  • 4 layers15.2 × 9 mmSensors, the printed circuit board in 3D

    Sensors

    StuckAtPrototype/Racer

    These are structured into their own files. I could have used submodules, but decided against it.

    14 parts3.8kApache-2.0

Similar boards

  • 4 layers74.7 × 30 mmController, the printed circuit board in 3D

    Controller

    StuckAtPrototype/Thumbtroller

    77 parts305
  • 4 layers36 × 50.2 mmRacer, the printed circuit board in 3D

    Racer

    johndoe6345789/Racer

    These are structured into their own files. I could have used submodules, but decided against it.

    83 parts
  • 4 layers49 × 74.9 mmPCB business card, the printed circuit board in 3D

    PCB business card

    StuckAtPrototype/PCB_business_card_remake

    A custom PCB based "business" card that lets you play a version of Flappy Bird.

    311 parts132Apache-2.0
  • 2 layers57.5 × 85.5 mmGitcard final version, the printed circuit board in 3D

    Gitcard final version

    cubistmind/__pCennnBeist

    A custom PCB based "emniii😞😞" card that lets you play a version of Flappy Bird

    307 parts
  • 2 layers25.9 × 44.7 mmCatiPCB, the printed circuit board in 3D

    CatiPCB

    andreesc/BLE-Temp-Sensor

    Hardware, Firmware, and Mechanical Design Files for a Temperature Sensor Board featuring the HDC1080 sensor and Bluetooth Low Energy (BLE) connectivity.

    36 parts
  • 2 layers88.4 × 80 mmLHS Controller PCB, the printed circuit board in 3D

    LHS Controller PCB

    dmcke5/ZenDeck

    This is the second revision of my Mini PC based handheld Gaming PC! It is designed for a Beelink SER 5 Mini PC but could be adapted to other systems by changing the mounting brackets and outlet plate.

    76 parts133CERN-OHL-S-2.0
  • 4 layers55 × 35 mmStandalone Mini PC BMS - Rev 1.1, the printed circuit board in 3D

    Standalone Mini PC BMS - Rev 1.1

    dmcke5/MiniPC_BMS

    An all in one power managment solution for powering mini pc's with batteries!

    113 parts60CERN-OHL-S-2.0
  • 2 layers45 × 45 mmAirCube, the printed circuit board in 3D

    AirCube

    StuckAtPrototype/AirCube

    Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.

    61 parts379Apache-2.0