Skip to the content
6 layers140 × 90 mmAtlas drive, the printed circuit board in 3D

Atlas Autoware car v2: drive board (ESC, BMS, USB-C charging), Jetson carrier, printed kit

Size
140 × 90 mm
Copper layers
6
Thickness
1.6 mm
Parts
409
Nets
319
Pads
1,762
Tracks, vias
3,998, 1,034
Pours
44
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Sep 2026
Updated
26 Oct 2026

Overview

Atlas drive is an open-source printed circuit board by AtlasAutoware, from the AtlasAutoware/carv2 repository on GitHub. It is a 6-layer board of 140 × 90 mm with 409 parts on 319 nets, routed with 3,998 tracks and 1,034 vias.

It is built around the TS3USB30EDGSR-TP, 24AA02T-I/OT and CSD18510Q5B, with the BVR-Z-R0002-1.0, 2N7002K and EEH-ZU1V331P among its other parts. Its parts include 148 resistors, 135 capacitors, 29 transistors, 6 diodes and 3 ICs. It belongs with the robots and motor control boards of this library.

Main components

11

README

README.md

Atlas car v2

The second Atlas Autoware car: a Traxxas Slash 4x4 with a Holmes Hobbies Puller Pro 540 motor, a SICK TiM561 lidar and a LUCID Triton camera, rebuilt so that almost nothing is wired by hand. Two custom circuit boards stack on a carbon-fibre-printed deck:

  • Drive board (ATLAS-DRV-1). The ESC (VESC firmware, same UART commands as car 1), a battery protector for a built-in 4S3P 18650 pack, USB-C charging, the servo supply, the lidar's power switch and a USB hub.
  • Brain board (ATLAS-BRN-1). A Jetson Orin Nano carrier forked from Antmicro's open-source design, with PoE for the camera and a second Ethernet port for the lidar.

Day to day the car needs one USB-C cable: a 65 W laptop charger charges it, and a laptop on the same port reaches the Jetson, the ESC and the serial console.

car v2, rendered on a stand-in Slash 4x4

What is in here

