Skip to the content
4 layers87.5 × 50.6 mmSide board, the printed circuit board in 3D

An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

Size
87.5 × 50.6 mm
Copper layers
4
Thickness
1.6 mm
Parts
299
Nets
171
Pads
732
Tracks, vias
2,048, 420
Pours
37
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
24 Sep 2026
Updated
3 Nov 2026

Overview

Side board is an open-source printed circuit board by AndreiVladescu, from the AndreiVladescu/Vector-UGV repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 87.5 × 50.6 mm with 299 parts on 171 nets, routed with 2,048 tracks and 420 vias.

It is built around the STM32C092KCT6, INA181A1IDBVR(LX) and TPS56A37RPAR, with the NUP2105LT1G, BAT54J and NCP18XH103F03RB among its other parts. Its parts include 103 resistors, 69 capacitors, 16 connectors, 14 ICs and 11 diodes. It belongs with the STM32 boards of this library.

Main components

6

README

README.md

V.E.C.T.O.R.

V.E.C.T.O.R.

An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

  • docs/: spec, connector pinouts, power budget, servo names and calibration
  • hardware/: one KiCad project per board, shared library in lib/
  • mechanical/: Fusion 360 exports (STEP, STL), harness drawings
  • firmware/: STM32C092 code for the leg and power nodes, CAN bootloader
  • software/: CM5 / Pi 5 side: ROS 2 workspace, tools, Docker
  • protocol/vector.dbc: CAN message definitions, used by firmware and host
  • test-tools/: bench sketches, e.g. servo_test (Arduino Uno, set a servo angle over serial and read the pot)

Start with docs/spec.md.

Try it without hardware

Everything below runs on a PC with Ubuntu 24.04 or Linux Mint 22 and ROS 2 Jazzy (install commands in software/README.md). The leg nodes run their real firmware logic against simulated servos on a virtual CAN bus.

sh
cd software/ros2_ws
source /opt/ros/jazzy/setup.zsh                 # or setup.bash
colcon build --symlink-install && source install/setup.zsh

# virtual CAN bus (again after every reboot)
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan && sudo ip link set up vcan0

ros2 run vector_hw sim_legs vcan0 --calibrated --limits -45.8,45.8,-80.2,80.2,-149,17  # terminal 1: six legs
ros2 launch vector_bringup robot.launch.py hardware:=can can_interface:=vcan0   # terminal 2: robot + rviz
ros2 run teleop_twist_keyboard teleop_twist_keyboard                           # terminal 3: drive (i, j, l, J, L, t, b, k)
candump vcan0 | cantools decode ../../protocol/vector.dbc                      # optional: watch the bus

Each new terminal needs the two source lines. Stop sim_legs while the robot runs and the hardware drops out after 100 ms, the same as it would with a dead leg. Without --calibrated the legs start like fresh boards; leg_config.py calibrates them (see software/README.md).

Without CAN: robot.launch.py alone (mock joints), or sim_gazebo.launch.py world:=rough level:=true for physics.

Parts

