Skip to the content
4 layers68 × 60 mmRoboCore V2, the printed circuit board in 3D

RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka).

Size
68 × 60 mm
Copper layers
4
Thickness
1.6 mm
Parts
146
Nets
109
Pads
544
Tracks, vias
1,810, 243
Pours
15
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Oct 2026
Updated
7 Nov 2026

Overview

RoboCore V2 is an open-source printed circuit board by Plastal-Bot-Builders, from the Plastal-Bot-Builders/RoboCoreDocumentation repository on GitHub, published under the MIT licence. It is a 4-layer board of 68 × 60 mm with 146 parts on 109 nets, routed with 1,810 tracks and 243 vias.

It is built around the ESP32-S3-WROOM-1-N8R2, TPS61089RNRR and LSM6DSOX, with the MCP73871-2CCI/ML, TPS3700DSE and USBLC6-2SC6 among its other parts. Its parts include 54 resistors, 35 capacitors, 13 connectors, 9 diodes and 8 ICs. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

RoboCore Zambia: Build. Code. Create. The robot kit and coding app for young makers.

RoboCore

RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka). It has four parts:

  • an ESP32-S3 controller board;
  • a 3D-printed robot with a parallel lift and a geared gripper;
  • a retail box with a quick-start guide;
  • the RoboCore IDE, where students code the robot with blocks or C++.

This repository holds the design sources for all of it: the PCBs, the mechanical design, the software design and the brand. Pitch decks, grant applications and community posts live elsewhere.

The RoboCore robot: navy frame, yellow lift and gripper, V-wheelsThe RoboCore V2 controller board
The robot (V2, Fusion 360)The controller board (V2, KiCad 9)

The controller board (V2)

An XRP-style robot controller on a 68 × 60 mm, 4-layer board. Everything a classroom robot needs is on one board, and it charges and programs over one USB-C cable.

BrainESP32-S3-WROOM-1-N8R2: dual core, Wi-Fi and Bluetooth LE, 8 MB flash, 2 MB PSRAM. Programs over native USB, so no separate programmer is needed
Motors2 DC motors with encoders (DRV8411A dual H-bridge, limited to 1.0 A per motor). JST SH 6-pin, matching the SparkFun XRP motors
Servos4 servo ports on a 5.5 V supply (TPS61089 boost, about 2.5–3 A continuous)
SensorsUltrasonic port (4-pin), 3-channel line-sensor port (5-pin, analog), Qwiic I2C, and an LSM6DSOX 6-axis motion sensor on board
PowerOne Li-ion cell, or several in parallel (3.0–4.2 V), on an XT30 plug. Protected against a reversed or over-voltage pack. USB-C charging at 1 A (MCP73871) and a steady 3.3 V from a buck-boost converter
On boardRGB LED, buzzer, RESET, BOOT and USER buttons, charge and power LEDs, two 14-pin expansion headers
Top of the controller boardUnderside: Designed in Zambia artwork
Top: every port labelled on the silkscreenUnderside: pin names and the "Designed in Zambia" artwork
Close-up of the ESP32-S3 moduleThe connector edge: sensor headers, XT30, USB-C, power switch
The ESP32-S3 module, buttons and IMUThe connector edge: ultrasonic, battery, USB-C, line sensor, power switch
  • Design files: hardware/controller_v2/. Open RoboCore_V2.kicad_pro in KiCad 9.
  • Renders: studio renders made in Blender are in hardware/controller_v2/renders/, full size and 1600 px, with transparent and white backgrounds. Each shot has a map of where every part sits in the image, for pinouts and highlights in the IDE or on the website. See its README.
  • Before connecting anything: the sensor headers are not keyed, so a cable can go on backwards. Read the wrong-plug check. Known issues and bring-up findings are kept in the errata list.
  • Sensor boards: our own 3-channel line sensor and ultrasonic boards are designed in hardware/sensors/. For now the robot uses bought-in modules.

The robot

The current robot (V3, the V-wheel version): an open printed frame with Warren-truss sides, two encoder motors with 56 mm wheels, four V-wheels in wheel wells, a parallel four-bar lift on one MG90S servo (the gripper stays level from the floor to +40 degrees) and a geared gripper on a second servo. The RoboCore V2 controller sits between the side frames, three 18650 cells lie in a printed cradle, the sonar sits in a housing at the front, and a cream rear deck carries an 8 mm Technic/M4 hole grid. 154 x 286 x 111 mm with the lift level, about 620 g; every part prints flat without supports. The V3 model lives in Fusion 360 (document "RoboCore V3 Robot"); the files below are the earlier V2 robot, kept for reference.

