Main content

Case study

Regularity rally pacing app, a prototype

Our own R&D for regularity rallies: one app tells the driver and co-driver whether the car is early or late, using distance measured at the wheels. A prototype, still in development.

Client
Own R&D
Sector
Historic regularity rallies
Role
Firmware, board, app
Status
Prototype, in development
  • 0.07s

    Timing error on a simulated test stage

    3.2 km replay

  • 1app

    For driver and co-driver

    Designed to replace separate apps

Pilot display in dark mode: ON PACE above a large green delta of plus 0.5 seconds, a tolerance bar from minus 2 to plus 2 seconds, the next speed change to 55 km/h in 3.00 km and the finish at 9.00 km. Synthetic test data.
Copilot screen during stage 2: on pace at minus 1.2 seconds, phone GPS as the position source with a low confidence flag, 349 m to the finish control, 36 km/h, and correction buttons for minus 50, minus 10, plus 10 and plus 50 metres.
FIG. 1Pilot display and the copilot's stage screen

The problem

A regularity rally scores every second early or late

Hidden controls time the crew to the second. The driver needs one steady number, and GPS on its own jumps around.

Pace deltaDemo data

+0.47sLate

What we built

Distance from the wheels, satellites only correct it

A small box in the car counts wheel turns, and the app follows that distance along the official route.

FIG. 2Hub, link and app
Regularity Rally System: a wheel sensor, an IMU and a GNSS receiver feed an ESP32-S3 hub on a custom carrier board that logs to microSD and streams an authenticated Bluetooth feed to the app, where a distance tracker drives the pilot and copilot screens, with curve warnings from an offline road graph.Sensors on the carrier board feed the ESP32-S3 hub. The hub logs to a microSD card and sends one authenticated Bluetooth feed. In the app, the distance tracker takes distance from the wheels first and uses GNSS to correct drift. It drives the pilot's early or late display and the copilot's roadbook, and reads bends from an offline road graph.BluetoothWheel sensorPulsesMotion sensorIMUSatellitesGNSSSession logmicroSDIn-car hubESP32-S3Distance trackerWheels firstPilotEarly, lateCopilotRoadbook

Services

IoT, firmware and mobile as one system

How the rally system is built: firmware, board, estimator, app

Route-progress estimator
Wheel distance leads and satellite positions only correct it, so the number stays steady through hairpins and tunnels.
Firmware and hardware
An ESP32 hub counts wheel pulses, reads GNSS and motion sensors and logs every stage, then streams to the phone over Bluetooth Low Energy.
Carrier board written as code
The circuit is generated from code and passes the electrical and design rule checks. Fabrication has not started.
Offline maps, built for the car
Romania's road network from OpenStreetMap ships inside the app, and the pacing number stays on screen even if another view fails.

Stack

Embedded
ESP32, C, FreeRTOS, GNSS, Bluetooth Low Energy
Mobile app
React Native, TypeScript
Maps
OpenStreetMap, offline road data
Hardware design
KiCad, circuit simulation

Next case

A system like this starts with a brief

Studio
Cluj-Napoca, Romania, EU