{"id":26749355,"url":"https://github.com/hyutrn/mini-oled-navigation","last_synced_at":"2026-05-14T21:33:25.863Z","repository":{"id":284706315,"uuid":"955797937","full_name":"hyutrn/Mini-Oled-Navigation","owner":"hyutrn","description":"This project is a simple, low-cost navigation assistant designed for motorcyclists. It uses an ESP32 microcontroller paired with an SSD1306 OLED display to show real-time navigation instructions (direction arrows and distance) without requiring the rider to look at their phone","archived":false,"fork":false,"pushed_at":"2025-03-28T07:21:50.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T17:40:28.160Z","etag":null,"topics":["arduino","chronos","cpp","embedded","embedded-systems","iot","iot-device"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyutrn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-27T08:04:12.000Z","updated_at":"2025-03-28T07:21:54.000Z","dependencies_parsed_at":"2025-03-27T09:24:47.743Z","dependency_job_id":"155d6375-2216-4bbe-ba76-0c695282b92b","html_url":"https://github.com/hyutrn/Mini-Oled-Navigation","commit_stats":null,"previous_names":["hyutrn/mini-oled-navigation-"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hyutrn/Mini-Oled-Navigation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyutrn%2FMini-Oled-Navigation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyutrn%2FMini-Oled-Navigation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyutrn%2FMini-Oled-Navigation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyutrn%2FMini-Oled-Navigation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyutrn","download_url":"https://codeload.github.com/hyutrn/Mini-Oled-Navigation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyutrn%2FMini-Oled-Navigation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279011862,"owners_count":26085005,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","chronos","cpp","embedded","embedded-systems","iot","iot-device"],"created_at":"2025-03-28T11:18:52.780Z","updated_at":"2025-10-12T15:47:16.276Z","avatar_url":"https://github.com/hyutrn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Motorcycle Navigation Display with ESP32 and OLED\n\n#### Description\nA simple navigation assistant for motorcyclists using an ESP32 and SSD1306 OLED display. This project shows navigation instructions (direction arrows and distance) via Bluetooth Low Energy (BLE) from the Chronos Android app, reducing the need to look at a phone while riding. It leverages the **ChronosESP32** library for time synchronization and data reception. When idle, it displays the current date and time.\n\n#### Features\n- **Default Mode**: Shows date and time synced via ChronosESP32 on startup or idle.\n- **Connected Mode**: Displays \"Connected\" and time when paired with the Chronos app.\n- **Navigation Mode**: Shows direction arrows (straight, left, right) and distance (e.g., \"100m\") when receiving navigation data.\n- **Timeout**: Automatically reverts to time display after 30 seconds of inactivity.\n- **Disconnected Mode**: Shows \"Disconnected\" and time when unpaired.\n- **Manual Input**: Navigation data (e.g., `NAV:straight:100`) is sent manually from Chronos based on Google Maps.\n\n#### Hardware\n- **ESP32**: Any BLE-capable variant.\n- **SSD1306 OLED**: 128x64 I2C display (SDA -\u003e GPIO 21, SCL -\u003e GPIO 22).\n- **Power**: USB or battery for motorcycle use.\n\n#### Software\n- **ESP32**: Arduino IDE with:\n  - `ChronosESP32` (BLE and time sync).\n  - `Adafruit_GFX` and `Adafruit_SSD1306` (OLED control).\n- **Android**: Chronos app (by fbiego) for sending custom data via BLE.\n\n#### How It Works\n1. Power on: ESP32 waits for BLE connection and shows time.\n2. Pair with Chronos app: OLED updates to \"Connected\" with time.\n3. Use Google Maps, manually send commands (e.g., `NAV:left:50`) via Chronos.\n4. OLED displays arrow and distance until `STOP_NAV` is sent or 30 seconds pass without new data.\n\n#### Usage\nMount on a motorcycle for a glanceable navigation aid. Pair with Chronos, input navigation data as you ride, and let the timeout handle idle states.\n\n#### Future Improvements\n\n\n#### License\n\n#### Idea:\nhttps://github.com/appleshaman/CarPlayBLE/tree/main\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyutrn%2Fmini-oled-navigation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyutrn%2Fmini-oled-navigation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyutrn%2Fmini-oled-navigation/lists"}