Overview
Longhorn Racing needed a low-cost way to log vehicle dynamics and thermal data during kart and car testing. Most commercial systems were either too expensive or too closed to modify for student research. Our team built a custom telemetry system that could be moved between vehicles and output structured CSV data for analysis and event classification.
The final system combined an IMU, GNSS receiver, and four temperature probes with an Arduino Nano ESP32 and a simple serial-to-CSV logging workflow. We validated the system on a kart, logging laps and reconstructing the path, speed profile, and temperature behavior in post-processing.
Hardware Architecture
We iterated through several breadboard prototypes before settling on a clean, compact layout on a long board that could be taped to the kart chassis. The final hardware stack included:
- Arduino Nano ESP32 as the main controller and USB interface
- Adafruit BNO055 9-DoF IMU breakout for orientation and acceleration
- u-blox NEO-M8P GNSS module with an external antenna for position and speed
- Four waterproof digital temperature probes for tire and component temperatures
- Qwiic / I²C cabling to reduce wiring clutter and keep connections robust
Each sensor was selected to balance cost, accuracy, and ease of integration. We tested individual components on an Arduino Uno first, then migrated the design to the Nano ESP32 once we were confident in performance.
Firmware & Data Logging
On the embedded side, I wrote Arduino code to read all sensors at a consistent rate, perform basic unit conversions, and stream a structured line of data over serial. The packet included:
- Millisecond timestamp, latitude, longitude, and GNSS fix quality
- IMU orientation and acceleration values
- Four temperature channels
On the laptop, I used a simple logger to capture exactly what the board printed to the serial port (the same data visible in the Arduino Serial Plotter) and write it to a fresh CSV file for each run. I manually started and stopped the logger, and used a consistent naming scheme so files could be tied back to specific tests at a glance.
Software Architecture
The software side was intentionally kept simple so anyone on the team could run it without fighting a complex stack. Everything revolved around a single stream of comma-separated values coming off the Nano ESP32:
- Embedded loop: read all sensors, apply basic unit conversions, and print one CSV line per sample (millisecond timestamp, GNSS, IMU, and four temperature channels) over the serial port
- Serial stream: the exact same text stream shown in the Arduino Serial Plotter, which made debugging and sanity checks straightforward
Testing & Results
We first validated the system on the bench, then on a kart at the track. The GNSS data was used to reconstruct clockwise and counterclockwise laps and compare them to ideal circular paths. Temperature data showed clear trends with speed and steering, and IMU data captured transitions and maneuvers.
The system met our course requirements and produced clean enough data to support event classification and further model validation work. The full architecture and results are documented in our final report and presentation.
Problems Solved & What I Learned
- Architected a complete DAQ pipeline from sensors through ESP32 to CSV logs that I could analyze without touching the firmware
- Debugged noisy IMU and GNSS data, calibration drift, and wiring issues by adding warm-up procedures, improving grounding, and cleaning up the layout
- Improved logging reliability with a simple, manual logger and a naming convention that made test runs easy to track and compare
- Learned how to design hardware that survives vibration, heat, and real track conditions instead of just working once on a lab bench
Impact
The finished telemetry system gave Longhorn Racing a reusable, low-cost tool for collecting synchronized IMU, GNSS, and thermal data on karts and test vehicles. It has already served as a template for future logging setups and provides a foundation for event classification, driver coaching, and model validation work going forward.