Racing TrakBox firmware revision V15
Update Oct 23 2026
We have reached code freeze and have a release candidate ready. Final testing is underway. Expect no further updates to this topic and a release announcement in a new topic.
Update Oct 19 2026
This firmware version is now recording 85 to 95 lines of data per second and runs extremely stable. This firmware version is going to be tested further but is ready for release - watch this space!
Note: firmware version V14 has been abandoned and skipped
Careful optimization of the firmware using a bench marking program has increased logging speed and GPS performance has been greatly improved as well. Several features have also been removed to maximize logging speed.
Performance Improvements:
| task | V0.13 | V0.15 |
|---|---|---|
| data lines per sec | ~ 30 - 40 | ~ 85 - 95 |
| GPS data points | 1 / sec. | 5 / sec. |
Brief:
Firmware V0.14 was in production by mid September 2026 when the development team began experimenting with a completely different architecture with the goal of exploring outright logging speed as the primary goal. This new architecture eventually showed so much promise that work on V14 was suspended.
The main change involves using milliseconds as emitted by the micro controller’s crystal to run the main loop timing and adjust the time using the GPS reported time to correct and fine tune the system time down to a millisecond scale.
Ultimately the timing loop concept was abandoned and the code structure reverted back to something very similar to the previous version. The difference in performance came from a very careful evaluation using a bench marking program written in python and run locally. Each portion of the code was tested to find the impacted on overall logging speed.
A good example of these gains includes using the SSD1306ascii library by Bill Greiman in place of Adafruit_SSD1306 for controlling the OLED display. The display had been omitted during testing and upon being included back into the code base logging speed dropped by ~20 lines per second. The SSD1306ascii library is optimized to use minimal system RAM and resources and the difference was a dramatic performance gain.
After having exhausted almost every avenue of development and reaching logging speeds in the ~70 - 80 lines per second range, the micro controller was over clocked from 80 Hz to 160 Hz. This change pushed the overall execution speed into the range of ~85 - 95 lines per second. After some adjustments were made stability also seems excellent with 95% of the execution loops being within 5% of the average. The doubling of clock speed only produced moderate gains in logging speed but also seemed to give portions of the code ‘time to breath’ increasing stability.
In parallel, research into upgrading the GPS module for the next hardware version led to increases is GPS positioning data speed by a factor of five. The baud rate is limited by the use of SoftwareSerial and was unstable at any setting above the default rate of 9600. Optimization of the algorithm included filtering the NMEA sentences to only the necessary sentences for logging which allowed the calculations update rate to be run at 5Hz.
This latest version is already running on the original pre production prototype and tested on the Racing Trakbox Dashboard
Changes:
the real-time phone speedometer display has been eliminated
the wifi set up has been eliminated
the use of NTS (network time server) has been eliminated