Skip to the content
PCBKitNew board
2 layers140.5 × 91 mmAxis pcb v3, the printed circuit board in 3D

Axis pcb v3

MrQuaq/AXIS

Balancing robot

Size
140.5 × 91 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
43
Pads
104
Tracks, vias
156, 11
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
28 Jul 2026
Updated
27 Oct 2026

Overview

Axis pcb v3 is an open-source printed circuit board by MrQuaq, from the MrQuaq/AXIS repository on GitHub, published under the MIT licence. It is a 2-layer board of 140.5 × 91 mm with 31 parts on 43 nets, routed with 156 tracks and 11 vias.

It is built around the SS34. Its parts include 16 connectors, 5 capacitors, 2 diodes, 1 resistor and 1 fuse. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

1

README

README.md

AXIS — Balancing robot

AXIS is a dual wheeled self-balancing robot built around an ESP32 and custom PCB!

Project overview

AXIS is a dual wheeled balancing robot, using a PID algorithm to keep its balance. The main microcontroller of the robot will be the ESP32. This enables the use of an Xbox controller for controlling the robot. Certain buttons on the controller will be mapped to the pid value settings so they can be changed on the fly, which should make the tuning process a lot easier.

As an additional feature that will be tested after the robot is already stable, 2 encoders that are already mounted on the motors will be added. Their data will be used in a second PID algorithm to hopefully get the robot to stay in a single place a lot easier. This feature is still completely optional and can easily be turned on by a button on the Xbox controller.

Goals

The goal of this project is to become more familiarized with electronics to get a good foundation for future projects. And to grasp the basics of PCB-design.

The goal for the robot itself is to make it balance without jittering too much and to make it drivable via a controller.

Key components

  • Custom PCB to mount breakout boards on
  • 3D-printed frame
  • Custom code featuring a PID algorithm and bluetooth connection

PCB design

This PCB features lots of female header pins to mount existing breakout boards onto. This framework makes for more reliable connections and pcb-design experience.
To design the board I used KiCAD, a free open-source EDA.

The first step in the design process was coming up with the requirements and features of the board.
These include:

  • Measuring the robots angle reliably
  • Driving the motors
  • Being able to connect a small lcd display for easier status updates and eventually PID tuning
  • Accept power from a 7,2V NiMH battery
  • Have connectors for encoders

After setting these requirements, a schematic was designed before moving on to the actual tracing. This also enabled me to become even more familiarized with the design and the components.

With the schematic made, the pcb tracing was fairly easy. I paid special attention to the spacing between the female pin headers so the modules would fit properly. A ground plane was also added on the bottom of the PCB to make wiring easier. To disturb this plane as little as possible, I tried to lay out the PCB in such a way that I have almost no traces on the back side.
The final PCB features:

  • Headers for ESP32
  • Headers for IMU module (ICM20948)
  • Headers for motor driver (tb6612fng)
  • Headers for lcd display
  • Screw terminals for motors and encoders
  • Components to provide the right (and stable) voltages to all components
  • Protection components

3D-CAD

For the CAD I used a program I’m fairly familiar with; Fusion 360.
The frame is divided into 3 key parts:

  • Motor mount
  • Bottom compartment
  • Top compartment

The motor mount is made so that the motor has no room to shake. This results in a weird internal shape because of the irregular shape of the motor with right angle gearbox. Additionally the motor is able to be secured with 4 screws via the motor mount cover. This cover also features some cooling slots (but I doubt I need them).

Further up, we have the bottom compartment of the head. This houses the custom PCB. Connections to the encoders and motors pass through the bottom to the motor mount.

Above, there is the top compartment of the head. Here is the battery, LCD screen and switch. Again, their connections will pass through the bottom to the compartment below.
Finally a lid, secured with magnets for easy access, covers up the top.

Timeline

What’s already been done:

  • Full code (imu, controller, PID’s and motor)
  • PCB design in KiCad
  • IMU testing
  • Motor testing
  • PID testing (imu and motor)
  • 3D-CAD

What still needs to be done:

  • 3D printing the frame
  • Ordering the PCB
  • Final assembly
  • PID tuning

Gallery

