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

RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka).
RoboCore 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 104 parts on 99 nets, routed with 1,176 tracks and 360 vias.
It is built around the ESP32-C3-WROOM-02-H4, MCP73871EV and DRV8245HQRXZRQ1, with the CP2102N-A02-GQFN24, TPS61089RNRR and W25Q32JVSSIQ among its other parts. Its parts include 41 resistors, 31 capacitors, 9 ICs, 6 diodes and 5 connectors. It belongs with the ESP32 and RISC-V boards of this library.
RoboCore is a classroom robot kit and coding platform, designed and built in Zambia by Plastal-Bot Builders (Lusaka). It has four parts:
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 robot (V2, Fusion 360) | The controller board (V2, KiCad 9) |
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.
| Brain | ESP32-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 |
| Motors | 2 DC motors with encoders (DRV8411A dual H-bridge, limited to 1.0 A per motor). JST SH 6-pin, matching the SparkFun XRP motors |
| Servos | 4 servo ports on a 5.5 V supply (TPS61089 boost, about 2.5–3 A continuous) |
| Sensors | Ultrasonic port (4-pin), 3-channel line-sensor port (5-pin, analog), Qwiic I2C, and an LSM6DSOX 6-axis motion sensor on board |
| Power | One 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 board | RGB LED, buzzer, RESET, BOOT and USER buttons, charge and power LEDs, two 14-pin expansion headers |
![]() | ![]() |
| Top: every port labelled on the silkscreen | Underside: pin names and the "Designed in Zambia" artwork |
![]() | ![]() |
| The ESP32-S3 module, buttons and IMU | The connector edge: ultrasonic, battery, USB-C, line sensor, power switch |
hardware/controller_v2/. Open RoboCore_V2.kicad_pro in KiCad 9.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.hardware/sensors/. For now the robot uses bought-in modules.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.
mechanical/robot_v2/RoboCore_V2_Robot.f3d (Fusion 360) and .step (any CAD program).mechanical/robot_v2/fusion/). Its README explains the parameters, the fasteners and the checks: clashes, overhangs, antenna clearance and caster load.mechanical/robot_v2/print/, already in print orientation. Every part prints without supports on a 180 mm bed.mechanical/robot_v2/cardboard/.![]() | ![]() |
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/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.software/architecture/): UML and C4 diagrams of the whole platform, also generated into Figma.software/firmware/motion/): an arm-aware braking limiter in C, with tests.![]() | ![]() | ![]() |
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.
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 repohardware/controller_v2/RoboCore_V2.kicad_pro in KiCad 9. Project libraries resolve through ${KIPRJMOD}/lib; the V1 project's symbol table points at ../libraries.mechanical/robot_v2/RoboCore_V2_Robot.f3d opens in Fusion 360; the STEP beside it opens anywhere.mechanical/robot_v2/packaging/README.md. The print files are 1:1 PDFs.hardware/controller_v2/tools/blender/render_board.sh re-renders them in Blender 5.1, from the KiCad model.software/ide_design/, software/architecture/ and design/event_branding/ explain how to load and run each plugin.docs/.The design work happens in working folders outside this repo. Copy it in, then commit:
tools/sync_from_sources.sh # list what changed
tools/sync_from_sources.sh --apply # copy it inThe script lists every source folder it copies. On a slow connection, push large changes in several small commits.
MIT, see LICENSE. Vendor models under mechanical/robot_v2/vendor/ keep their own licences, noted in each folder's SOURCE.txt.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10K | Resistor_SMD:R_0805_2012Metric | R6, R7, R9, R18, R30, R31, R32, R33 |
| 6 | 470 | Resistor_SMD:R_0805_2012Metric | R3, R4, R5, R10, R14, R15 |
| 5 | 0.1uf | Capacitor_SMD:C_0805_2012Metric | C1, C4, C6, C10, C13 |
| 5 | 10k | Resistor_SMD:R_0805_2012Metric | R21, R26, R27, R28, R29 |
| 4 | 1uf | Capacitor_SMD:C_0805_2012Metric | C2, C8, C14, C20 |
| 4 | 22uF 16V | Capacitor_SMD:C_1206_3216Metric | C22, C24, C25, C26 |
| 4 | MountingHole | MountingHole:MountingHole_2mm | H1, H2, H3, H4 |
| 3 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C31, C32, C33 |
| 3 | 100K | Resistor_SMD:R_0805_2012Metric | R39, R40, R41 |
| 3 | 10uf | RoboCoreFootPrints1:T491A | C5, C7, C11 |
| 3 | LTST-C170KRKT | RoboCoreFootPrints1:LEDC2012X120N | LED1, LED4, LED6 |
| 2 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C23, C28 |
| 2 | 1K | Resistor_SMD:R_0805_2012Metric | R8, R13 |
| 2 | 1k | Resistor_SMD:R_0805_2012Metric | R24, R25 |
| 2 | 2.2uf | Capacitor_SMD:C_0805_2012Metric | C16, C17 |
| 2 | 22uf | Capacitor_SMD:C_0805_2012Metric | C18, C19 |
| 2 | 300K | Resistor_SMD:R_0603_1608Metric | R35, R37 |
| 2 | 4.7K | Resistor_SMD:R_0805_2012Metric | R19, R20 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | 50 | Resistor_SMD:R_0805_2012Metric | R16, R17 |
| 2 | 8.2K | Resistor_SMD:R_0805_2012Metric | R22, R23 |
| 2 | BC817 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | DRV8245HQRXZRQ1 | RoboCoreFootPrints:DRV8245HQRXZRQ1 | IC1, IC2 |
| 2 | LTST-C170GKT | RoboCoreFootPrints1:LEDC2012X120N | LED2, LED5 |
| 1 | 10nF | Capacitor_SMD:C_0603_1608Metric | C29 |
| 1 | 2.2nf | Capacitor_SMD:C_0805_2012Metric | C15 |
| 1 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C27 |
| 1 | 2.2uH | Inductor_SMD:L_Coilcraft_XAL5030-XXX | L1 |
| 1 | 200K | Resistor_SMD:R_0603_1608Metric | R38 |
| 1 | 22K | Resistor_SMD:R_0805_2012Metric | R12 |
| 1 | 22pF | Capacitor_SMD:C_0603_1608Metric | C30 |
| 1 | 4.7uf | Capacitor_SMD:C_0805_2012Metric | C12 |
| 1 | 4.7uf | RoboCoreFootPrints1:T491A | C9 |
| 1 | 47K | Resistor_SMD:R_0805_2012Metric | R11 |
| 1 | 75K | Resistor_SMD:R_0603_1608Metric | R36 |
| 1 | 9.1K | Resistor_SMD:R_0603_1608Metric | R34 |
| 1 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q3 |
| 1 | BOOT | RoboCoreFootPrints1:SW4-SMD-5.2X5.2X1.5MM | SW2 |
| 1 | CP2102N-A02-GQFN24 | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U2 |
| 1 | ESP32-C3-WROOM-02-H4 | RoboCoreFootPrints:MODULE_ESP32-C3-WROOM-02-H4 | U4 |
| 1 | LTST-C170TBKT | RoboCoreFootPrints1:LEDC2012X120N | LED3 |
| 1 | MCP73871 | Package_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm | U1 |
| 1 | MOTOR_A | RoboCoreFootPrints1:JST_B2B-PH-SM4-TB | J3 |
| 1 | MOTOR_B | RoboCoreFootPrints1:JST_B2B-PH-SM4-TB | J4 |
| 1 | MPU-6050 | Sensor_Motion:InvenSense_QFN-24_4x4mm_P0.5mm | U5 |
| 1 | POWER_SW | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J5 |
| 1 | Polyfuse | RoboCoreFootPrints:FUSSC324X455X250-2N | F2 |
| 1 | RESET | RoboCoreFootPrints1:SW4-SMD-5.2X5.2X1.5MM | SW1 |
| 1 | TLV1117LV33DCYR | RoboCoreFootPrints1:VREG_LM1117MPX-3.3_NOPB | VR1 |
| 1 | TPS61089RNRR | Package_DFN_QFN:Texas_VQFN-RNR0011A-11 | U7 |
| 1 | TYPE-C-31-M-12 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | W25Q32JVSSIQ | RoboCoreFootPrints1:SOIC127P790X216-8N | U6 |
| 1 | XT30UPB-M | Connector_AMASS:AMASS_XT30UPB-M_1x02_P5.0mm_Vertical | J2 |
It measures 68 × 60 mm and has 4 copper layers, 1.6 mm thick.
104 parts, built around the ESP32-C3-WROOM-02-H4, MCP73871EV, DRV8245HQRXZRQ1 and CP2102N-A02-GQFN24. 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.
From the Plastal-Bot-Builders/RoboCoreDocumentation repository on GitHub, at the commit this page was made from: the board is hardware/controller_v1/RoboCore.kicad_pcb and its schematic hardware/controller_v1/Buttons.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).

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

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

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

