Introduction
This is a two-part series talking about the telemetry system that Jacky and I built.
Objective:
- Build a live telemetry system so that home base and spectators can follow along with what the driver is seeing real time
- Build a review system so that drivers can review and improve their on track performance
- Build a system for to relay car state so that mechanics and technicans can track realtime
Requirements:
- Multiple camera feeds with reliable video transmission
- Driver inputs and engine state tapped from vehicle electrical harnesses
- We are driving a car without OBD2, so we must tap many signals via analog sensing
- Built in 3 days
These objectives and requirements drove us build a custom solution. In the first part of this blog, we’ll talk about the hardware BOM and build out. In the second part we’ll talk about the software for live monitoring and in-post review.
Questions?
If you are interested in installing this setup on your own race car, reach out to us on X at @shihao_cao. For a $2000 donation to the team, we will hop on calls with you to help you get things setup until it works.
Design
Hardware BOM
| Component | Model | Specs | Power | Cost | Category | Notes |
|---|---|---|---|---|---|---|
| Forward Wide Camera | Logitech C920x | 1080p x 30fps | USB - 2.5W | $70 | Video | Driver POV |
| Driver Camera | Logitech C920x | 1080p x 30fps | USB - 2.5W | $70 | Video | Being able to see the shifting and pedal movements is cool |
| On Board Compute | Jetson Orin NX | 16GB RAM, NVENC Accelerator | 12V/5A → 60W Max | $1150 | Compute | We don’t ever want video encoding to be the bottleneck, so we wanted a hardware encoding accelerator |
| 5G Modem | GL-X3000 | 5G Compatible, physical SIM | 12V/2.5A → 30W Max | $323 | Connectivity | 5G is likely overkill, but the bandwidth headroom is nice |
| SIM Card + Plan | Visible+ | Unlimited data | — | $45/mo | Connectivity | Verizon generally works well at TH and Sonoma |
| GPS/Accel | Racebox Micro | 25Hz, <1m accuracy | 12V, 0.2W Max | $125 | Telemetry | Also works standalone with your phone |
| Bluetooth Dongle | UD100-G03 | BLE | USB, 2.5W Max | $39 | Telemetry | Jetson doesn’t have built-in BT; Racebox relays over BLE |
| Microcontroller | Arduino Mega 2560 | 54 Digital IO, 16 Analog Inputs | USB, 1W Max | $49 | Telemetry | Bit overkill — a smaller 5V Arduino would be plenty |
Totals
- Total cost: ~1850 for listed parts. ~$2000 when including random wires, resistors/diodes, butt joints, t splices, small wires, solder, perfboard, zipties, etc.
- Total power:
~100Wmax theoretical, in practice steady state power draw was likely closer to20/30W maximum
Telemetry Points
| Telemetry Point | Sense Strategy | Signal Type | Arduino Pin | Sense Line |
|---|---|---|---|---|
| Video 1 | Camera | Digital | — | — |
| Video 2 | Camera | Digital | — | — |
| Brake Indicator | Binary yes/no voltage | 12V divided down, 4.3X | A5 | White/Green Brake Light Line |
| Battery Voltage | Analog | 12V divided down, 4.3X | A6 | Tap off the PDB +12V bus |
| Throttle Position | Calibrate 0–100 | 5V analog | A9 | D11 ECU D connector |
| Engine Coolant Temp (T/W) | Lookup table | 5V analog | A8 | D13 ECU D Connector |
| MAP | Lookup table | 5V analog | A10 | D13 ECU D Connector |
| RPM (Tach) | Derive instantaneous pulses/sec | 12V square wave → 5V | D19 | A7 BLU Dash Connector |
| VSS | Derive instantaneous pulses/sec | 12V square wave → 5V | D18 | B10 ECU B Connector |
| GPS | Racebox | Digital | — | — |
| Accel | Racebox | Digital | — | — |
| Gyro | Racebox | Digital | — | — |
Telemetry System Design
Design Considerations
We had considered a Starlink Mini as vehicle data offload but decided against this because I was unsure if we would be in a garage. The line-of-sight requirements are tough.
We has also considered running the stream on the vehicle, but this would have been very rough as the stream would have died if the telemetry computer restarted. So keeping that separate was a great choice.
Power
Power Considerations
I had considered adding another secondary battery onboard, but descoped it at the time to make deadlines.
At the race, we noticed two significant downsides:
- You can deplete the vehicle battery while running telemetry which means we had to repeatedly hook up a battery charger while running telem only
- Cranking the starter brings the
+12V rail below +10Vwhich browns out the computers. This meant stalling the car and restarting the car would necessitate a power cycle, very annoying.
For the next iteration we plan to add a small auxiliary battery with:
- a relay that switches off if the kill switch is switched to cut power to telemetry
- diodes that prevent auxiliary battery from flowing to the
main electrical bus
Driver Communication
We ran driver communication completely parallel to telemtry. We would communicate with drivers via discord audio call. This meant that if the telemetry stack restarted, our audio communications persisted. This was very useful during hotpits when we shut off telemetry, or if we ever had to crank the starter on track.