

RobotCar
Narbot Prototype
- Size
- 105 × 70 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 13
- Nets
- 31
- Pads
- 68
- Tracks, vias
- 84, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 24 Jun 2026
- Updated
- 29 Jun 2026
Overview
RobotCar is an open-source printed circuit board by jyriandut, from the jyriandut/NarBot repository on GitHub. It is a 2-layer board of 105 × 70 mm with 13 parts on 31 nets, routed with 84 tracks and 0 vias.
README
README.mdNarBot
NarBot is an experimental SMARS-style robot workspace. It currently contains PlatformIO firmware for ESP32 camera/control nodes plus a KiCad PCB project.
The active firmware work is focused on getting reliable ESP32 camera streams, basic Wi-Fi setup, and simple robot-control building blocks working before adding a larger autonomous control stack.
Projects
NarbotESP
Minimal dual-camera firmware for two Seeed Studio XIAO ESP32S3 Sense boards. The same codebase builds in two modes:
main_esp: starts theSMARS_MAINaccess point at192.168.4.1, serves the dashboard, and streams its local camera.front_esp: joinsSMARS_MAINas a station, tries to use static IP192.168.4.10, and serves its own camera stream.
Main endpoints:
http://192.168.4.1/- dashboard hosted by the main ESP/status- JSON status/jpg- single JPEG frame/stream- MJPEG stream
Default Wi-Fi credentials used by the prototype:
- SSID:
SMARS_MAIN - Password:
smars1234
Build and upload:
cd NarbotESP
make compile
make upload_main
make upload_front
make monitorEquivalent PlatformIO commands:
pio run -e main_esp -t upload
pio run -e front_esp -t upload
pio device monitorCameraDriver
Experimental all-in-one XIAO ESP32S3 Sense firmware. This project currently contains motor-control, camera capture/streaming, setup AP, simple web UI, serial console, headlight/status LED behavior, and color-sensor code.
Hardware assumptions in the current firmware include:
- Seeed Studio XIAO ESP32S3 Sense with camera
- DFRobot TB6612FNG motor driver
- TCS34725-compatible color sensor at I2C address
0x29
Setup AP used by the prototype:
- SSID:
CameraDriver-Setup - Password:
smars1234
Build and upload:
cd CameraDriver
make compile
make upload
make monitorNarbotPCB
KiCad PCB project for the robot electronics.
Commit these files:
*.kicad_pro*.kicad_sch*.kicad_pcb
Local KiCad backups and project-local state are ignored by
NarbotPCB/.gitignore.
ColorCalibration
Placeholder/calibration workspace. At the moment only generated PlatformIO
output was present, so .pio/ is ignored there.
Repository Layout
.
├── CameraDriver/ # Experimental ESP32 camera + motor driver firmware
├── ColorCalibration/ # Calibration workspace
├── NarbotESP/ # Two-ESP camera streaming firmware
├── NarbotPCB/ # KiCad board project
└── README.mdRequirements
- PlatformIO CLI (
pio) - USB serial access to the ESP32 boards
- KiCad for the PCB project
The firmware targets ESP32 boards through PlatformIO's espressif32 platform
and uses the Arduino framework.
Git Notes
Each project has its own .gitignore for generated files. Build output,
downloaded PlatformIO dependencies, clangd caches, notebook scratch files,
macOS metadata, and KiCad backups should stay uncommitted.
Useful status check:
git status --short --untracked-files=allCurrent Milestone
The main firmware milestone is:
- Main ESP starts the
SMARS_MAINaccess point. - Main dashboard opens at
http://192.168.4.1/. - Main ESP camera stream is visible.
- Front ESP connects to the main AP at
192.168.4.10. - Front ESP stream appears in the main dashboard.
Parts
13| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | ~ | MyFootprint:Seeed_XIAO_Sense_2x07_SMD_Socket_12.70mm | TB_ESP1, TB_ESP2 |
| 1 | ColorI2C | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J3 |
| 1 | DistanceI2C | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J4 |
| 1 | Motor_1_Conn | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J1 |
| 1 | Motor_2_Conn | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J2 |
| 1 | ~ | MyFootprint:OKY3404_PDC004_PD_Trigger_Socket_1x04 | TB_PD1 |
| 1 | ~ | MyFootprint:DFRobot_DFR1015_Socket_Carrier_2.54mm | TB_DC1 |
| 1 | ~ | MyFootprint:Motor_DF_Robot_Through_Hole | TB6612FNG2 |
Similar boards
- 2 layers40 × 20 mm

- 2 layers74.9 × 49.5 mm

- 2 layers35 × 29 mm

MagSpoofTC
samyk/magspoof
A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.
13 parts4.2k - 2 layers20.6 × 23.6 mm

AO-03 signal amplifier
fossasia/pslab-scripts
Pocket Science Lab - Scripts for Sensor Experiments
13 parts1.6kApache-2.0 - 2 layers47 × 35.6 mm

- 2 layers95 × 95 mm

Cube batteryboard
willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels
13 parts1.1kGPL-3.0 - 2 layers15.2 × 20.3 mm

Pt100stick
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
13 parts1.1kGPL-3.0 - 2 layers53.9 × 23.2 mm

Buffer
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
13 parts1kGPL-3.0
Questions
How big is the RobotCar PCB?
It measures 105 × 70 mm and has 2 copper layers, 1.6 mm thick.
What parts does the RobotCar use?
13 parts. 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 RobotCar KiCad files?
From the jyriandut/NarBot repository on GitHub, at the commit this page was made from: the board is NarbotPCB/RobotCar.kicad_pcb and its schematic NarbotPCB/RobotCar.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the RobotCar design in my own project?
Its repository states no licence, so its author keeps all rights: ask jyriandut before reusing the design.