Skip to the content
8 layers90.5 × 49.5 mmOpen race v2, the printed circuit board in 3D

Open race v2

teehee567/Aevia5

gnss module collecting track data

Size
90.5 × 49.5 mm
Copper layers
8
Thickness
1.6 mm
Parts
337
Nets
417
Pads
1,466
Tracks, vias
147, 56
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Apr 2026
Updated
10 Sep 2026

Overview

Open race v2 is an open-source printed circuit board by teehee567, from the teehee567/Aevia repository on GitHub. It is an 8-layer board of 90.5 × 49.5 mm with 337 parts on 417 nets, routed with 147 tracks and 56 vias.

It is built around the SN74AHCT1G125DCKR(LX), AP33772SDKZ-13-FA02 and APS512XXN-OB9-BG, with the CGA2B3X7R1H104K050BE, CRCW040210K0FKEDC and CGA3E2X7R1H104K080AE among its other parts. Its parts include 163 capacitors, 100 resistors, 10 diodes, 7 ICs and 7 switches. It belongs with the radio and wireless boards of this library.

Main components

12

README

README.md

Aevia

Aevia is a DIY, battery powered lap timer and track data logger. The current hardware is the V2 Mini, a compact board that combines multi-band GNSS, a 6-axis IMU, local storage, a display interface, physical controls, and wireless connectivity.

Uses very very high end sensors, UM980, SCH16T-K01

The goal is to build something in the same general space as a Garmin Catalyst, but at a lower cost and with more control over the hardware, raw data, and software. Recorded data should also remain useful outside the device, with export to proper desktop analysis tools.

V2 Mini hardware

The V2 Mini is built around:

  • ESP32-S31-WROOM-3-N16R16V as the main processor and radio
  • UM980 multi-band, multi-constellation GNSS receiver
  • SCH16T-K01-1 6-axis accelerometer and gyroscope
  • microSD storage over 4-bit SDIO
  • a 24-pin SPI display interface for the Adafruit 4520
  • four UI buttons and four RGB status LEDs
  • native USB data and USB-C power
  • a 1-cell battery charger, fuel gauge, and push-button power control

See v2_mini_design.md for the block diagrams, power tree, fitted parts, and current one-off build estimate.

Firmware and software plan

The base firmware now provides structured hardware bring-up and a button-free J6 USB flash runner. From firmware/, run cargo run --release --locked to build, flash and verify the restart.

The immediate work is hardware bring-up and the basic firmware needed to read the GNSS and IMU, store sessions on the microSD card, and exercise the display and controls. The application backlog currently looks like this.

High priority

  • Delta T lap timing with colour coding
  • Raw-data analysis that can support lap times reported to 0.001 seconds and show the limits of the hardware
  • Export to Harry's LapTimer or another tool that accepts the recorded data

Medium priority

  • G-G diagram, with filtering suitable for noisy IMU output
  • Automatic track detection
    • Track learning mode
    • Manual start and finish line setup
  • Smart battery management
  • Theoretical best lap time
  • Automatic recording based on acceleration
  • Sector splits for tracks that support them

Low priority

  • Configurable LED bar
  • Customisable gauges
  • Colour themes

Stretch ideas

  • CAN bus or OBD data logging for brake, throttle, and other vehicle data
  • Bluetooth support through the ESP32
    • RTK corrections, with a target of roughly 50 Hz and centimetre-level positioning
    • Firmware updates over Bluetooth
  • Action camera synchronisation

Why the UM980

Of the modules considered, the UM980 is the best fit I found for raw GNSS quality at this price. It can output at 20 Hz while using multiple GNSS constellations. That matters in a car because an antenna inside the windscreen loses much of its view behind the metal roof. Combining GPS, GLONASS, Galileo, and BeiDou leaves more satellites available for each fix and can improve accuracy when the view of the sky is limited. A receiver advertised as "multi-GNSS" does not necessarily support its maximum update rate while using several constellations at once.

It also supports multiple frequency bands. A single-band receiver has a harder time separating a direct signal from one reflected by the car or nearby barriers. Comparing L1 with L2 or L5 gives the receiver more information for rejecting poor measurements.

