Skip to content

Latest commit

 

History

91 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MotoNav-CYD

Open-source GPS motorcycle speedometer, trip computer and GPX logger for the ESP32-2432S028R Cheap Yellow Display.

Stable release ESP32 Display GNSS

English · Русский · Quick Start · Configuration · Hardware · Release notes

MotoNav-CYD open-source GPS motorcycle computer

Current stable release: V1.1.2

V1.1.2 keeps the field-tested V1.0 trip and logging logic and adds a smooth, fully buffered startup animation: a detailed pixel-art enduro motorcycle crosses the screen, performs a wheelie and transitions to the arcade-style READY TO RIDE title without visible full-screen flicker.

Download: MotoNav-CYD V1.1.2 Stable ZIP — ready to extract and open in Arduino IDE. You can also browse the source folder.

Features

  • large GNSS speedometer with a full-width 0–160 km/h oval gauge;
  • automatic transition from trip computer to speedometer when movement begins;
  • trip distance, average speed and maximum speed;
  • total, moving and stopped time;
  • reliable manual GPX recording to the built-in microSD slot;
  • per-ride CSV statistics and RIDES_INDEX.CSV;
  • on-device history for the latest 20 rides;
  • live GNSS diagnostics: satellites, HDOP, fix age, altitude and coordinates;
  • filtering of speed spikes, distance jumps and invalid GPX points;
  • automatic repair of an unclosed GPX file after sudden power loss;
  • day and night themes;
  • km/h + km or mph + mi;
  • readable FreeSansBold typography and card-based UI;
  • buffered pixel-art startup animation and three-second READY TO RIDE screen.

Real device screens

GNSS diagnostics Ride history Ride saved
MotoNav-CYD GNSS diagnostics MotoNav-CYD ride history MotoNav-CYD ride summary

More real-device photographs: V1.0 photo gallery.

Hardware

  • ESP32-2432S028R / CYD;
  • ILI9341 320×240 TFT;
  • XPT2046 touchscreen;
  • built-in microSD slot;
  • external UART GNSS receiver producing NMEA at a configurable baud rate;
  • tested with GT-U12 and ATGM336H-compatible wiring.

GNSS connection

GNSS module CYD Purpose
TX GPIO35 NMEA input to ESP32
GND GND Common ground
VCC Per module specification Check the required voltage first
RX Not connected V1.1.2 does not send GNSS commands

MotoNav-CYD motorcycle power and GNSS wiring

Do not connect the CYD directly to a motorcycle 12 V system. Use a fused, protected and regulated 5 V supply. See the complete hardware guide.

Quick start

  1. Download the complete MotoNav_CYD_V1_1_2_Stable directory.
  2. Install ESP32 board support in Arduino IDE.
  3. Install TFT_eSPI, TinyGPSPlus and XPT2046_Touchscreen.
  4. Configure TFT_eSPI for your ESP32-2432S028R revision.
  5. Connect GNSS TX to GPIO35, connect GND and supply the GNSS module with its specified voltage.
  6. Set GNSS_BAUD in config.h to match the receiver. QUESCAN G10A-F30 uses 38400 baud by default.
  7. Insert a FAT32-formatted microSD card.
  8. Open MotoNav_CYD_V1_1_2_Stable.ino, compile and upload.

Full instructions: Quick Start and the bilingual config.h configuration guide.

Operation

Action Result
Short tap on the main screen Toggle day/night theme
Hold for about 1.5 seconds while stopped Open menu
TRACK → START TRACK Start a new GPX recording
TRACK → FINISH Finish and save the ride
RIDES Browse recent ride summaries
GNSS Open live GNSS diagnostics
SETTINGS Change theme and units

At 5 km/h or above, menus, GNSS diagnostics, ride history and the final ride screen close automatically and MotoNav switches to the large speedometer.

Files written to microSD

  • TRK_YYYYMMDD_HHMMSS.GPX — route track;
  • TRK_YYYYMMDD_HHMMSS.CSV — statistics for one ride;
  • RIDES_INDEX.CSV — compact index used by the on-device ride browser;
  • ACTIVE_TRACK.TXT — temporary recovery marker removed after a normal finish.

Format details: microSD and CSV documentation.

Download real output samples recorded by MotoNav:

Open GPX tracks in QGIS, Google Earth Pro, GPXSee or OsmAnd. A step-by-step QGIS example is included in the storage documentation.

Tested environment

  • ESP32 Arduino Core 3.3.10;
  • ESP32 built-in SD library;
  • TFT_eSPI with GFXFF/FreeSansBold enabled;
  • CYD landscape orientation with setRotation(1).

FreeSansBold is already included through TFT_eSPI. Do not add duplicate #include FreeSansBold*.h directives to the sketch, because that causes redefinition errors.

Limitations

  • no maps, route guidance or turn-by-turn navigation;
  • GPX files cannot yet be viewed or deleted on the CYD;
  • recovery of an interrupted GPX does not automatically recreate its final CSV summary;
  • unfinished trip statistics are not restored after complete power loss;
  • accuracy depends on the GNSS receiver, antenna placement, sky visibility and fix quality.

Versions

  • V1.1.2 Stable — current stable release with the smooth buffered startup animation;
  • V1.0 Stable — previous stable release and rollback option;
  • V0.9 — field-tested feature base for V1.0;
  • V0.8 — trip computer milestone;
  • V0.7 — reliable GPX recording milestone.

Development history: Roadmap. Technical references: references.

Safety

This is a DIY project. Use a fuse, transient protection, reliable connectors, vibration isolation and a weather-resistant enclosure before installing it on a motorcycle. Mount the display where it does not obstruct controls or distract the rider.

License

MotoNav-CYD is released under the MIT License. You may use, modify and redistribute the project while retaining the copyright and license notice.

About

ESP32 CYD motorcycle GPS speedometer with trip statistics, automatic driving mode, GNSS diagnostics and GPX track recording.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages