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
VINfrom the BEC output (5 V) of the car's ESC; the board's own regulator produces the3V3rail, 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) andGPIO17(TX2):Serial2, connected to the GPS module.GPIO21(SDA) andGPIO22(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)