u/Secret_Craft_9602

▲ 22 r/esp32

A physical Monza circuit model that uses addressable LEDs to show driver positions in real-time.

Hi everyone! I’ve been working on a standalone F1 track display and wanted to share the technical side of the build, as requested by the community rules.

The Concept:

A physical Monza circuit model that uses addressable LEDs to show driver positions in real-time.

The Hardware Stack:

MCU: ESP32-WROOM. Chosen for its dual-core capabilities and reliable Wi-Fi stack.

LEDs: WS2812B (144 LEDs/m).

Power: 5V/2A external supply with a shared ground to the ESP32 to prevent flickering and handle peak brightness.

Software Architecture (Why Go?):

Most DIY projects use Python or Node.js, but I went with Go (Golang) for the backend:

Concurrency: Using Goroutines to fetch and process telemetry data for 20 cars simultaneously is incredibly efficient.

Low Latency: I need the LED update to be as close to the live broadcast as possible.

Communication: The backend processes the API data and sends it to the ESP32 via WebSockets.

Engineering Challenges & Solutions:

Mapping GPS to 1D: The telemetry provides coordinates, but my track is a linear LED strip. I had to write a custom interpolation script to map those coordinates to specific LED indices.

Smooth Movement: To avoid "teleporting" cars, I implemented a simple transition logic so the LEDs fade/move smoothly between positions.

Power Management: I faced some voltage drops on the strip, so I had to add power injection points to maintain color consistency across the whole circuit.

u/Secret_Craft_9602 — 1 day ago