Skip to the content
2 layers121 × 156.5 mmUGV, the printed circuit board in 3D

This repository contains 2 firmware projects, each for a different operational mode of the Rover. Only one folder is flashed to Teensy at a time — either autonomous or manual.

Size
121 × 156.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
99
Nets
92
Pads
373
Tracks, vias
1,140, 217
Pours
9
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Apr 2026
Updated
21 Jun 2026

Overview

UGV is an open-source printed circuit board by ugv-dtu, from the ugv-dtu/electronics_2026 repository on GitHub. It is a 2-layer board of 121 × 156.5 mm with 99 parts on 92 nets, routed with 1,140 tracks and 217 vias.

It is built around the TEENSY 4.1, SN74LVC8T245PW and B2B-XH-A, with the XT30PW-M, AO3400A and XT90PW-M.G.Y among its other parts. Its parts include 20 capacitors, 12 resistors, 5 diodes, 5 connectors and 4 ICs. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

6

README

README.md

Project Structure

This repository contains 2 firmware projects, each for a different operational mode of the Rover. Only one folder is flashed to Teensy at a time — either autonomous or manual.

A shared Assets/ folder holds all hardware-related documents (PCB files, datasheets, etc.) used across both modes.

text
Embedded_UGVC/
│
├── Assets/                    # Shared hardware resources
│   ├── PCB Files/             # KiCad schematic and layout files
│   └── Datasheet/             # IC, MCU, and component datasheets
│
├── Autonomous Mode/           # Firmware for autonomous navigation tasks
│   ├── platformio.ini
│   ├── src/                   
│   ├── include/               
│   ├── lib/                  
│   └── test/                  
│
├── Manual Mode/               # Firmware for manual / RC-controlled tasks
│   ├── platformio.ini
│   ├── src/                   
│   ├── include/               
│   ├── lib/                   
│   └── test/   
│
├── Estop/                     # Wireless Emergency Stop system via ESP-NOW
│   ├── Estop_RX/              # Flashed into the rover's onboard ESP32 to controls the relay and contactor to cut power on estop trigger
│   │
│   ├── Estop_TX/              # Flashed into the remote unit handles button input and transmits estop signal to rover

src/ — Source Files

One .cpp file per subsystem. Do not put everything in main.cpp.

  • main.cpp — Only setup() and loop(). Calls functions from other modules.
  • Add a new .cpp for every new subsystem (e.g. motor_control.cpp, encoder.cpp, jetson_comm.cpp, pid.cpp, imu.cpp).

include/ — Header Files

Every .cpp in src/ gets a matching .h here. Use #pragma once at the top of every header.

  • All pin numbers, baud rates, and tuning constants go in config.h — never hardcode them inside .cpp files.

Parts

