RC Car GPS Speedometer

On an ESP32 (Arduino), configure a Quectel L80 GPS to RMC-only at 5 Hz with acknowledged PMTK commands, parse checksummed NMEA RMC sentences into km/h, and show live and maximum speed on an SSD1306 OLED. The maximum uses a two-sample spike filter, survives power cycles through rate-limited NVS writes, and resets on a long BOOT press.

Placa
ESP32 · Arduino
Dificultad
Difícil
Tema
UART Communication
Acceso
Plan completo

La tarea

RC Car GPS Speedometer

You want to measure the real speed of a radio-controlled car. A Quectel L80 GPS module, an ESP32 board and a small OLED display are mounted on it. You will write the firmware that parses the GPS module's NMEA 0183 sentence stream and shows the current speed and the highest speed recorded so far on the display. The firmware uses the Arduino framework (Arduino-ESP32), not ESP-IDF directly.

Hardware

  • ESP32-DevKitC (ESP32-WROOM-32). Powered through VIN from the BEC output (5 V) of the car's ESC; the board's own regulator produces the 3V3 rail, which also powers the L80 and the OLED.
  • Quectel L80 GPS module (patch antenna on top). Runs from 3.3 V with 3.3 V UART logic, so no level shifter is needed. Default UART setting: 9600 baud, 8N1. Pins, sentence formats and PMTK commands: Datasheet tab.
  • SSD1306 OLED, 128×64, I²C, address 0x3C. A bare module: it has no I²C pull-up resistors.
  • GPIO16 (RX2) and GPIO17 (TX2): Serial2, connected to the GPS module.
  • GPIO21 (SDA) and GPIO22 (SCL): Wire, connected to the OLED.
  • GPIO25: FIX LED; a high level lights it.
  • GPIO0: the BOOT button on the DevKitC; reads low while pressed. No extra wiring.
  • USB serial port (Serial, 115200 baud): test and debug log.

Este es el inicio de la tarea. Inicia sesión con el plan completo para leer el resto y resolverla.

Qué incluye

  • Tu firmware se compila y ejecuta en una placa emulada y se comprueba con pruebas a nivel de hardware.
  • No necesitas placa de desarrollo ni toolchain local.

¿Nuevo en embebidos? Empieza por la hoja de ruta: Cómo aprender sistemas embebidos (en inglés)