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.

Board
ESP32 · Arduino
Schwierigkeit
Schwer
Thema
UART Communication
Zugang
Vollständiger Plan

Die Aufgabe

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.

Das ist der Anfang der Aufgabe. Melde dich mit dem vollständigen Plan an, um den Rest zu lesen und sie zu lösen.

Was du bekommst

  • Deine Firmware wird auf einem emulierten Board gebaut, ausgeführt und durch Hardware-Tests geprüft.
  • Kein Entwicklungsboard und keine lokale Toolchain nötig.

Neu bei Embedded? Starte mit der Roadmap: Embedded-Systeme lernen (Englisch)