
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.

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.
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.
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.
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 roversrc/ — Source FilesOne .cpp file per subsystem. Do not put everything in main.cpp.
main.cpp — Only setup() and loop(). Calls functions from other modules..cpp for every new subsystem (e.g. motor_control.cpp, encoder.cpp, jetson_comm.cpp, pid.cpp, imu.cpp).include/ — Header FilesEvery .cpp in src/ gets a matching .h here. Use #pragma once at the top of every header.
config.h — never hardcode them inside .cpp files.| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | B2B-XH-A | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | 5Vout1, 5Vout2, EncPWR1, EncPWR2, EncPWR3, EncPWR4, Laser1, LED1, Relay1, Servo1, Servo2 |
| 9 | XT30PW-M | UGV_Custom:AMASS_XT30PW-M | 12Vout(C)1, 12Vout1, BUCKin1, BUCKout1, Contactor1, EByte1, Jetson1, PWRout1, Ubiquiti1 |
| 7 | 10uF | Capacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C1, C3, C5, C8, C9, C15, Cin1 |
| 6 | B4B-XH-A_LF__SN_ | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | Flysky1, Flysky2, MDDS30_DIR1, MDDS30_DIR2, MDDS30_PWM1, MDDS30_PWM2 |
| 5 | 100k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1, R3, R5, R7, Rfbt1 |
| 5 | 22uF | Capacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C7, C12, Cout1, Cout2, Cout3 |
| 4 | B2B-XH-A-BK | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | Enc1, Enc2, Enc3, Enc4 |
| 4 | B2B-XH-A-R | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | Fan1, Fan2, Fan3, Fan4 |
| 4 | LED | LED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D2, D3, D4, D5 |
| 4 | Screw_Terminal_01x12 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-12-2.54_1x12_P2.54mm_Horizontal | J15, J16, J17, J18 |
| 3 | 100 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R4, R6 |
| 3 | AO3400A | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q1, Q2, Q3 |
| 2 | 0.1uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C17, Cboot1 |
| 2 | 1.8 kohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R8, R9 |
| 2 | 1uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C16, Cvcc1 |
| 2 | 470uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C6, C10 |
| 2 | SN74LVC8T245 | Package_SO:SOIC-24W_7.5x15.4mm_P1.27mm | U3, U5 |
| 2 | Screw_Terminal_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | 5V_ScrewTerm1, StatusLED1 |
| 1 | 100nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2 |
| 1 | 10uH | UGV_Custom:SRR1280-101M | L2 |
| 1 | 150uF | Capacitor_SMD:CP_Elec_8x10.5 | C4 |
| 1 | 1k@1k | Inductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolder | FB1 |
| 1 | 2.2uH | Inductor_SMD:L_Vishay_IHLP-2525 | L1 |
| 1 | 220nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | Chf1 |
| 1 | 220uF | Capacitor_SMD:CP_Elec_10x10 | Cp3 |
| 1 | 22pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | Cff1 |
| 1 | 24.9k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | Rfbb1 |
| 1 | 3.9 kohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R10 |
| 1 | 330uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | Cp1 |
| 1 | 390 ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R11 |
| 1 | D_Schottky | Diode_SMD:D_SMC_Handsoldering | D1 |
| 1 | LMR33640ADDAR | UGV_Custom:LMR33630ADDAR | U2 |
| 1 | LOGO | logofoot.preety:logonew | G*** |
| 1 | Teensy4.1 | UGV_Custom:Teensy41 | U4 |
| 1 | USB3_A | UGV_Custom:USB-3.0-TH_U233-091N-4BLPC17-11 | J13 |
| 1 | XT90PW-M | UGV_Custom:AMASS_XT90PW-M_1x02_P10.90mm_Horizontal | PWRin1 |
The 95 most common of 99 parts.

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.



UofA-SPEAR/pcb_designs_2026
Repository for SPEAR 2026 PCB designs. PCB design software is KiCad.

themarcolab/Stardrive-Shield
With STARDRIVE SHIELD you can implement from 6 step to FOC motor control algorithms.




ideocentric/four-tone
Arduino fan organ: four 12 V blowers voicing 3D printed recorder-style pipes
It measures 121 × 156.5 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask ugv-dtu before reusing the design.