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.

Carte
ESP32 · Arduino
Difficulté
Difficile
Thème
UART Communication
Accès
Offre complète

La tâche

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.

Voici le début de la tâche. Connectez-vous avec l'offre complète pour lire la suite et la résoudre.

Ce que vous obtenez

  • Votre firmware est compilé et exécuté sur une carte émulée, puis vérifié par des tests matériels.
  • Aucune carte de développement ni toolchain locale requise.

Débutant en embarqué ? Commencez par la feuille de route : Apprendre les systèmes embarqués (en anglais)