Lift poses: floor, carry and up

  • Model: mechanical/robot_v2/RoboCore_V2_Robot.f3d (Fusion 360) and .step (any CAD program).
  • Generator: the model is built by a Python generator through the Fusion API (mechanical/robot_v2/fusion/). Its README explains the parameters, the fasteners and the checks: clashes, overhangs, antenna clearance and caster load.
  • Print files: mechanical/robot_v2/print/, already in print orientation. Every part prints without supports on a 180 mm bed.
  • Cardboard version: a low-cost cardboard chassis template is in mechanical/robot_v2/cardboard/.

The box

The RoboCore mailer box, closedThe box open: quick-start guide and the insert shaped to the robot

A printed mailer box, XRP-style, with the quick-start guide printed inside the lid and an insert with a pocket traced from the robot (lift lowered, jaws on the floor) plus a strip for the cable, screws and card. Outer 303 x 213 x 91 mm. The print-ready 1:1 PDFs are in mechanical/robot_v2/packaging/out_v3/ (generator make_box_v3.py; the V2 box is in out/).

Software

  • RoboCore IDE design (software/ide_design/): the screens of the RoboCore IDE, built in Figma by a plugin. It covers block coding (Google Blockly) and C++ (Monaco), a hardware-first block catalogue, and a behaviour spec. The app itself is developed in its own repository, robocore-ide.
  • System architecture (software/architecture/): UML and C4 diagrams of the whole platform, also generated into Figma.
  • Firmware (software/firmware/motion/): an arm-aware braking limiter in C, with tests.

Brand

A5 flyerRoll-up bannerBrand kit: renders

Event branding is in design/event_branding/: roll-up, pop-up, banner, A5 flyer, A4 tri-fold and the brand kit, built in Figma by a plugin. The topographic backgrounds are drawn from Copperbelt elevation data.


Repository layout

text
hardware/          PCB design (KiCad 9)
  controller_v2/     RoboCore V2 controller: project files, libraries (lib/), PCBWay and JLCPCB order
                     packages (fab/), generator, check, costing and Blender render scripts (tools/),
                     silkscreen artwork sources (technicalreference/), studio renders (renders/)
  sensors/           Line sensor (3-channel) and ultrasonic carrier boards for V2
  controller_v1/     RoboCore V1 (ESP32-C3) controller with its fab package and review scripts
  libraries/         Shared symbol and footprint libraries used by V1
  datasheets/        Component datasheets
mechanical/        Mechanical design
  robot_v2/          The Fusion 360 robot: model, Python generator (fusion/), print files (print/),
                     component STEP exports (export/), mailer box (packaging/), cardboard version
                     (cardboard/), vendor models (vendor/), renders
  board_step/        STEP models of the boards, for mechanical integration
  reference/         Motor and XRP reference pictures and models
  chassis_v1_spec/   Specification and script of the V1 chassis
software/          Software
  ide_design/        RoboCore IDE screens (Figma plugin), app icon, block catalogue, behaviour spec
  architecture/      UML + C4 system architecture (Figma plugin)
  firmware/motion/   Arm-aware braking limiter (C, with tests)
design/            Brand
  event_branding/    Roll-up, banner, flyer, tri-fold and brand kit (Figma plugin), topographic maps
docs/              Specification, costing and sourcing, component lists and supplier quote requests,
                   wrong-plug check and errata, schematic PDFs, part photos, A4 technical-reference
                   posters, progress renders, hand-off notes, PCBWay sponsorship request
tools/             sync_from_sources.sh: copies the working sources into this repo

Opening the designs

  • PCB: open hardware/controller_v2/RoboCore_V2.kicad_pro in KiCad 9. Project libraries resolve through ${KIPRJMOD}/lib; the V1 project's symbol table points at ../libraries.
  • Robot: mechanical/robot_v2/RoboCore_V2_Robot.f3d opens in Fusion 360; the STEP beside it opens anywhere.
  • Box: mechanical/robot_v2/packaging/README.md. The print files are 1:1 PDFs.
  • Board renders: hardware/controller_v2/tools/blender/render_board.sh re-renders them in Blender 5.1, from the KiCad model.
  • Figma plugins: the READMEs in software/ide_design/, software/architecture/ and design/event_branding/ explain how to load and run each plugin.

Status (2026-10-23)

  • Controller V2: two assembled prototypes are paid for at PCBWay (order YU1827457, 14 October) and expected to ship around 11 November. Bring-up findings will go into the errata list.
  • Robot: rev 6. The model and STEP here are Fusion v33.
  • Sensor boards: designed, not yet ordered. The robot uses bought-in modules for now.
  • IDE: in development in robocore-ide.
  • Parts: the component list and supplier quote request for two robots are in docs/.

Keeping this repo up to date