99
QtyValueFootprintReferences
11B2B-XH-AConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical5Vout1, 5Vout2, EncPWR1, EncPWR2, EncPWR3, EncPWR4, Laser1, LED1, Relay1, Servo1, Servo2
9XT30PW-MUGV_Custom:AMASS_XT30PW-M12Vout(C)1, 12Vout1, BUCKin1, BUCKout1, Contactor1, EByte1, Jetson1, PWRout1, Ubiquiti1
710uFCapacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolderC1, C3, C5, C8, C9, C15, Cin1
6B4B-XH-A_LF__SN_Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalFlysky1, Flysky2, MDDS30_DIR1, MDDS30_DIR2, MDDS30_PWM1, MDDS30_PWM2
5100kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1, R3, R5, R7, Rfbt1
522uFCapacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolderC7, C12, Cout1, Cout2, Cout3
4B2B-XH-A-BKConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalEnc1, Enc2, Enc3, Enc4
4B2B-XH-A-RConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalFan1, Fan2, Fan3, Fan4
4LEDLED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolderD2, D3, D4, D5
4Screw_Terminal_01x12TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-12-2.54_1x12_P2.54mm_HorizontalJ15, J16, J17, J18
3100Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R4, R6
3AO3400APackage_TO_SOT_SMD:SOT-23_HandsolderingQ1, Q2, Q3
20.1uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC17, Cboot1
21.8 kohmResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR8, R9
21uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC16, Cvcc1
2470uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC6, C10
2SN74LVC8T245Package_SO:SOIC-24W_7.5x15.4mm_P1.27mmU3, U5
2Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal5V_ScrewTerm1, StatusLED1
1100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2
110uHUGV_Custom:SRR1280-101ML2
1150uFCapacitor_SMD:CP_Elec_8x10.5C4
11k@1kInductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolderFB1
12.2uHInductor_SMD:L_Vishay_IHLP-2525L1
1220nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderChf1
1220uFCapacitor_SMD:CP_Elec_10x10Cp3
122pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderCff1
124.9kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderRfbb1
13.9 kohmResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR10
1330uFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmCp1
1390 ohmResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR11
1D_SchottkyDiode_SMD:D_SMC_HandsolderingD1
1LMR33640ADDARUGV_Custom:LMR33630ADDARU2
1LOGOlogofoot.preety:logonewG***
1Teensy4.1UGV_Custom:Teensy41U4
1USB3_AUGV_Custom:USB-3.0-TH_U233-091N-4BLPC17-11J13
1XT90PW-MUGV_Custom:AMASS_XT90PW-M_1x02_P10.90mm_HorizontalPWRin1

The 95 most common of 99 parts.

More from ugv-dtu/electronics_2026

1
  • 2 layers120.6 × 156.5 mmUGV rounded, the printed circuit board in 3D

    UGV rounded

    ugv-dtu/electronics_2026

    This repository contains 2 firmware projects, each for a different operational mode of the Rover. Only one folder is flashed to Teensy at a time — either autonomous or manual.

    78 parts

Similar boards

  • 4 layers206.6 × 142 mmPower delivery, the printed circuit board in 3D

    Power delivery

    ddacot/fpga-cluster-framework

    This is

    477 parts1
  • 6 layers130 × 112.6 mmPDB, the printed circuit board in 3D

    PDB

    CalebJM04/Drone-Research-PDB

    236 parts
  • 2 layers65 × 51.5 mmSPEAR power junction, the printed circuit board in 3D

    SPEAR power junction

    UofA-SPEAR/pcb_designs_2026

    Repository for SPEAR 2026 PCB designs. PCB design software is KiCad.

    10 parts
  • 4 layers97 × 105.5 mmSTARDRIVE SHIELD V1 0, the printed circuit board in 3D

    STARDRIVE SHIELD V1 0

    themarcolab/Stardrive-Shield

    With STARDRIVE SHIELD you can implement from 6 step to FOC motor control algorithms.

    193 parts2
  • 2 layers140.3 × 89.3 mmAVPCB, the printed circuit board in 3D

    AVPCB

    Paarseus/AVPCB

    Autonomous Vehicle PCB - KiCad project

    48 parts1
  • 4 layers85 × 100 mmLEDController, the printed circuit board in 3D

    LEDController

    Handkep/LEDController

    89 parts
  • 2 layers130 × 70 mmFour tone driver, the printed circuit board in 3D

    Four tone driver

    ideocentric/four-tone

    Arduino fan organ: four 12 V blowers voicing 3D printed recorder-style pipes

    54 parts

Questions

How big is the UGV PCB?

It measures 121 × 156.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the UGV use?

99 parts, built around the TEENSY 4.1, SN74LVC8T245PW, B2B-XH-A and XT30PW-M. 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 UGV KiCad files?

From the ugv-dtu/electronics_2026 repository on GitHub, at the commit this page was made from: the board is Assets/PCB Files/UGV.kicad_pcb and its schematic Assets/PCB Files/.history/UGV.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the UGV design in my own project?

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