https://github.com/desiFish/GPS-CLOCK-V1
A precision timepiece that syncs with satellites and monitors your environment!
https://github.com/desiFish/GPS-CLOCK-V1
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
Last synced: 2 months ago
JSON representation
A precision timepiece that syncs with satellites and monitors your environment!
- Host: GitHub
- URL: https://github.com/desiFish/GPS-CLOCK-V1
- Owner: desiFish
- License: gpl-3.0
- Created: 2024-06-30T16:49:08.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-03-01T03:29:06.000Z (3 months ago)
- Last Synced: 2025-03-01T04:23:33.664Z (3 months ago)
- 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
- Language: C++
- Homepage: https://iotthings.pythonanywhere.com/
- Size: 6.27 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
š ESP32 GPS Clock & Weather Station
[](LICENSE)
[](https://www.espressif.com/)
[](https://www.arduino.cc/)
[](https://github.com/desiFish/ESP32-GPS-CLOCK-V1)
[](https://github.com/desiFish/ESP32-GPS-CLOCK-V1/issues)
A precision timepiece that syncs with satellites and monitors your environment! š°ļø
>
ā ļø Enhanced Version Available ā ļø
>An improved version of this project with physical buttons for better device configuration is available at:
>ESP32-GPS-CLOCK-V2
>
⨠Features
š Time
GPS-synchronized precise timekeeping
š”ļø Environment
Temperature & humidity monitoring
š Display
Auto-brightness & power saving
š± Connectivity
WiFi with OTA updates
š Project Highlights
ā” Fast GPS Lock
š Auto Brightness
š OTA Updates
š± WiFi Manager
š Battery Backup
š”ļø Environment Monitor
š ļø Hardware Requirements
Core Components š
| Component | Purpose | Notes |
|-----------|---------|--------|
| ESP32 devkit v1 | š§ Controller | DOIT version recommended |
| BH1750 | š” Light sensor | I²C interface |
| BME280 | š”ļø Environment | Temperature/Humidity |
| GPS Neo 6m | š” GPS receiver | UART interface |
| ST7920 LCD | š„ļø Display | 128x64 pixels |
| Buzzer | š Alerts | Active buzzer |Optional Components š§
- š LiFePO4 AAA 80mAh (GPS backup)
- ā” TP5000 charging circuit
- š BMS with IN4007 diode
- š ļø Prototyping materials
šÆ Key Features Explained
- š Precise Timekeeping: GPS-synchronized time with battery backup
- š”ļø Environmental Monitoring: Temperature and humidity tracking
- š± Smart Connectivity: WiFi enabled with web configuration
- š Adaptive Display: Auto-brightness with power saving
ā ļø Important Notice
ā DO NOT USE AHT25 SENSOR!
Due to significant accuracy issues, we recommend using BME280/BMP280/TMP117 instead.
š GPS Battery Modification
ā ļø Known Issue with GPS Module's Internal Battery
The NEO-6M GPS modules often come with problematic internal rechargeable batteries that:
- Are frequently dead on arrival
- Fail to hold charge properly
- Only last 15-20 minutes when disconnected
- Cannot be reliably recharged
š ļø Solution Implemented
To resolve this, I've made the following modifications:
- Removed the internal battery and charging diode
- Installed a LiFePO4 battery (AAA size)
- Added TP5000 charging circuit for reliable charging
- Implemented BMS for deep discharge protection
- Added diode to drop voltage to 3V for GPS backup pin
š” User Options
You have two choices:
Keep Original Battery:
- Suitable if clock remains powered most of the time
- No modifications needed
Modify Battery (Recommended):
- Better for frequent power cycles
- Eliminates 5-10 minute GPS lock delay on cold starts
- More reliable long-term solution
š Schematics
š Circuit Diagram
![]()
ESP32 GPS Clock Circuit Diagram
š Format
High-resolution PNG
š Zoom
Click image to enlarge
š¾ Download
Full Resolution
šø Gallery
![]()
Internal Components š§
![]()
PVC Case šØ
![]()
Front View š±
![]()
PCB Layout š
![]()
Internal View 2 š
š License
GNU General Public License v3.0
ā Permissions
- Commercial use
- Modification
- Distribution
- Patent use
- Private use
ā ļø Conditions
License and copyright notice: Include the original license and copyright
State changes: Document all modifications
Disclose source: Make source code available
Same license: Use the same license for derivativesā Limitations
- No liability
- No warranty
š¤ Contributing
š“ Fork
š§ Code
š¤ Push
š« PR
š Support
If this project helps you, please consider:
ā Giving it a star
š Reporting issues
š” Suggesting improvements
š¤ Contributing code
---