RaceREC

This project started as a quick way to log GPS and gyro data, but it grew into a full data-acquisition setup built around a first-generation Raspberry Pi Model B running a heavily trimmed-down Alpine Linux image. Everything was written in Python and works on any Python-capable environment.

I wired an MPU6050 IMU and a small I²C LCD display directly to the Pi’s GPIO pins, and connected the GPS module over the serial port. The Python script parsed raw NMEA strings from the GPS stuck on the roof of the car, updated the display with real-time status info, and used multiple processes to keep the UI, sensors, and logging running smoothly without blocking each other.

Data was written directly to CSV with timestamps, but instead of saving every line individually, the system buffered data in short chunks—about two seconds at a time. This chunk-based approach kept file locking minimal and helped protect against data loss if the system suddenly lost power.

The Pi was powered from the car’s lighter socket, and a small Wi-Fi dongle handled networking so I could SSH into it whenever I needed. Alongside the logger, I built a simple web interface to browse and visualize the captured data afterward, making it easier to inspect runs without digging through raw files. The whole setup was modular, and with a CAN-bus transceiver (which I didn’t have at the time) it could easily be expanded to capture additional vehicle data.

Mobirise Website Builder

© Copyright 2025 Bruno Fernandes - All Rights Reserved

No Code Website Builder