folderwhat
docs/ARCHITECTURE.md (the whole design and why), SOFTWARE.md (what runs on the boards), FLASHING.md (programming the assembled boards), TPS25751_CONFIG.md (USB-C charger settings), PACK_BUILD.md (building the 18650 pack), MEASURE_FIRST.md (chassis numbers to check before printing), COMPLETE_CAR.md (the parts that finish the car), WIRING.md (every cable run and its length)
boards/drive/, boards/brain/the two boards: design.py is the circuit, layout.py the placement and hand-drawn copper, and the KiCad schematics and layouts are generated from them
boards/stack/the pin map of the connector between the two boards, used by both
boards/tools/the scripts that build, route and check the boards
boards/*/out/fab/Gerbers, drill files, pick-and-place and BOM for ordering
firmware/vesc/the VESC hardware target for the drive board, build.sh, and a prebuilt image in prebuilt/
software/jetson/the atlas command, services and settings for the Jetson (system/install.sh), with tests
software/ros2/atlas_power: battery, E-stop, charging and lidar power in ROS 2
mech/the printed kit: kit.py (deck, pods, mounts, pack box) and extras.py (stack canopy, bench stand, plugs and cable paths), the STL/STEP files, renders and its own README
sim/circuit and thermal checks run on the finished schematics, with their own README
bom/the parts list with prices and the cost summary
share/pictures for posting; car_scene.py and render_car.py render the whole car

Cost

From bom/cost_summary.md (prices from September 2026):

USD
Drive board: 5 boards, 1 of them assembled525.70
Brain board: 5 boards, 1 of them assembled563.90
18650 pack materials134.20
Camera lens144.00
Charger, cable, fan, thermal pad, hardware, antennas124.35
New purchases1,492.15
Jetson dev kit and NVMe (already on the purchase list)459.00
Car 2 total1,951.15
If needed: M12 camera cable ($30), spot welder ($304.51)up to 2,285.66

The carbon-fibre filament and the aluminium heat spreader (SendCutSend credit) are not in these numbers because the team already has them.

Status

On 27 September 2026 the design is finished and nothing has been ordered. Later that day the whole car went into one model, with every plug and cable. That found two things that could not have been assembled as drawn, now fixed, and added a canopy over the boards with the Wi-Fi antennas and a bench stand (docs/COMPLETE_CAR.md).

  • Both boards are routed. KiCad's DRC finds no unconnected nets and no clearance errors on either of them. What it still lists is minor: silkscreen warnings on both boards, one 0.2 mm track end on the drive board, and on the brain board the footprint-library differences that come with Antmicro's design and the courtyard and hole overlaps Antmicro excluded.
  • The stack header matches on both boards: all 40 pins carry the same net at the same place, and the brain board's corner holes sit over the drive board's (boards/tools/check_stack.py).
  • The precharge simulation changed the precharge resistors. The bulk capacitors changed too: the first choice was tall enough to hit the brain board's SSD (sim/README.md).
  • The printed kit passes its interference checks. Print the two fit coupons first.

What to check before ordering, and the layout choices that are not obvious from the schematics, are at the end of docs/ARCHITECTURE.md.

Rebuilding

  • Boards: KiCad 10 and Python 3. boards/tools/run_kicad.sh runs every step (schematic, board, routing export and import, DRC, renders, fabrication files). boards/tools/run_kicad.sh drc-drive fab-drive checks the finished drive board and writes its fabrication files. Careful with pcb-drive: it builds the board again from the placement, without the routing. The routing itself was done with Freerouting 1.9 and finished with boards/tools/mazeroute.py.
  • Printed kit: pip install cadquery ezdxf matplotlib, then python3 mech/kit.py and python3 mech/extras.py.
  • Whole-car renders: python3 share/car_scene.py, then python3 share/render_car.py -- car_front_left car_exploded with Blender 4.2's bpy module (Python 3.11, pip install bpy==4.2.0) and the board models from run_kicad.sh glb-drive glb-brain.
  • Simulations: ngspice and Python with numpy, scipy and matplotlib; sim/run_all.sh.
  • Firmware: firmware/vesc/build.sh (clones VESC 6.06, adds the two target files, builds; needs arm-none-eabi-gcc). A build of the committed sources is in firmware/vesc/prebuilt/.
  • Jetson tools: sudo software/jetson/system/install.sh on the car; tests with cd software/jetson && python3 -m pytest tests (needs pytest).

Licenses

The brain board is derived from Antmicro's Jetson Orin Baseboard (Apache-2.0); its schematic and board keep Antmicro's notices, and boards/brain/vendor/antmicro/fetch.sh downloads the original. The VESC hardware target is derived from the VESC firmware (GPL-3.0), so those two files are GPL-3.0.

Parts

409
QtyValueFootprintReferences
31100nCapacitor_SMD:C_0402_1005MetricC207, C304, C403, C406, C506, C530, C531, C532, C601, C602, C603, C604, C610, C1001, C1002, C1004 +15
2610kResistor_SMD:R_0402_1005MetricR207, R306, R405, R408, R501, R502, R503, R531, R534, R601, R602, R612, R622, R625, R1001, R1002 +10
25CSD18510Q5BPackage_TO_SOT_SMD:TDSON-8-1Q201, Q202, Q203, Q204, Q205, Q206, Q207, Q208, Q302, Q303, Q304, Q305, Q306, Q502, Q503, Q504 +9
19100kResistor_SMD:R_0402_1005MetricR307, R308, R309, R401, R402, R404, R504, R607, R609, R611, R710, R801, R809, R901, R904, R907 +3
181kResistor_SMD:R_0402_1005MetricR206, R217, R310, R311, R312, R313, R403, R409, R532, R603, R604, R617, R619, R621, R810, R1005 +2
1610u 50VCapacitor_SMD:C_1210_3225MetricC502, C509, C510, C511, C512, C515, C516, C517, C518, C521, C522, C523, C524, C901, C902, C903
162.2Resistor_SMD:R_0402_1005MetricR314, R315, R316, R317, R508, R509, R510, R511, R516, R517, R518, R519, R524, R525, R526, R527
15100Resistor_SMD:R_0402_1005MetricR212, R213, R302, R505, R513, R521, R533, R605, R606, R608, R610, R623, R705, R812, R906
1210u 25VCapacitor_SMD:C_0805_2012MetricC712, C713, C715, C716, C717, C722, C723, C724, C725, C726, C727, C728
8M3MountingHole:MountingHole_3.2mm_M3_Pad_ViaH1001, H1002, H1003, H1004, H1005, H1006, H1007, H1008
7100n 50VCapacitor_SMD:C_0402_1005MetricC303, C408, C501, C711, C714, C721, C904
610nCapacitor_SMD:C_0402_1005MetricC404, C508, C514, C520, C529, C607
61nCapacitor_SMD:C_0402_1005MetricC507, C513, C519, C616, C617, C618
51uCapacitor_SMD:C_0603_1608MetricC405, C412, C606, C614, C812
52.2kResistor_SMD:R_0402_1005MetricR507, R515, R523, R530, R712
533Resistor_SMD:R_0805_2012MetricR201, R202, R203, R204, R205
539kResistor_SMD:R_0402_1005MetricR506, R514, R522, R529, R709
54.7kResistor_SMD:R_0402_1005MetricR613, R614, R616, R618, R620
40.2mResistor_SMD:R_Shunt_Isabellenhuette_BVR4026R301, R512, R520, R528
410u 10VCapacitor_SMD:C_0805_2012MetricC413, C704, C705, C707
418pCapacitor_SMD:C_0402_1005MetricC611, C612, C810, C811
41u 16VCapacitor_SMD:C_0603_1608MetricC201, C202, C203, C204
42N7002KPackage_TO_SOT_SMD:SOT-23Q401, Q501, Q506, Q511
4330u 35VCapacitor_SMD:CP_Elec_10x10C525, C526, C527, C528
447u 16VCapacitor_SMD:C_1210_3225MetricC906, C907, C908, C909
31MResistor_SMD:R_0402_1005MetricR211, R216, R218
31u 25VCapacitor_SMD:C_0603_1608MetricC205, C503, C905
32.2uCapacitor_SMD:C_0603_1608MetricC402, C608, C609
34.7uCapacitor_SMD:C_0603_1608MetricC605, C807, C814
210Resistor_SMD:R_0402_1005MetricR1003, R1004
21u 50VCapacitor_SMD:C_0805_2012MetricC911, C913
21u 6.3VCapacitor_SMD:C_0402_1005MetricC206, C505
222Resistor_SMD:R_2512_6332MetricR319, R320
222u 10VCapacitor_SMD:C_0805_2012MetricC410, C411
222u 25VCapacitor_SMD:C_1206_3216MetricC708, C709
2390pCapacitor_SMD:C_0402_1005MetricC702, C703
24.7u 10VCapacitor_SMD:C_0603_1608MetricC706, C718
2470Resistor_SMD:R_0402_1005MetricR318, R805
2470kResistor_SMD:R_0402_1005MetricR209, R210
247kResistor_SMD:R_0402_1005MetricR806, R807
247n 16VCapacitor_SMD:C_0402_1005MetricC719, C720
2GNDTestPoint:TestPoint_Pad_D1.0mmTP1005, TP1006
2GREENLED_SMD:LED_0603_1608MetricD403, D601
2REDLED_SMD:LED_0603_1608MetricD301, D602
2SMBJ20ADiode_SMD:D_SMBD101, D901
2TS3USB30EPackage_SO:MSOP-10_3x3mm_P0.5mmU801, U802
1+3V3TestPoint:TestPoint_Pad_D1.0mmTP1011
1+5VTestPoint:TestPoint_Pad_D1.0mmTP1010
10.5mResistor_SMD:R_Shunt_Isabellenhuette_BVR4026R214
110Resistor_SMD:R_0603_1608MetricR406
1100n 16VCapacitor_SMD:C_0402_1005MetricC409
110k B3380Resistor_SMD:R_0402_1005MetricTH501
110n 50VCapacitor_SMD:C_0402_1005MetricC1003
112.0kResistor_SMD:R_0402_1005MetricR802
1120Resistor_SMD:R_0402_1005MetricR615
112kResistor_SMD:R_0402_1005MetricR910
115.4kResistor_SMD:R_0402_1005MetricR905
115.8kResistor_SMD:R_0402_1005MetricR903
116.2kResistor_SMD:R_0402_1005MetricR902
117.4kResistor_SMD:R_0402_1005MetricR711
11uInductor_SMD:L_Coilcraft_XAL5030-XXXL701
11u 50VCapacitor_SMD:C_0603_1608MetricC401
12.2u 25VCapacitor_SMD:C_0805_2012MetricC302
1220Resistor_SMD:R_0402_1005MetricR624
1220u 16VCapacitor_SMD:CP_Elec_8x10C910
122nCapacitor_SMD:C_0402_1005MetricC912
122uInductor_SMD:L_Bourns-SRN4018L401
124AA02Package_TO_SOT_SMD:SOT-23-5U1002
124MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY801
130.1kResistor_SMD:R_0402_1005MetricR707
139.2kResistor_SMD:R_0402_1005MetricR304
13V3_AONTestPoint:TestPoint_Pad_D1.0mmTP1012
14.02kResistor_SMD:R_0402_1005MetricR303
14.53kResistor_SMD:R_0402_1005MetricR215
14.7u 25VCapacitor_SMD:C_0805_2012MetricC701
14.7u 50VCapacitor_SMD:C_1206_3216MetricC407
147n 50VCapacitor_SMD:C_0603_1608MetricC504
15.1kResistor_SMD:R_0402_1005MetricR305
15.23kResistor_SMD:R_0402_1005MetricR706
154.9kResistor_SMD:R_0402_1005MetricR407

The 338 most common of 409 parts.

More from AtlasAutoware/carv2

1
  • 8 layers120 × 90 mmAtlas brain, the printed circuit board in 3D

    Atlas brain

    AtlasAutoware/carv2

    Atlas Autoware car v2: drive board (ESC, BMS, USB-C charging), Jetson carrier, printed kit

    366 parts

Similar boards

  • 4 layers50 × 50 mmPDB AURA, the printed circuit board in 3D

    PDB AURA

    alexander-armitage/AURA-Hardware

    AURA is a set of modular PCBs designed in KiCad for versatile robotics and aerospace applications — from drones and quadrupeds to rockets.

    88 parts4MIT
  • 6 layers156 × 45.3 mmFilled, the printed circuit board in 3D

    Filled

    AxelMcKenna/AFX-1000

    RMX-1000-inspired effects processor for macOS, AU and VST3, built on a shared C++20 engine. Standalone Daisy Seed 3 hardware with two main PCBs and a custom housing is in development.

    168 parts1
  • 8 layers140 × 314.2 mmRabbit body c, the printed circuit board in 3D

    Rabbit body c

    seralexeev/rabbit

    rabbit source code

    673 parts1
  • 6 layers158 × 158 mmFpv drone, the printed circuit board in 3D

    Fpv drone

    zeodotdev/zeo-boards

    ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

    158 parts3
  • 2 layers59 × 22 mmBuck converter automotive, the printed circuit board in 3D

    Buck converter automotive

    MG-5/buck-converter-automotive

    12V-to-5V buck converter for automotive purposes

    36 parts2MIT
  • 2 layers350 × 235 mmDogrudan sdr C, the printed circuit board in 3D

    Dogrudan sdr C

    kocer/direct-sampling-sdr

    Direct-sampling SDR transceiver with four phase-coherent channels, and a class-A power amplifier for 1.8 to 54 MHz.

    406 parts1
  • 4 layers100 × 100 mmPcb AMY, the printed circuit board in 3D

    Pcb AMY

    Rivercraft911/R-01_Raster_Laser_Projector

    Red, blue and green lasers combine through two dichroc mirrors and bounce off a spinning polygon mirror, which each mirror facet makes one scanline.

    159 parts1

Questions

How big is the Atlas drive PCB?

It measures 140 × 90 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Atlas drive use?

409 parts, built around the TS3USB30EDGSR-TP, 24AA02T-I/OT, CSD18510Q5B and BVR-Z-R0002-1.0. 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 Atlas drive KiCad files?

From the AtlasAutoware/carv2 repository on GitHub, at the commit this page was made from: the board is boards/drive/atlas_drive.kicad_pcb and its schematic boards/brain/atlas_brain.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Atlas drive design in my own project?

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