The planned BT-T076 is a wide multi-band active helical antenna, although its sheet does not explicitly document every UM980 signal. Helical designs generally tolerate tilt and an uncertain ground plane better than conventional patches, but the BT-T076 datasheet does not publish the angular, per-band patterns needed to rank it against a particular patch. A correctly integrated patch that covers every required band may provide cleaner measurements in a fixed installation; many common patches are only L1 or depend on a specific ground plane. See the GNSS antenna decision note for the mounting scenarios, electrical constraints, expected data effects, and A/B test plan.

The expected gain over a decent off-the-shelf logger is not enormous, and software quality will matter just as much as the receiver. For absolute lap-time proof, a track transponder still wins.

Receivers considered

These figures are working notes from the module research and should be checked again before buying parts.

ReceiverNotes
Unicore UM980L1, L2/L5, and L6; multi-constellation; full RTK; 20 Hz with full multi-GNSS; about 50 Hz in RTK mode; roughly A$130
u-blox NEO-M9NL1-only; multi-constellation; 25 Hz with one constellation or 10 Hz with several; roughly A$20
u-blox NEO-M10SL1-only; multi-constellation; 25 Hz with one constellation or 10 Hz with several; roughly A$20
u-blox ZED-F9PL1 and L2; multi-constellation; full RTK; about 8 Hz with everything enabled or 20 Hz with a reduced configuration; roughly A$130
Quectel LC29H-DA/EAL1 and L5; multi-constellation; RTK on the EA variant; 10 Hz maximum
Septentrio mosaic-X5All bands and constellations; the best raw quality in this comparison; capable of 100 Hz; more than A$1,000
SkyTraq PX1122RL1 and L2; multi-constellation RTK; apparently up to 20 Hz, although documentation and pricing were difficult to find

The Dragy Pro was the only off-the-shelf product for which I could identify the receiver module. It uses a u-blox NEO-M10S and is listed in the research as 10 Hz with multiple constellations or 20 Hz with one. I have not found a module that clearly delivers 25 Hz, multi-GNSS, and 10 cm accuracy at the same time, so similar product claims are unlikely to be real.

The longer comparison is in data/gps_module_research.md. And raw GNSS modules specs are in data/GNSS_research.xlsx.

Repository map

Building it

I do not recommend this as a first electronics build. Several parts need reflow equipment or a capable hot-air setup, and a one off board involves a fair amount of tooling and rework cost. The V2 Mini estimate is about $500AUD for the PCB, stencil, parts, GNSS receiver, antenna, and battery.

V1 archive

archive, old, bad

V1 assembled PCB

V1 PCB design

Parts

