{"id":24701620,"url":"https://github.com/jinw06k/ontimeeverytime","last_synced_at":"2026-04-12T19:35:14.343Z","repository":{"id":271662500,"uuid":"914098642","full_name":"jinw06k/OnTimeEveryTime","owner":"jinw06k","description":"real-time MBus tracker","archived":false,"fork":false,"pushed_at":"2025-02-01T20:31:08.000Z","size":61502,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T04:12:47.993Z","etag":null,"topics":["cpp","esp32","python3"],"latest_commit_sha":null,"homepage":"https://jinwookshin.com/templates/bus-prediction","language":"JavaScript","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/jinw06k.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-01-09T00:19:51.000Z","updated_at":"2025-02-01T20:51:02.000Z","dependencies_parsed_at":"2025-01-21T21:44:55.810Z","dependency_job_id":null,"html_url":"https://github.com/jinw06k/OnTimeEveryTime","commit_stats":null,"previous_names":["jinw06k/mbus-tracker","jinw06k/ontimeeverytime"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinw06k%2FOnTimeEveryTime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinw06k%2FOnTimeEveryTime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinw06k%2FOnTimeEveryTime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinw06k%2FOnTimeEveryTime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jinw06k","download_url":"https://codeload.github.com/jinw06k/OnTimeEveryTime/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244902924,"owners_count":20529115,"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","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":["cpp","esp32","python3"],"created_at":"2025-01-27T05:24:57.791Z","updated_at":"2025-12-30T23:53:06.922Z","avatar_url":"https://github.com/jinw06k.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"/assets/images/final/frontpage.png\"\u003e\n\n# On Time Every Time - Live MBus Tracker\nThis repository contains the source code for a real-time MBus tracker specifically for Northbound buses at the Central Campus Transit Center. It was developed to help me and my roommate stay on schedule for buses heading to North Campus for classes.\n\n[Magic Bus API](https://mbus.ltp.umich.edu/home) is provided by UM Transit at the University of Michigan - Ann Arbor.\n\n## Hardware Requirements\n- ESP32\n- 7-seg Display\n- SN74HC595 Shift Register\n- Rotary Encoder\n- Resistors (220Ω)\n- Wires\n- Additional requirements to be updated.\n\n## Local Testing\nA Flask app was initially developed to test and monitor API requests.\n\n\u003cimg src=\"/assets/images/old/testing.png\" width=\"500\"\u003e\n\n## Web Deployment\nA JavaScript script was developed and integrated into my personal website, enabling my roommates and me to access it on our phones. [Check it out here!](http://jinwookshin.com/templates/bus-prediction)\n\n\u003cimg src=\"/assets/images/final/web/MobileDemo.gif\" width=\"400\"\u003e\n\n## ESP32 Testing #1: Serial Testing\nC++ code was written for the ESP32 to test WiFi connectivity and API requests. Below is a video comparing the JSON data retrieved via ESP32 with the deployed web version.\n\n(https://youtu.be/zxtD61-A_Fs)\n\n[![Video Placeholder](https://img.youtube.com/vi/zxtD61-A_Fs/0.jpg)](https://youtu.be/zxtD61-A_Fs)\n\n## ESP32 Testing #2: Rotary Cncoder Testing\nRotary Encoder added - Jan. 28\n(https://www.youtube.com/shorts/zzOmB_uZ6Bs)\n\n[![Video Placeholder](https://img.youtube.com/vi/zzOmB_uZ6Bs/0.jpg)](https://www.youtube.com/shorts/zzOmB_uZ6Bs)\n\n## Final Version\nThe final version of the board allows tracking of three bus routes. A rotary encoder can be used to switch between routes, and the RGB LED displays the representative color of the current route. Two sets of 7-segment displays show the estimated arrival times for the next two available buses. With built-in WiFi connectivity, the ESP32 eliminates the need for a computer connection, making the board fully stand-alone.\n(https://youtube.com/shorts/56vkLiOQles)\n\n[![Video Placeholder](https://img.youtube.com/vi/56vkLiOQles/0.jpg)](https://www.youtube.com/shorts/56vkLiOQles)\n\n## Todo\n\n- [x] Local testing\n- [x] Deploy to Netlify\n- [x] Enhance Mobile View\n- [x] ESP32 testing on serial monitor\n- [x] Connect to final hardware setup\n- [ ] Add alphanumeric display for bus route info\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinw06k%2Fontimeeverytime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjinw06k%2Fontimeeverytime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinw06k%2Fontimeeverytime/lists"}