Skip to the content
PCBKitNew board
4 layers95 × 82 mmBalancingrobot, the printed circuit board in 3D

Control PCB for 16299 at CMU

Size
95 × 82 mm
Copper layers
4
Thickness
1.6 mm
Parts
50
Nets
70
Pads
260
Tracks, vias
494, 108
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
17 Mar 2025
Updated
13 May 2025

Overview

Balancingrobot is an open-source printed circuit board by SuperTails, from the SuperTails/16299-balancing-robot repository on GitHub. It is a 4-layer board of 95 × 82 mm with 50 parts on 70 nets, routed with 494 tracks and 108 vias.

It is built around the ROB-14450, IRM-56384 and 74HC14, with the 74LVC2G14GW, BAT54J and IR204-A-L among its other parts. Its parts include 13 connectors, 11 resistors, 7 ICs, 6 diodes and 3 capacitors. It belongs with the RP2040 and AVR (ATmega, ATtiny) boards of this library.

Main components

6

README

README.md

16299 Balancing Robot PCB

Updated version of the PCB for 16299.

A submodule is used for some parts, so be sure to clone recursively:

bash
git clone --recursive https://github.com/SuperTails/16299-balancing-robot.git

Ordering PCBs

1 - Generate Bill of Materials

To generate the BoM:

  1. Open the schematic editor
  2. Open the "edit symbol fields" menu (table icon along the top ribbon)
  3. Ensure the settings are as shown below
  4. Hit "export".

BOM settings

2 - Generate Gerber Files

To generate the gerber files:

  1. Open the PCB editor
  2. File > Fabrication Outputs > Gerbers (.gbr)...
  3. Ensure the settings are as shown below, including...
  4. ... Make sure you set your output folder to fab/.
  5. Click "Plot"

Gerber settings

More information for plotting Gerber and Drill files is available on JLC's guide.

3 - Generate Drill Files

To generate the drill files:

  1. From the Gerbers menu in the previous step, click "Generate Drill Files"
  2. Ensure the settings are as shown below
  3. Click "Generate"

Drill settings

More information for plotting Gerber and Drill files is available on JLC's guide.

4 - Generate Placement Files

To generate the placement files:

  1. Open the PCB editor
  2. File > Fabrication Outputs > Component Placement (.pos, .gbr)...
  3. Ensure the settings are as shown below
  4. Click "Generate Position File"

Placement settings

5 - File Format Conversion

To convert the files into JLC's preferred format, run the format_bom.py script:

bash
python3 format_bom.py

This will generate fab/bom-jlc.csv and fab/balancingrobot-top-pos-jlc.csv, which should be used for JLC's PCB assembly options (discussed later).

6 - Upload Gerbers

Zip the fab/ directory and upload it to JLC's website. Rarely, the file upload can take up to 10 minutes to complete.

7 - Select Ordering Options

Most settings should default correctly, but there are a few changes:

  1. Set the quantity to the desired amount
  2. Ensure that the order mark is set to "Order Number (Specify Position)"
  3. Enable "PCB Assembly"
  4. Hit "next"

Quantity settings Order settings PCBA settings

8 - Uploading BOM and Placing Components

When prompted to "Upload BOM" and "Add CPL file", upload fab/bom-jlc.csv and fab/balancingrobot-top-pos-jlc.csv.

It may issue a warning that D9 and D10 are not present in the CPL, this is normal and you can continue. D9 and D10 are the IR LEDs which are mounted on the underside of the board, and doing assembly for both top and bottom components makes shipping difficult.

All parts should be selected in the right column and there should be no other errors.

When moving on to placement, JLC may note that "The system detects component that may be offset from the PCB, does it try to automatically align it?" Click cancel on this prompt, as it will displace many of the components to the wrong place.

The through-hole components typically need to be both rotated and dragged to fit; the surface mount components should only be rotated.

Ensure that all surface mount components have the pink dot (pin 1) aligned with the corresponding silkscreen arrow. Some of the SMD components may be upside-down.

There will be four rows of header pins far above the rest of the PCB (shown below); these are the sockets for the Arduino Nano and the motor driver. Be sure to place them as well.

Displaced headers

Once placement is finished, the board should appear as shown below:

Finished placement

When prompted to select a category for your order, I usually select "Robot", as shown below:

Product type selection

This completes all the placement steps, simply complete the rest of the checkout steps to order the PCB.