3D-CAD
AXIS Frame 34AXIS Frame Front
AXIS Frame LeftAXIS Frame Right
AXIS Frame Motor MountAXIS Frame Bottom Compartiment Bottom
AXIS Frame Bottom Compartiment TopAXIS Frame Top Compartiment
PCB-design
AXIS PCB SchematicAXIS PCB Layout
AXIS PCB 3dModel

Parts

31
QtyValueFootprintReferences
2100nFCapacitor_SMD:C_0805_2012MetricC5, C6
1100 µFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC2
11000µFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC1
11KResistor_SMD:R_0805_2012MetricR1
13AFuse:Fuseholder_Blade_Mini_Keystone_3568F1
1470µFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC4
17.2VTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ1
1ESP-32-LEFTConnector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalJ6
1ESP-32-RIGHTConnector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalJ8
1EncoderATerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_HorizontalJ12
1EncoderBTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_HorizontalJ15
1ICM0948Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ10
1LCD-2x16Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ7
1LM2596-IN+Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_VerticalJ2
1LM2596-IN-Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_VerticalJ3
1LM2596-OUT+Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_VerticalJ4
1LM2596-OUT-Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_VerticalJ5
1LOGOSilkscreenLogo.preety:A.SPACE_LogoG***
1LOGOSilkscreenLogo.preety:A.SPACE_Logo2G***
1MotorATerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ13
1MotorBTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ14
1Power_LEDLED_SMD:LED_0805_2012MetricD1
1Power_SwitchConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ16
1SS34Diode_SMD:D_SMAD2
1TB6612FNG_LEFTConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ9
1TB6612FNG_RIGHTConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ11
1TestPoint-5VTestPoint:TestPoint_Pad_D1.5mmTP3
1TestPoint-7.2VTestPoint:TestPoint_Pad_D1.5mmTP1
1TestPoint-ESP-3.3VTestPoint:TestPoint_Pad_D1.5mmTP4
1TestPoint-GNDTestPoint:TestPoint_Pad_D1.5mmTP2

Questions

How big is the Axis pcb v3 PCB?

It measures 140.5 × 91 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Axis pcb v3 use?

31 parts, built around the SS34. 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 Axis pcb v3 KiCad files?

From the MrQuaq/AXIS repository on GitHub, at the commit this page was made from: the board is axis_pcb_v3/axis_pcb_v3.kicad_pcb and its schematic axis_pcb_v3/axis_pcb_v3.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Axis pcb v3 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).

Similar boards

  • 4 layers95 × 95 mmCube motherboard, the printed circuit board in 3D

    Cube motherboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    52 parts1.1kGPL-3.0
  • 6 layers235.1 × 213.7 mmQuiver PT3 Main PCB rounded, the printed circuit board in 3D

    Quiver PT3 Main PCB rounded

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    164 parts617CERN-OHL-S-2.0
  • 2 layers103.3 × 63.7 mmUsb power hub, the printed circuit board in 3D

    Usb power hub

    dilshan/usb2-power-hub

    4-Port High Power USB 2.0 Hub

    100 parts189MIT
  • 6 layers178 × 211 mmCBC PCB, the printed circuit board in 3D

    CBC PCB

    Arrow-air/project-caribou

    Project Caribou documentation, designs, and project artifacts.

    319 parts177CERN-OHL-S-2.0
  • 6 layers84 × 98 mmFujiNet-5200-Rev0, the printed circuit board in 3D

    FujiNet-5200-Rev0

    FujiNetWIFI/fujinet-hardware

    Schematics and design files for FujiNet hardware

    145 parts142
  • 2 layers100 × 68 mmSI4684 SMD, the printed circuit board in 3D

    SI4684 SMD

    PE5PVB/SI4684-DAB-Receiver

    SI4684 ESP32 DAB Receiver

    91 parts135GPL-3.0
  • 2 layers191.5 × 76 mmPcb project, the printed circuit board in 3D

    Pcb project

    CrashOverride85/zc95

    4 channel EStim box inspired by the mk312bt, with Lua scripting support

    337 parts117GPL-3.0
  • 6 layers64.8 × 69.9 mmEzDV, the printed circuit board in 3D

    EzDV

    tmiw/ezDV

    A FreeDV device based on the ESP32.

    130 parts114