Skip to content

Micro Racer Car

A small ESP32-based PCB racing car that can be driven by a remote, a keyboard, or a neural network trained on colour sensor data.

  • Self-driving 1:10
  • Open source
  • Works with AI
  • 3D printable

Suggested by Robotheca, created by @StuckAtPrototype (opens in a new tab), from github.com/StuckAtPrototype/Racer (opens in a new tab). Pinned to commit 846dd3e (opens in a new tab).

Hardware license
Apache-2.0 (opens in a new tab)
Software license
Apache-2.0 (opens in a new tab)
Commercial use
Allowed

This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.

Which files (1 firmware image)

Photo and 3D model

Micro Racer Car, photo from its repository
Photo:@StuckAtPrototype (opens in a new tab)Apache-2.0source file (opens in a new tab)

3D preview converted from github.com/StuckAtPrototype/Racer at 846dd3e, under Apache-2.0. View the original files from GitHub (16.8 MB) (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Drives a small car by sending motor commands over Bluetooth Low Energy from a keyboard script or hardware remote.
  • Includes a neural network embedded in the car, trained on color sensor readings to classify colors (white, black, red, green).
  • Can be trained on labeled color sensor data with a Python training script.
  • Can be driven with the w, a, s, d keys through a Python script for debugging.

Works with AI

Found by Robotheca in the project's files at commit 846dd3e, its robot.yaml and Robotheca's notes on its documents. Never guessed; Robotheca doesn't run the code.

Bill of materials

32 parts

32 of 32 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1U9 TPS631000DRLR1––
2R6,R26,R28,R29,R9,R1,R27,R11,R4 10K9––
3C2,C16,C20,C18,C5,C6,C19,C1,C22 10uF9––
4S2 SWITCH_0SMTRLFS1––
5C7,C12,C13,C24,C15,C3,C8,C14,C4,C23,C11,C25 0.1uF12––
6R2 8061––
7U6 AP22051––
8R23 1.43K1––
9J9 Conn_02x03_SMT1––
10Q1 BSS1381––
11D9 LED_RED1––
12R17,R22,R18 5K13––
13LED1,LED3,LED5,LED4,LED2 IN-PI15TAT5R5G5B5––
14D8 LED_GREEN1––
15U4,U1,U2,U3 A39084––
16J12 JST 2.0 BATT1––
17P1 USB_C_Plug_USB2.01––
18TH1 TH 10K1––
19U5 ESP32-H2-MINI-11––
20R3 911––
21R5 4701––
22L1 1uH1––
23C10 1uF1––
24R21,R20 3302––
25D5 TPD1E10B061––
26S1 JS102011SAQN1––
27R24 75K1––
28U7 MCP738331––
29C17 22uF1––
30R16 1M1––
31C9 47uF1––
32C21 2.2uF1––

32 of 32 parts have no price in the source, so there is no parts total. Read from hardware/racer/racer-v1.0-BOM.csv at the pinned commit.

Build guide

The guide appears here as you scroll.

Guide by @StuckAtPrototype (README.md), under Apache-2.0.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • ESP32-H2-MINI-1 module as the main microcontroller.
  • A3908 motor driver ICs, four of them, for driving the motors.
  • IN-PI15TAT5R5G5B addressable LEDs, five of them.
  • Color sensor used for classifying colors.
  • TPS631000 buck-boost converter and AP2205 regulator for power.
  • MCP73833 battery charger with a JST 2.0 battery connector.
  • USB-C connector.
  • Thermistor (TH1, 10K) and BSS138 MOSFET, plus status LEDs and tactile switches.

Connections

  • Motor driver outputs connect to the car's two motor sides, controlled by the ESP32 firmware.
  • Power path runs from the battery connector through the charger and regulators to the ESP32 and drivers.
  • Other connections are documented only in the KiCad schematic files, which this summary did not analyze in detail.

Cables and connectors

From the parts list.

  • J12 JST 2.0 BATT × 1