The design work happens in working folders outside this repo. Copy it in, then commit:

bash
tools/sync_from_sources.sh           # list what changed
tools/sync_from_sources.sh --apply   # copy it in

The script lists every source folder it copies. On a slow connection, push large changes in several small commits.

Licence

MIT, see LICENSE. Vendor models under mechanical/robot_v2/vendor/ keep their own licences, noted in each folder's SOURCE.txt.

Parts

146
QtyValueFootprintReferences
13330Resistor_SMD:R_0402_1005MetricR401, R402, R403, R404, R405, R406, R407, R408, R409, R410, R411, R412, R413
120.1uFCapacitor_SMD:C_0402_1005MetricC101, C106, C107, C112, C114, C120, C122, C202, C204, C205, C206, C302
1010kResistor_SMD:R_0402_1005MetricR103, R106, R201, R202, R203, R303, R304, R305, R306, R307
7100kResistor_SMD:R_0402_1005MetricR110, R117, R118, R121, R122, R123, R206
722uFCapacitor_SMD:C_1206_3216MetricC111, C117, C118, C119, C303, C401, C402
51kResistor_SMD:R_0402_1005MetricR105, R107, R108, R109, R119
4M2MountingHole:MountingHole_2.2mm_M2H101, H102, H103, H104
310uFCapacitor_SMD:C_0805_2012MetricC105, C108, C301
322uFCapacitor_SMD:C_0805_2012MetricC109, C110, C201
3FiducialFiducial:Fiducial_1mm_Mask2mmFID101, FID102, FID103
3SI7655DNPackage_SO:Vishay_PowerPAK_1212-8_SingleQ102, Q103, Q104
2100Resistor_SMD:R_0402_1005MetricR111, R205
216.5kResistor_SMD:R_0402_1005MetricR301, R302
21nFCapacitor_SMD:C_0402_1005MetricC304, C305
21uFCapacitor_SMD:C_0402_1005MetricC121, C203
2300kResistor_SMD:R_0402_1005MetricR113, R115
24.7kResistor_SMD:R_0402_1005MetricR207, R208
25.1kResistor_SMD:R_0402_1005MetricR101, R102
2AO3400APackage_TO_SOT_SMD:SOT-23Q105, Q201
2GREENLED_SMD:LED_0603_1608MetricD102, D104
2REDLED_SMD:LED_0603_1608MetricD101, D105
1+3V3TestPoint:TestPoint_Pad_D1.0mmTP101
1+BATTTestPoint:TestPoint_Pad_D1.0mmTP103
11.5AFuse:Fuse_1812_4532MetricF101
110nFCapacitor_SMD:C_0402_1005MetricC115
110uFCapacitor_SMD:C_0603_1608MetricC103
11MResistor_SMD:R_0402_1005MetricR125
11N4148WDiode_SMD:D_SOD-123D202
11N4148WSDiode_SMD:D_SOD-323D107
11uFCapacitor_SMD:C_0603_1608MetricC102
12.2kResistor_SMD:R_0402_1005MetricR120
12.2uFCapacitor_SMD:C_0603_1608MetricC113
12.2uHRoboCoreV2:L_Bourns_SRP5030CAL102
12.2uHInductor_SMD:L_Bourns-SRN4018L101
1200kResistor_SMD:R_0402_1005MetricR116
122pFCapacitor_SMD:C_0402_1005MetricC116
1267kResistor_SMD:R_0402_1005MetricR104
133Resistor_SMD:R_0402_1005MetricR204
1330kResistor_SMD:R_0402_1005MetricR124
14.7uFCapacitor_SMD:C_0805_2012MetricC104
184.5kResistor_SMD:R_0402_1005MetricR114
19.1kResistor_SMD:R_0402_1005MetricR112
195.3kResistor_SMD:R_0402_1005MetricR126
1AO3401APackage_TO_SOT_SMD:SOT-23Q101
1BLUELED_SMD:LED_0603_1608MetricD103
1BOOTButton_Switch_SMD:SW_SPST_SKQG_WithoutStemSW202
1CMT-8504-100-SMTBuzzer_Beeper:MagneticBuzzer_CUI_CMT-8504-100-SMTBZ201
1DRV8411ARTERPackage_DFN_QFN:WQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm_ThermalViasU301
1ESP32-S3-WROOM-1-N8R2RF_Module:ESP32-S3-WROOM-1U201
1EXPANSION_AConnector_PinSocket_2.54mm:PinSocket_1x14_P2.54mm_VerticalJ405
1EXPANSION_BConnector_PinSocket_2.54mm:PinSocket_1x14_P2.54mm_VerticalJ406
1GNDTestPoint:TestPoint_Pad_D1.0mmTP104
1LINE_FOLLOWERConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ404
1LSM6DSOXPackage_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU202
1MCP73871-2CCI/MLPackage_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm_ThermalViasU102
1MOTOR_1Connector_JST:JST_SH_BM06B-SRSS-TB_1x06-1MP_P1.00mm_VerticalJ301
1MOTOR_2Connector_JST:JST_SH_BM06B-SRSS-TB_1x06-1MP_P1.00mm_VerticalJ302
1ON/OFFButton_Switch_SMD:SW_SPDT_CK_JS102011SAQNSW101
1QwiicConnector_JST:JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ201
1RESETButton_Switch_SMD:SW_SPST_SKQG_WithoutStemSW201
1SELJumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP101
1SERVO_1Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ401
1SERVO_2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ402
1SERVO_3Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ407
1SERVO_4Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ408
1SMF5.0ADiode_SMD:D_SMFD106
1TPS3700Package_TO_SOT_SMD:TSOT-23-6U105
1TPS61089RNRRPackage_DFN_QFN:Texas_VQFN-RNR0011A-11U104
1TPS63001DRCRPackage_SON:Texas_DRC0010J_ThermalViasU103
1TYPE-C-31-M-12Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J101
1ULTRASONICConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ403
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U101
1USERButton_Switch_SMD:SW_SPST_SKQG_WithoutStemSW203
1VMOTTestPoint:TestPoint_Pad_D1.0mmTP102
1VSYS_SWTestPoint:TestPoint_Pad_D1.0mmTP105
1WS2812B-2020LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mmD201
1XT30UPB-MRoboCoreV2:AMASS_XT30UPB-M_1x02_P5.0mm_VerticalJ102

