Skip to the content
2 layers105 × 70 mmRobotCar, the printed circuit board in 3D

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.md

NarBot

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 the SMARS_MAIN access point at 192.168.4.1, serves the dashboard, and streams its local camera.
  • front_esp: joins SMARS_MAIN as a station, tries to use static IP 192.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:

sh
cd NarbotESP
make compile
make upload_main
make upload_front
make monitor

Equivalent PlatformIO commands:

sh
pio run -e main_esp -t upload
pio run -e front_esp -t upload
pio device monitor

CameraDriver

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:

sh
cd CameraDriver
make compile
make upload
make monitor

NarbotPCB

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

text
.
├── CameraDriver/      # Experimental ESP32 camera + motor driver firmware
├── ColorCalibration/  # Calibration workspace
├── NarbotESP/         # Two-ESP camera streaming firmware
├── NarbotPCB/         # KiCad board project
└── README.md

Requirements

  • 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:

sh
git status --short --untracked-files=all

Current Milestone

The main firmware milestone is:

  1. Main ESP starts the SMARS_MAIN access point.
  2. Main dashboard opens at http://192.168.4.1/.
  3. Main ESP camera stream is visible.
  4. Front ESP connects to the main AP at 192.168.4.10.
  5. Front ESP stream appears in the main dashboard.

Parts

13
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
2~MyFootprint:Seeed_XIAO_Sense_2x07_SMD_Socket_12.70mmTB_ESP1, TB_ESP2
1ColorI2CConnector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ3
1DistanceI2CConnector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_VerticalJ4
1Motor_1_ConnConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1
1Motor_2_ConnConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ2
1~MyFootprint:OKY3404_PDC004_PD_Trigger_Socket_1x04TB_PD1
1~MyFootprint:DFRobot_DFR1015_Socket_Carrier_2.54mmTB_DC1
1~MyFootprint:Motor_DF_Robot_Through_HoleTB6612FNG2

Similar boards

  • 2 layers40 × 20 mmUsb uart, the printed circuit board in 3D

    Usb uart

    earthtojake/text-to-cad

    Design physical products with AI

    13 parts26kMIT
  • 2 layers35 × 29 mmMagSpoofTC, the printed circuit board in 3D

    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 mmAO-03 signal amplifier, the printed circuit board in 3D

    AO-03 signal amplifier

    fossasia/pslab-scripts

    Pocket Science Lab - Scripts for Sensor Experiments

    13 parts1.6kApache-2.0
  • 2 layers47 × 35.6 mmMX7-C-35PL C11, the printed circuit board in 3D

    MX7-C-35PL C11

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    13 parts1.2k
  • 2 layers95 × 95 mmCube batteryboard, the printed circuit board in 3D

    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 mmPt100stick, the printed circuit board in 3D

    Pt100stick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    13 parts1.1kGPL-3.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    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.