337
QtyValueFootprintReferences
48100nF 50V X7RCapacitor_SMD:C_0402_1005MetricC1, C141, C142, C169, C1002, C1004, C1100, C1101, C1110, C1111, C1112, C1113, C1114, C1121, C1122, C1123 +32
1810kResistor_SMD:R_0402_1005MetricR140, R300, R301, R302, R303, R327, R800, R802, R804, R900, R1000, R1102, R1103, R1121, R1122, R1123 +2
17100nF 50V X7RCapacitor_SMD:C_0603_1608MetricC2, C4, C5, C7, C11, C14, C83, C187, C190, C231, C232, C240, C246, C249, C252, C253 +1
1510uF 50V X7RCapacitor_SMD:C_1210_3225MetricC9, C10, C42, C56, C62, C81, C82, C84, C85, C87, C88, C91, C93, C233, C234
151uF 10V X7SCapacitor_SMD:C_0402_1005MetricC38, C41, C43, C44, C45, C51, C57, C60, C61, C63, C65, C68, C69, C70, C308
1110kResistor_SMD:R_0603_1608MetricR5, R24, R29, R30, R31, R37, R38, R39, R221, R240, R243
101kResistor_SMD:R_0402_1005MetricR801, R803, R805, R806, R901, R905, R906, R1110, R1111, R1112
810uF 10V X7RCapacitor_SMD:C_0805_2012MetricC29, C35, C245, C248, C307, C802, C903, C1001
81uF 25V X7RCapacitor_SMD:C_0603_1608MetricC143, C191, C244, C255, C256, C800, C1000, C1003
7100kResistor_SMD:R_0603_1608MetricR229, R244, R245, R246, R247, R248, R249
722uF 6.3V X7TCapacitor_SMD:C_0805_2012MetricC170, C176, C177, C178, C179, C905, C906
7KMR223NG ULC LFGButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2SW300, SW301, SW800, SW801, SW1101, SW1102, SW1103
647kResistor_SMD:R_0402_1005MetricR14, R15, R16, R17, R18, R19
51uF 50V X7RCapacitor_SMD:C_0805_2012MetricC3, C6, C230, C247, C250
522RResistor_SMD:R_0402_1005MetricR58, R1002, R1004, R1005, R1006
5APA102-2020-256-8LED_SMD:LED-APA102-2020D1100, D1101, D1102, D1103, D1104
5CSD18540Q5Bopen-race-v2:VSON-CLIP-8_DNK_5x6mmQ1, Q2, Q3, Q4, Q5
41kResistor_SMD:R_0603_1608MetricR4, R6, R9, R222
41nF 100V C0GCapacitor_SMD:C_0603_1608MetricC241, C242, C243, C254
422uF 25V X7RCapacitor_SMD:C_1210_3225MetricC186, C236, C237, C238
4470nF 25V X7RCapacitor_SMD:C_0603_1608MetricC13, C15, C16, C17
48.2pF 50V C0G (TUNE)Capacitor_SMD:C_0402_1005MetricC300, C301, C302, C303
30RResistor_SMD:R_0402_1005MetricR27, R148, R159
3100Resistor_SMD:R_0603_1608MetricR7, R8, R23
310nF 50V X7RCapacitor_SMD:C_0603_1608MetricC8, C12, C18
322uF 10V X7RCapacitor_SMD:C_1206_3216MetricC181, C188, C189
333RResistor_SMD:R_0402_1005MetricR1003, R1100, R1101
34.7uF 16V X7SCapacitor_SMD:C_0603_1608MetricC34, C90, C144
3ASMT-RF45-AN002 YELLOW GREENLED_SMD:LED_0603_1608MetricD1, D2, D1110
3TPS22918DBVRopen-race-v2:SOT-23-6_DBVU21, U22, U23
20RResistor_SMD:R_1206_3216MetricR22, R167
2100pF 50V C0GCapacitor_SMD:C_0402_1005MetricC900, C902
210uF 25V X7SCapacitor_SMD:C_0805_2012MetricC235, C239
24.7uF 16V X7RCapacitor_SMD:C_0805_2012MetricC92, C251
247nF 50V X7RCapacitor_SMD:C_0603_1608MetricC49, C53
247uF 10V X7RCapacitor_SMD:C_1210_3225MetricC803, C1115
25.1k 1%Resistor_SMD:R_0603_1608MetricR241, R242
25m 1% 1WResistor_SMD:R_2512_6332MetricR3, R13
2600Ω @ 100MHz, 1.4A AEC-Q200open-race-v2:FB_Murata_BLM21_2.0x1.25mmFB20, FB21
268Resistor_SMD:R_1206_3216MetricR11, R12
2NCP15XH103F03RCResistor_SMD:R_0402_1005MetricNTC1, TH1
2SN74AHCT1G125DCKRPackage_TO_SOT_SMD:SOT-353_SC-70-5U1100, U1101
10R DNP (alternate to L8)Resistor_SMD:R_0402_1005MetricR173
11.5uH XFL4020-152MECInductor_SMD:L_Coilcraft_XxL4020L20
110Resistor_SMD:R_0603_1608MetricR10
110.0k 1%Resistor_SMD:R_0402_1005MetricR174
110.0k 1%Resistor_SMD:R_0603_1608MetricR251
1100RResistor_SMD:R_0402_1005MetricR1001
1100R 1%Resistor_SMD:R_0603_1608MetricR20
1100kResistor_SMD:R_0402_1005MetricR304
110RResistor_SMD:R_0402_1005MetricR902
110k VTREF isolationResistor_SMD:R_0402_1005MetricR807
110nF 50V X7RCapacitor_SMD:C_0402_1005MetricC304
110uF 25V X7RCapacitor_SMD:C_1206_3216MetricC180
11uHInductor_SMD:L_1008_2520MetricL7
12.2nF 50V X7RCapacitor_SMD:C_0402_1005MetricC37
12.2nH 1Aopen-race-v2:L_TDK_MHQ1005_1.0x0.6mmL4
12.2uH XAL7030-222MECInductor_SMD:L_Coilcraft_XAL7030-222L1
1200Resistor_SMD:R_0603_1608MetricR2
1200R 1%Resistor_SMD:R_0402_1005MetricR326
1220kResistor_SMD:R_0603_1608MetricR228
122R @100MHz 8AInductor_SMD:L_0603_1608MetricL8
122pF 50V C0GCapacitor_SMD:C_0603_1608MetricC182
12RResistor_SMD:R_0402_1005MetricR220
12S_PACK_BALANCEConnector_Molex:Molex_Micro-Fit_3.0_43650-0300_1x03_P3.00mm_HorizontalJ20
12k2Resistor_SMD:R_0603_1608MetricR28
13.9nF 100V C0GCapacitor_SMD:C_0603_1608MetricC192
130.1k 1%Resistor_SMD:R_0603_1608MetricR26
137.4k 1%Resistor_SMD:R_0603_1608MetricR224
147k 1%Resistor_SMD:R_0603_1608MetricR223
15.0A Ihold @23C / 24V PTCFuse:Fuse_2920_7451MetricF1
15.23k 1%Resistor_SMD:R_0603_1608MetricR25
150mR (DNP)Resistor_SMD:R_2512_6332MetricR168
16.2kResistor_SMD:R_0603_1608MetricR1
18.2kResistor_SMD:R_0603_1608MetricR35
188.7k 1%Resistor_SMD:R_0603_1608MetricR250
1AP33772SDKZ-13-FA02open-race-v2:WQFN-24-1EP_4x4mm_P0.5mm_EP2.70x2.70mm_AP33772SIC1
1APS512XXN-OB9-BGopen-race-v2:WLCSP-24_6x8mm_P1.0mm_APS512XXNU3
1ASMT-RJ45-AQ502 ORANGELED_SMD:LED_0603_1608MetricD1111
1ASMT-RR45-AQ902 REDLED_SMD:LED_0603_1608MetricD1112