More from Plastal-Bot-Builders/RoboCoreDocumentation

3
  • 4 layers68 × 60 mmRoboCore, the printed circuit board in 3D

    RoboCore

    Plastal-Bot-Builders/RoboCoreDocumentation

    RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka).

    104 partsMIT
  • 2 layers60 × 24 mmRoboCore LineSensor, the printed circuit board in 3D

    RoboCore LineSensor

    Plastal-Bot-Builders/RoboCoreDocumentation

    RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka).

    25 partsMIT
  • 2 layers46 × 22 mmRoboCore Ultrasonic, the printed circuit board in 3D

    RoboCore Ultrasonic

    Plastal-Bot-Builders/RoboCoreDocumentation

    RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka).

    19 partsMIT

Similar boards

  • 4 layers100 × 120 mmMicromouse pcb, the printed circuit board in 3D

    Micromouse pcb

    MukeshSethy/micromouse-runner

    This is my repo for the first version of full size micromouse development.

    184 parts
  • 4 layers90 × 60 mmVW MTC1, the printed circuit board in 3D

    VW MTC1

    Sajeevanveeriah/Ataxia-Monitor

    Real-Time Ataxia Monitor

    154 partsUnlicense
  • 2 layers60 × 40 mmCanary, the printed circuit board in 3D

    Canary

    offgridevices/offgrid-hardware

    Open hardware from OffGrid Devices. One folder per board. CERN-OHL-S.

    52 partsCERN-OHL-S-2.0
  • 2 layers100 × 50 mmClock pcb, the printed circuit board in 3D

    Clock pcb

    MitchellStride/Hummingbird-RP2040-Clock-Module

    RP2040 RTC Module, highly compatible with JLCPCB's basic SMT components.

    124 parts2
  • 2 layers99 × 54 mmRocciBoard, the printed circuit board in 3D

    RocciBoard

    Robotics-Competence-Center-Illertal-e-V/RocciBoard-PCB

    Layout and Schematic for the Rocci Board

    223 parts3
  • 2 layers52 × 66.5 mmRP2040-MiniPill Breakout Board, the printed circuit board in 3D

    RP2040-MiniPill Breakout Board

    dokuhn/RP2040-MiniPill-Breakout-Board

    This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].

    27 parts
  • 4 layers144 × 133 mmTerkaPCB, the printed circuit board in 3D

    TerkaPCB

    kaszmirek/TerkaPCB

    99 parts

Questions

How big is the RoboCore V2 PCB?

It measures 68 × 60 mm and has 4 copper layers, 1.6 mm thick.

What parts does the RoboCore V2 use?

146 parts, built around the ESP32-S3-WROOM-1-N8R2, TPS61089RNRR, LSM6DSOX and MCP73871-2CCI/ML. 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 RoboCore V2 KiCad files?

From the Plastal-Bot-Builders/RoboCoreDocumentation repository on GitHub, at the commit this page was made from: the board is hardware/controller_v2/RoboCore_V2.kicad_pcb and its schematic hardware/controller_v1/Buttons.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RoboCore V2 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).