After ordering, you may receive an email saying that the footprint of the 7-segment display is incorrect. As long as the decimal point is on the bottom and the pink dot is in the bottom left, reply to the email and say the placement is correct.

Parts

50
QtyValueFootprintReferences
64.7kResistor_SMD:R_1206_3216MetricR1, R3, R4, R5, R12, R13
5Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8, J10, J11, J12, J13
4BAT54JDiode_SMD:D_SOD-323FD5, D6, D7, D8
310nFCapacitor_SMD:C_1206_3216MetricC5, C6, C7
3Conn_01x22Connector_PinHeader_2.54mm:PinHeader_1x22_P2.54mm_VerticalJ5, J6, J7
210kResistor_SMD:R_1206_3216MetricR2, R10
21kResistor_SMD:R_1206_3216MetricR6, R7
2Conn_01x06Connector_JST:JST_PH_S6B-PH-K_1x06_P2.00mm_HorizontalJ2, J3
2IR204ALED_THT:LED_D3.0mm_IRBlackD9, D10
2IRM-56384OptoDevice:Vishay_MOLD-3PinU3, U4
2SW_PushButton_Switch_THT:SW_PUSH_6mmSW1, SW2
2SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP3, JP4
15.6kResistor_SMD:R_1206_3216MetricR11
174HC14Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU5
174LVC2G14Package_TO_SOT_SMD:SOT-363_SC-70-6U6
1ARKLEDCustom:ARKLED(Wuxi ARK Tech Elec) SP420361NU7
1Arduino_Nano_RP2040_Connect_SocketArduino:Arduino_Nano_Every_SocketA1
1Conn_01x02Connector_JST:JST_XH_S2B-XH-A-1_1x02_P2.50mm_HorizontalJ4
1Conn_01x04Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ1
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ9
1LOGOCustom:salixG***
1ROB-14450Custom:ROB-14451U1
1~Package_SO:SOP-16_3.9x9.9mm_P1.27mmU8

The 46 most common of 50 parts.

Questions

How big is the Balancingrobot PCB?

It measures 95 × 82 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Balancingrobot use?

50 parts, built around the ROB-14450, IRM-56384, 74HC14 and 74LVC2G14GW. 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 Balancingrobot KiCad files?

From the SuperTails/16299-balancing-robot repository on GitHub, at the commit this page was made from: the board is balancingrobot.kicad_pcb and its schematic balancingrobot.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Balancingrobot design in my own project?

Its repository states no licence, so its author keeps all rights: ask SuperTails before reusing the design.

Similar boards

  • 2 layers80 × 67 mmMinisumoV2, the printed circuit board in 3D

    MinisumoV2

    LaboratorioGluon/Minisumo-FullMango

    Robot minisumo de competición para la OSHWDEM 2026

    97 parts1MIT
  • 4 layers210.8 × 74.9 mmBkm-10rlternative, the printed circuit board in 3D

    Bkm-10rlternative

    skumlos/bkm-10rlternative

    Project aiming to replicate the BKM-10R/11R remote for Sony professional CRT monitors.

    257 parts17
  • 4 layers137 × 79.5 mmTGX4, the printed circuit board in 3D

    TGX4

    hexeguitar/TGX4

    Teensy 4 based guitar amp emulator

    297 parts66
  • 2 layers75 × 82 mmEsp8266-midi, the printed circuit board in 3D

    Esp8266-midi

    tadas-s/OSC2Midi

    ESP8266 based OSC <-> MIDI WiFi bridge

    33 parts34MIT
  • 4 layers47 × 27 mmSD Swap, the printed circuit board in 3D

    SD Swap

    Mr-Bossman/SD_Swap

    A development tool which swaps an sdcard between a usb3 card reader or a SBC.

    44 parts14
  • 2 layers66 × 51.5 mmWiFi Gate Controller, the printed circuit board in 3D

    WiFi Gate Controller

    mikelawrence/WiFi-Gate-Controller

    WiFi enabled Gate Controller Addon to US Automatic Gate Opener

    91 parts8MIT
  • 2 layers80 × 90 mmWiFi Septic Controller, the printed circuit board in 3D

    WiFi Septic Controller

    mikelawrence/WiFi-Septic-Controller

    WiFi enabled Septic Controller

    104 parts8MIT
  • 6 layers83.5 × 99.4 mmTAPRx888, the printed circuit board in 3D

    TAPRx888

    TAPR/TAPRx888

    The TAPR rx888 replacement board project

    225 parts6MIT