ddennis18/ESP32-IoT-DevBoard
An ESP32-C3 based IoT controller board designed in KiCad. The board combines wireless control, sensor interfaces, local storage, audio/light sensing, USB connectivity, and single-cell Li-ion battery support on a compact…

EngMeesh/ESP32_IoT_Dev_Board
A custom 4-layer IoT development board based on the ESP32-C3, featuring integrated LiPo battery management, a CP2102N USB-UART bridge, MicroSD support, and onboard environmental/audio sensors for embedded engineering…

kaushal1020/esp32-c3-02-KiCAD-Design
A custom ESP32-C3-02 Development Board designed from scratch using KiCad. This repository contains the complete hardware design, including schematic, PCB layout, and supporting files for manufacturing and development.

SarthakDas2006/ESP32-C3-IoT-Embedded-Custom_PCB
4-layer ESP32-C3 based custom embedded IoT PCB featuring onboard temperature & humidity, light, and audio sensing, USB Type-C, Li-Po charging, and external flash memory.

WasikeIsaac/ESP32_IOT-PCB-
ESP32 IoT board: 4-layer KiCad PCB with USB-C, BME280, mic, audio amp, SD card, GPIO breakout. Full custom design from schematic to layout.

YUKESH0620/ESP32-C3-Sensor-PCB
This repository contains the complete hardware design of a custom ESP32-C3 based Smart Sensor Board, including schematics, PCB layout, and documentation.

ashfaque-ur-rahman/ESP32-Multi-Sensor-PCB
ESP32-based multi-sensor PCB with temperature/humidity, light, and microphone sensors — 4 layer Board — KiCad design based on Tech Explorations tutorial