The 303 most common of 337 parts.

More from teehee567/Aevia

2
  • 6 layers60.8 × 35.1 mmV2 mini, the printed circuit board in 3D

    V2 mini

    teehee567/Aevia

    gnss module collecting track data

    119 parts5
  • 4 layers56 × 20.5 mmV1 pcb, the printed circuit board in 3D

    V1 pcb

    teehee567/Aevia

    gnss module collecting track data

    21 parts5

Similar boards

  • 4 layers198.4 × 104.3 mmDC33, the printed circuit board in 3D

    DC33

    Maritime-Hacking-Village/Badge-2025

    Public repository for the official MHV 2025 badge.

    200 parts15CERN-OHL-W-2.0
  • 8 layers99 × 61 mmBattery management system cell monitoring unit, the printed circuit board in 3D

    Battery management system cell monitoring unit

    gerhardmalberg/bms-cmu-bq79616-hardware

    Open-source 6S–16S battery monitoring hardware based on TI BQ79616-Q1. Includes KiCad designs, manufacturing files, and electrical, thermal and mechanical simulation studies.

    198 parts1CERN-OHL-P-2.0
  • 4 layers58.4 × 54 mmTempo bt, the printed circuit board in 3D

    Tempo bt

    rrainey/tempo-bt

    A Bluetooth LE version of the Tempo Skydiving data logger

    69 parts1GPL-3.0
  • 2 layers35 × 38.2 mmBadge NFC, the printed circuit board in 3D

    Badge NFC

    climaCAL/Badge-NFC_HW

    5 parts
  • 6 layers160 × 100 mmAwohali, the printed circuit board in 3D

    Awohali

    DeepSpace00/Awohali

    An open soure GNSS station for flash flood nowcasting

    556 parts
  • 4 layers76.2 × 44.5 mmFlow controller, the printed circuit board in 3D

    Flow controller

    NOAA-PMEL/ASVCO2

    Open Source Repository for the Autonomous Surface Vehicle CO2 (ASVCO2) gen2 system

    59 parts
  • 4 layers30.5 × 17.8 mmSensor, the printed circuit board in 3D

    Sensor

    sugar-sensor/sensor-schematics

    Sensor HW

    44 partsMIT

Questions

How big is the Open race v2 PCB?

It measures 90.5 × 49.5 mm and has 8 copper layers, 1.6 mm thick.

What parts does the Open race v2 use?

337 parts, built around the SN74AHCT1G125DCKR(LX), AP33772SDKZ-13-FA02, APS512XXN-OB9-BG and CGA2B3X7R1H104K050BE. 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 Open race v2 KiCad files?

From the teehee567/Aevia repository on GitHub, at the commit this page was made from: the board is hardware/v2_pcb/open-race_v2.kicad_pcb and its schematic hardware/v1_pcb/pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Open race v2 design in my own project?

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