{"id":16251299,"url":"https://github.com/desiFish/GPS-CLOCK-V1","last_synced_at":"2025-03-19T20:30:34.738Z","repository":{"id":246807048,"uuid":"822232990","full_name":"desiFish/GPS-CLOCK-V1","owner":"desiFish","description":"A precision timepiece that syncs with satellites and monitors your environment!","archived":false,"fork":false,"pushed_at":"2025-03-01T03:29:06.000Z","size":6576,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T04:23:33.664Z","etag":null,"topics":["128x64","arduino","bh1750","bme280-sensor","bmp280","buzzer","digital-clock","esp32","esp32-devkit-v1","gps","gps-clock","gps-time","iot","lcd-clock","lcd-display","st7920","tmp117"],"latest_commit_sha":null,"homepage":"https://iotthings.pythonanywhere.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/desiFish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-06-30T16:49:08.000Z","updated_at":"2025-03-01T03:29:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"21307869-187a-4220-9d6e-9ec8168cc8b2","html_url":"https://github.com/desiFish/GPS-CLOCK-V1","commit_stats":null,"previous_names":["kamadotanjiro-beep/gpsclock","kamadotanjiro-beep/esp32-gps-clock","desifish/esp32-gps-clock-v1","kamadotanjiro-beep/esp32-gps-clock-v1","desifish/gps-clock-v1"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desiFish%2FGPS-CLOCK-V1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desiFish%2FGPS-CLOCK-V1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desiFish%2FGPS-CLOCK-V1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desiFish%2FGPS-CLOCK-V1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/desiFish","download_url":"https://codeload.github.com/desiFish/GPS-CLOCK-V1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244501105,"owners_count":20462797,"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":["128x64","arduino","bh1750","bme280-sensor","bmp280","buzzer","digital-clock","esp32","esp32-devkit-v1","gps","gps-clock","gps-time","iot","lcd-clock","lcd-display","st7920","tmp117"],"created_at":"2024-10-10T15:09:45.682Z","updated_at":"2025-03-19T20:30:34.721Z","avatar_url":"https://github.com/desiFish.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e  \n  \u003ch1\u003e 🌟 ESP32 GPS Clock \u0026 Weather Station \u003c/h1\u003e\n\n  [![License](https://img.shields.io/badge/License-GPL%20v3-blue.svg?style=for-the-badge)](LICENSE)\n  [![ESP32](https://img.shields.io/badge/ESP32-Developer-blue?style=for-the-badge\u0026logo=espressif)](https://www.espressif.com/)\n  [![Arduino](https://img.shields.io/badge/Arduino-Compatible-green?style=for-the-badge\u0026logo=arduino)](https://www.arduino.cc/)\n  \n  [![Status](https://img.shields.io/badge/Status-Active-success?style=for-the-badge)](https://github.com/desiFish/ESP32-GPS-CLOCK-V1)\n  [![Issues](https://img.shields.io/github/issues/desiFish/ESP32-GPS-CLOCK-V1?style=for-the-badge)](https://github.com/desiFish/ESP32-GPS-CLOCK-V1/issues)\n\n  \u003cp align=\"center\"\u003e\n    \u003ci\u003eA precision timepiece that syncs with satellites and monitors your environment! 🛰️\u003c/i\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003chr style=\"border: 2px solid #f0f0f0; margin: 30px 0;\"\u003e\n\n\n  \u003e\u003ch2\u003e⚠️ Enhanced Version Available ⚠️\u003c/h2\u003e\n  \u003e\u003cp\u003eAn improved version of this project with physical buttons for better device configuration is available at:\u003cbr\u003e\n  \u003e\u003ca href=\"https://github.com/desiFish/ESP32-GPS-CLOCK-V2\"\u003eESP32-GPS-CLOCK-V2\u003c/a\u003e\u003c/p\u003e\n  \u003e\u003chr style=\"border: 2px solid #f0f0f0; margin: 20px 0;\"\u003e\n\n\n\u003ch2\u003e✨ Features\u003c/h2\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e🕒 Time\u003c/td\u003e\n    \u003ctd\u003eGPS-synchronized precise timekeeping\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e🌡️ Environment\u003c/td\u003e\n    \u003ctd\u003eTemperature \u0026 humidity monitoring\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e🔆 Display\u003c/td\u003e\n    \u003ctd\u003eAuto-brightness \u0026 power saving\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e📱 Connectivity\u003c/td\u003e\n    \u003ctd\u003eWiFi with OTA updates\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdiv align=\"center\" style=\"background: linear-gradient(45deg, #1a1a1a, #2a2a2a); padding: 20px; border-radius: 10px; margin: 20px 0;\"\u003e\n  \u003ch2 style=\"color: white;\"\u003e🌟 Project Highlights\u003c/h2\u003e\n  \u003ctable style=\"background: rgba(255,255,255,0.1); border-radius: 8px;\"\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e⚡ Fast GPS Lock\u003c/td\u003e\n      \u003ctd\u003e🌙 Auto Brightness\u003c/td\u003e\n      \u003ctd\u003e🔄 OTA Updates\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e📱 WiFi Manager\u003c/td\u003e\n      \u003ctd\u003e🔋 Battery Backup\u003c/td\u003e\n      \u003ctd\u003e🌡️ Environment Monitor\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e🛠️ Hardware Requirements\u003c/h2\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCore Components 📋\u003c/strong\u003e\u003c/summary\u003e\n\n| Component | Purpose | Notes |\n|-----------|---------|--------|\n| ESP32 devkit v1 | 🧠 Controller | DOIT version recommended |\n| BH1750 | 💡 Light sensor | I²C interface |\n| BME280 | 🌡️ Environment | Temperature/Humidity |\n| GPS Neo 6m | 📡 GPS receiver | UART interface |\n| ST7920 LCD | 🖥️ Display | 128x64 pixels |\n| Buzzer | 🔊 Alerts | Active buzzer |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOptional Components 🔧\u003c/strong\u003e\u003c/summary\u003e\n\n- 🔋 LiFePO4 AAA 80mAh (GPS backup)\n- ⚡ TP5000 charging circuit\n- 🔌 BMS with IN4007 diode\n- 🛠️ Prototyping materials\n\n\u003c/details\u003e\n\n\u003cdiv style=\"background-color: #f8f9fa; border-radius: 10px; padding: 20px; margin: 20px 0;\"\u003e\n  \u003ch3\u003e🎯 Key Features Explained\u003c/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e🕒 \u003cstrong\u003ePrecise Timekeeping:\u003c/strong\u003e GPS-synchronized time with battery backup\u003c/li\u003e\n    \u003cli\u003e🌡️ \u003cstrong\u003eEnvironmental Monitoring:\u003c/strong\u003e Temperature and humidity tracking\u003c/li\u003e\n    \u003cli\u003e📱 \u003cstrong\u003eSmart Connectivity:\u003c/strong\u003e WiFi enabled with web configuration\u003c/li\u003e\n    \u003cli\u003e🔆 \u003cstrong\u003eAdaptive Display:\u003c/strong\u003e Auto-brightness with power saving\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e⚠️ Important Notice\u003c/h2\u003e\n\u003cdiv style=\"background-color: #fff3cd; padding: 10px; border-radius: 5px; border-left: 5px solid #ffeeba;\"\u003e\n  \u003cstrong\u003e❌ DO NOT USE AHT25 SENSOR!\u003c/strong\u003e\u003cbr\u003e\n  Due to significant accuracy issues, we recommend using BME280/BMP280/TMP117 instead.\n\u003c/div\u003e \u003cbr\u003e\n\u003cstrong\u003e🔋 GPS Battery Modification\u003c/strong\u003e\n\u003cdiv style=\"background-color: #f8f9fa; padding: 15px; border-radius: 5px; margin-top: 10px;\"\u003e\n  \u003ch4\u003e⚠️ Known Issue with GPS Module's Internal Battery\u003c/h4\u003e\n  \u003cp\u003e\n    The NEO-6M GPS modules often come with problematic internal rechargeable batteries that:\n    \u003cul\u003e\n      \u003cli\u003eAre frequently dead on arrival\u003c/li\u003e\n      \u003cli\u003eFail to hold charge properly\u003c/li\u003e\n      \u003cli\u003eOnly last 15-20 minutes when disconnected\u003c/li\u003e\n      \u003cli\u003eCannot be reliably recharged\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/p\u003e\n\n  \u003ch4\u003e🛠️ Solution Implemented\u003c/h4\u003e\n  \u003cp\u003e\n    To resolve this, I've made the following modifications:\n    \u003cul\u003e\n      \u003cli\u003eRemoved the internal battery and charging diode\u003c/li\u003e\n      \u003cli\u003eInstalled a LiFePO4 battery (AAA size)\u003c/li\u003e\n      \u003cli\u003eAdded TP5000 charging circuit for reliable charging\u003c/li\u003e\n      \u003cli\u003eImplemented BMS for deep discharge protection\u003c/li\u003e\n      \u003cli\u003eAdded diode to drop voltage to 3V for GPS backup pin\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/p\u003e\n\n  \u003ch4\u003e💡 User Options\u003c/h4\u003e\n  \u003cdiv style=\"background-color: #e2e3e5; padding: 10px; border-radius: 5px;\"\u003e\n    \u003cstrong\u003eYou have two choices:\u003c/strong\u003e\n    \u003col\u003e\n      \u003cli\u003e\u003cstrong\u003eKeep Original Battery:\u003c/strong\u003e \n        \u003cul\u003e\n          \u003cli\u003eSuitable if clock remains powered most of the time\u003c/li\u003e\n          \u003cli\u003eNo modifications needed\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eModify Battery (Recommended):\u003c/strong\u003e\n        \u003cul\u003e\n          \u003cli\u003eBetter for frequent power cycles\u003c/li\u003e\n          \u003cli\u003eEliminates 5-10 minute GPS lock delay on cold starts\u003c/li\u003e\n          \u003cli\u003eMore reliable long-term solution\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n    \u003c/ol\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e📊 Schematics\u003c/h2\u003e\n\u003cdiv align=\"center\" style=\"background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0;\"\u003e\n    \u003cstrong\u003e👀 Circuit Diagram\u003c/strong\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"https://github.com/KamadoTanjiro-beep/ESP32-GPS-CLOCK-V1/blob/main/resources/schematic/Schematic_GPSClock-V1.png\" \n         alt=\"GPS Clock Schematic\" \n         width=\"600px\"\n         style=\"border-radius: 5px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n    \u003cp\u003e\u003cem\u003eESP32 GPS Clock Circuit Diagram\u003c/em\u003e\u003c/p\u003e\n\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e📝 Format\u003c/td\u003e\n      \u003ctd\u003eHigh-resolution PNG\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🔍 Zoom\u003c/td\u003e\n      \u003ctd\u003eClick image to enlarge\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e💾 Download\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://github.com/KamadoTanjiro-beep/ESP32-GPS-CLOCK-V1/blob/main/resources/schematic/Schematic_GPSClock-V1.png\"\u003eFull Resolution\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e📸 Gallery\u003c/h2\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003c!-- First Row --\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003cimg src=\"resources/images/x1.jpg\" \n             alt=\"Internal Components\" \n             width=\"100%\"\n             style=\"border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cp\u003e\u003cem\u003eInternal Components 🔧\u003c/em\u003e\u003c/p\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003cimg src=\"resources/images/x2.jpg\" \n             alt=\"PVC Case\" \n             width=\"100%\"\n             style=\"border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cp\u003e\u003cem\u003ePVC Case 🎨\u003c/em\u003e\u003c/p\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003cimg src=\"resources/images/x3.jpg\" \n             alt=\"Front View\" \n             width=\"100%\"\n             style=\"border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cp\u003e\u003cem\u003eFront View 📱\u003c/em\u003e\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003c!-- Second Row --\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003cimg src=\"resources/images/x4.jpg\" \n             alt=\"PCB Layout\" \n             width=\"100%\"\n             style=\"border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cp\u003e\u003cem\u003ePCB Layout 🔌\u003c/em\u003e\u003c/p\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003cimg src=\"resources/images/x5.jpg\" \n             alt=\"Internal View 2\" \n             width=\"100%\"\n             style=\"border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cp\u003e\u003cem\u003eInternal View 2 🔌\u003c/em\u003e\u003c/p\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e📜 License\u003c/h2\u003e\n\u003cdiv style=\"background-color: #e9ecef; padding: 15px; border-radius: 5px;\"\u003e\n\u003ch3\u003eGNU General Public License v3.0\u003c/h3\u003e\n\n\u003ch4\u003e✅ Permissions\u003c/h4\u003e\n\u003cul\u003e\n  \u003cli\u003eCommercial use\u003c/li\u003e\n  \u003cli\u003eModification\u003c/li\u003e\n  \u003cli\u003eDistribution\u003c/li\u003e\n  \u003cli\u003ePatent use\u003c/li\u003e\n  \u003cli\u003ePrivate use\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch4\u003e⚠️ Conditions\u003c/h4\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003cstrong\u003eLicense and copyright notice:\u003c/strong\u003e Include the original license and copyright\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eState changes:\u003c/strong\u003e Document all modifications\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eDisclose source:\u003c/strong\u003e Make source code available\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eSame license:\u003c/strong\u003e Use the same license for derivatives\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch4\u003e❌ Limitations\u003c/h4\u003e\n\u003cul\u003e\n  \u003cli\u003eNo liability\u003c/li\u003e\n  \u003cli\u003eNo warranty\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e🤝 Contributing\u003c/h2\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🍴 Fork\u003c/td\u003e\n      \u003ctd\u003e🔧 Code\u003c/td\u003e\n      \u003ctd\u003e📤 Push\u003c/td\u003e\n      \u003ctd\u003e📫 PR\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e📞 Support\u003c/h2\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003eIf this project helps you, please consider:\u003c/p\u003e\n  \u003cp\u003e\n    ⭐ Giving it a star\u003cbr\u003e\n    🐛 Reporting issues\u003cbr\u003e\n    💡 Suggesting improvements\u003cbr\u003e\n    🤝 Contributing code\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\" style=\"margin-top: 50px;\"\u003e\n  \u003cp style=\"color: #666; font-style: italic;\"\u003eMade with ❤️\u003c/p\u003e\n  \n  \u003ca href=\"https://github.com/desiFish/ESP32-GPS-CLOCK-V1/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/desiFish/ESP32-GPS-CLOCK-V1?style=social\" alt=\"Stars\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FdesiFish%2FGPS-CLOCK-V1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FdesiFish%2FGPS-CLOCK-V1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FdesiFish%2FGPS-CLOCK-V1/lists"}