

Cody
A robot for the next season of WRO Robomission Senior
- Size
- 125 × 99.9 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 34
- Nets
- 92
- Pads
- 217
- Tracks, vias
- 602, 54
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 3 Dec 2025
- Updated
- 11 Jul 2026
Overview
Cody is an open-source printed circuit board by Mikuel210, from the Mikuel210/Cody repository on GitHub. It is a 2-layer board of 125 × 99.9 mm with 34 parts on 92 nets, routed with 602 tracks and 54 vias.
Its parts include 13 connectors, 7 resistors, 7 ICs, 1 diode and 1 switch. It belongs with the robots and motor control boards and the ESP32 boards of this library.
README
README.md
Cody is a robot for the next season of WRO Robomission Senior.
The World Robot Olympiad (WRO) is a global robotics competition. For the Robomission challenge, you have to design, build and program a robot to complete a set of challenges on a board in under 2 minutes. Cody is our attempt at making our best robot so far, and I'm designing it to be faster, more precise and more reliable than all of our previous.

This year's challenges
- There is a mosaic with a randomized pattern of colors at the center of the board. You have to place a block of the right color in each square of the grid to score.


- There are blocks of "cement" of different colors on the board. You have to carry the blocks of each color to their corresponding area.

Our solution
- A toolhead grabs and drops blocks for the mosaic by using wheels

- A mill picks up, carries and releases two colors of cement at a time

How it works
- Electronics: I'm using an ESP32 as the microcontroller, an MPU9250 IMU for orientation and a TCS34725 color sensor for detecting the lines on the board. I'm also using an ADS1115 ADC for measuring the voltage of the battery and a PCF8575 GPIO expander.
- Camera: I'm using an ESP32-CAM to detect the color pattern of the mosaic.
- Actuators: I'm using JGB37-3530 motors for the wheels and N20 motors for the toolhead and for the mill. I'm using TB6612FNG drivers to control them.
- Power: I'm using a 3S 2200mAh LiPo battery for powering the robot. I'm also using a voltage regulator for powering the ESP32.
- Structure: I'm using 3D printed structural parts that have attachments for the components. I will be printing them out of PETG. I'm also using standard hardware such as bearings, carbon fiber rods and castor wheels.
- Software: I'm using odometry and a Pure Pursuit algorithm for control.
Why I made this
My team has been using Lego Spike since we started competing, but it's starting to show its limitations. Last year, we went to the international final for the first time. Robomission had opened up to all hardwares for the first time this year, which means other teams could make faster, more precise and more reliable robots than what we could possibly do with Lego. I'm designing this robot to be faster, more precise and more reliable than our previous robots with the power of open hardware.
PCB



Wiring diagram

Onshape Document
Cart screenshots

Note: I will be buying two of the carbon fiber rods above but AliExpress didn't feel like allowing me to add more than one to my cart at the moment

BOM
Note that the amount to buy might be higher than the amount to be used because the item is sold in bulk
Made with ❤️ for Blueprint thanks to Hack Club
Parts
34| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2, R3, R4, R5, R6, R7 |
| 3 | ~ | Dependencies:TB6612FNG | U2, U3, U7 |
| 1 | 6V Input | Connector_AMASS:AMASS_XT60-M_1x02_P7.20mm_Vertical | J14 |
| 1 | A1 Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J5 |
| 1 | A2 Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J6 |
| 1 | A3 Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J3 |
| 1 | A4 Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J4 |
| 1 | Battery Balance | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J7 |
| 1 | Battery Discharge | Connector_AMASS:AMASS_XT60-M_1x02_P7.20mm_Vertical | J13 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | Camera | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J8 |
| 1 | ESP32-DEVKITC-32D | Dependencies:ESP32-DEVKITC-32D | U1 |
| 1 | LED | LED_THT:LED_D3.0mm | D1 |
| 1 | Left Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J1 |
| 1 | Limit Switch 1 | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J9 |
| 1 | Limit Switch 2 | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J10 |
| 1 | Right Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J2 |
| 1 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW3 |
| 1 | TCS34725 Color Sensor | Connector_JST:JST_XH_B7B-XH-A_1x07_P2.50mm_Vertical | J15 |
| 1 | ~ | Dependencies:PCF8575 | U6 |
| 1 | ~ | Dependencies:ADS1115 | U5 |
| 1 | ~ | Dependencies:GY-9250 | U4 |
The 30 most common of 34 parts.
Questions
How big is the Cody PCB?
It measures 125 × 99.9 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Cody use?
34 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 Cody KiCad files?
From the Mikuel210/Cody repository on GitHub, at the commit this page was made from: the board is PCB/Cody.kicad_pcb and its schematic PCB/Cody.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Cody design in my own project?
Its repository states no licence, so its author keeps all rights: ask Mikuel210 before reusing the design.
Similar boards
- 2 layers142.5 × 106.4 mm

- 2 layers26 × 30 mm

Microcontroller
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
34 parts1.1kCC-BY-4.0 - 2 layers171.2 × 72.9 mm

Amiga gfxcard old
mntmn/amiga2000-gfxcard
MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog
34 parts1k - 2 layers53.5 × 62.5 mm

Led matrix
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
34 parts915 - 2 layers45 × 26 mm

- 2 layers41.7 × 25.7 mm

Headphones flex pcb rigid
strangeparts/niubi-headphones
Flexible circuit board design for adding a headphone jack to an iPhone 7
34 parts493MIT - 2 layers18.8 × 16.3 mm

- 2 layers127 × 69.9 mm

Ezcgi
baldengineer/bit-preserve
Project for capturing vintage, classic, aka old computer schematics in KiCad.
34 parts446