299
QtyValueFootprintReferences
37100nCapacitor_SMD:C_0402_1005MetricC101, C201, C202, C203, C204, C205, C206, C207, C208, C209, C211, C212, C213, C301, C302, C303 +21
3710kResistor_SMD:R_0402_1005MetricR102, R201, R202, R203, R206, R208, R209, R210, R213, R214, R215, R226, R232, R301, R302, R303 +21
131kResistor_SMD:R_0402_1005MetricR103, R219, R220, R229, R233, R319, R320, R329, R333, R419, R420, R429, R433
12100kResistor_SMD:R_0402_1005MetricR217, R218, R221, R223, R317, R318, R321, R323, R417, R418, R421, R423
90Resistor_SMD:R_0402_1005MetricR204, R211, R216, R304, R311, R316, R404, R411, R416
9220Resistor_SMD:R_0402_1005MetricR205, R207, R212, R305, R307, R312, R405, R407, R412
9Servo Connectorvector:PinHeader_1x04_P2.54mm_Vertical_TileJ201, J202, J203, J301, J302, J303, J401, J402, J403
615kResistor_SMD:R_0402_1005MetricR224, R225, R324, R325, R424, R425
615uCapacitor_SMD:C_1206_3216MetricC218, C219, C318, C319, C418, C419
618pCapacitor_SMD:C_0402_1005MetricC220, C221, C320, C321, C420, C421
62.2kResistor_SMD:R_0402_1005MetricR227, R228, R327, R328, R427, R428
43V3TestPoint:TestPoint_Pad_D1.0mmTP104, TP203, TP303, TP403
4GNDTestPoint:TestPoint_Pad_D1.0mmTP105, TP202, TP302, TP402
4GREENLED_SMD:LED_0805_2012MetricD102, D202, D302, D402
4Jumper_BridgedJumper:SolderJumper-2_P1.3mm_Bridged2Bar_Pad1.0x1.5mmJP101, JP104, JP105, JP106
4VBATTestPoint:TestPoint_Pad_D1.0mmTP103, TP205, TP305, TP405
3100pCapacitor_SMD:C_0402_1005MetricC217, C317, C417
310mResistor_SMD:R_2512_6332MetricR222, R322, R422
315u 35VCapacitor_SMD:C_1206_3216MetricC214, C314, C414
31uCapacitor_SMD:C_0805_2012MetricC215, C315, C415
322nCapacitor_SMD:C_0402_1005MetricC216, C316, C416
34.7uside-board:INDPM7973X540NL201, L301, L401
34.7uCapacitor_SMD:C_0805_2012MetricC210, C310, C410
352.3kResistor_SMD:R_0402_1005MetricR230, R330, R430
35AFuse:Fuse_1206_3216MetricF201, F301, F401
36V0TestPoint:TestPoint_Pad_D1.0mmTP204, TP304, TP404
390.9kResistor_SMD:R_0402_1005MetricR231, R331, R431
3BAT54JDiode_SMD:D_SOD-323FD203, D303, D403
3BUCK_ENTestPoint:TestPoint_Pad_D1.0mmTP213, TP313, TP413
3BUCK_PGTestPoint:TestPoint_Pad_D1.0mmTP214, TP314, TP414
3Crystal_GND24Crystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY201, Y301, Y401
3DBGTestPoint:TestPoint_Pad_D1.0mmTP201, TP301, TP401
3INA181A1IDBVRside-board:SOT95P280X145-6NIC204, IC304, IC404
3I_LEGTestPoint:TestPoint_Pad_D1.0mmTP212, TP312, TP412
3Jumper_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP102, JP103, JP108
3NCP18XH103F03RBvector:THRMC1608X95NRT201, RT301, RT401
3NRSTTestPoint:TestPoint_Pad_D1.0mmTP218, TP318, TP418
3NetTie_2NetTie:NetTie-2_SMD_Pad0.5mmNT201, NT301, NT401
3PC6TestPoint:TestPoint_Pad_D1.0mmTP215, TP315, TP415
3POT_COXATestPoint:TestPoint_Pad_D1.0mmTP207, TP307, TP407
3POT_FEMURTestPoint:TestPoint_Pad_D1.0mmTP206, TP306, TP406
3POT_TIBIATestPoint:TestPoint_Pad_D1.0mmTP208, TP308, TP408
3PWM_COXATestPoint:TestPoint_Pad_D1.0mmTP211, TP311, TP411
3PWM_FEMURTestPoint:TestPoint_Pad_D1.0mmTP210, TP310, TP410
3PWM_TIBIATestPoint:TestPoint_Pad_D1.0mmTP209, TP309, TP409
3REDLED_SMD:LED_0805_2012MetricD201, D301, D401
3STM32C092KCT6vector:QFP80P900X900X160-32NIC201, IC301, IC401
3SWCLKTestPoint:TestPoint_Pad_D1.0mmTP217, TP317, TP417
3SWDIOTestPoint:TestPoint_Pad_D1.0mmTP216, TP316, TP416
3TCAN332DRvector:SOIC127P600X175-8NIC202, IC302, IC402
3TPS56A37RPARside-board:TPS56A37RPARIC203, IC303, IC403
3ToFvector:PinHeader_1x04_P2.54mm_Vertical_TileJ205, J305, J405
1100n 50VCapacitor_SMD:C_0402_1005MetricC103
1100u 35VCapacitor_SMD:CP_Elec_8x10.5C106
110uCapacitor_SMD:C_0603_1608MetricC104
1120Resistor_SMD:R_0402_1005MetricR104
130.9kResistor_SMD:R_0402_1005MetricR101
133nCapacitor_SMD:C_0402_1005MetricC105
14.7uvector:INDPM4441X200NL101
147uCapacitor_SMD:C_0805_2012MetricC102
1CANHTestPoint:TestPoint_Pad_D1.0mmTP101
1CANLTestPoint:TestPoint_Pad_D1.0mmTP102
1Inter-board Connectorvector:PinHeader_1x04_P2.54mm_Vertical_TileJ101
1Inter-board ConnectorConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ102
1LOGOLOGOG***
1M3MountingHole:MountingHole_3.2mm_M3_DIN965_Pad_TopBottomH101
1NUP2105LT1Gvector:SOT96P237X111-3NIC102
1SIDE_BITJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP107
1SMBJ18A-E3_52vector:DIOM5436X244ND101
1SWD PWRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ104
1TERMJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP109
1TPS62933DRLRvector:SOTFL50P160X60-8NIC101
1XT30 VBATConnector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_VerticalJ103

More from AndreiVladescu/Vector-UGV

2
  • 4 layers71 × 67 mmPower board, the printed circuit board in 3D

    Power board

    AndreiVladescu/Vector-UGV

    An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

    144 partsCERN-OHL-S-2.0
  • 4 layers60.3 × 28.8 mmNose board, the printed circuit board in 3D

    Nose board

    AndreiVladescu/Vector-UGV

    An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

    46 partsCERN-OHL-S-2.0

Similar boards

  • 4 layers110 × 175.2 mmBattery Display, the printed circuit board in 3D

    Battery Display

    Tuskar-Marine/hardware

    All tools for the Mermaid's Rest open sailing tools

    195 parts6
  • 6 layers46 × 46 mmTercio B1, the printed circuit board in 3D

    Tercio B1

    Kerol-Dev/Tercio-B1

    Tercio B1 brushless FOC driver (planning)

    163 partsApache-2.0
  • 4 layers42 × 42 mmPower Board, the printed circuit board in 3D

    Power Board

    Harveyn4444/TocoSat-powerboard

    The TocoSat power board hardware and software files

    74 parts1
  • 2 layers82 × 56 mmRipplecounter, the printed circuit board in 3D

    Ripplecounter

    jackw01/ripplecounter

    Sensorless brushed DC motor position control with Raspberry Pi Pico

    126 parts15
  • 4 layers140 × 140 mmPCU, the printed circuit board in 3D

    PCU

    Andresse2020/NovaDrone-Hardware

    Complete electronic system design for a high-performance quadcopter drone, developed entirely from scratch. Includes power distribution, motor control, flight stabilization, sensor integration, and communication…

    760 parts3
  • 4 layers70 × 56 mmEsp32-bldc foc, the printed circuit board in 3D

    Esp32-bldc foc

    CapnKernel/esp32-bldc-foc

    A clone of the MKS ESP32-based FOC BLDC driver

    126 parts
  • 2 layers123 × 116.3 mmControl Box, the printed circuit board in 3D

    Control Box

    pauladam316/observatory_pcbs

    158 parts
  • 4 layers80 × 100 mmDroneProject, the printed circuit board in 3D

    DroneProject

    TanvKT/DroneProjectHardware

    PCB schematic and design for Drone Project

    130 partsMIT

Questions

How big is the Side board PCB?

It measures 87.5 × 50.6 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Side board use?

299 parts, built around the STM32C092KCT6, INA181A1IDBVR(LX), TPS56A37RPAR and NUP2105LT1G. 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 Side board KiCad files?

From the AndreiVladescu/Vector-UGV repository on GitHub, at the commit this page was made from: the board is hardware/side-board/side-board.kicad_pcb and its schematic hardware/carrier-cm5/carrier-cm5.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Side board design in my own project?

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