https://github.com/desifish/gps-clock-v2
GPS Clock V1 redeveloped with buttons and in compact form.
https://github.com/desifish/gps-clock-v2
128x64glcd arduino bh1750 bme280-sensor doit-esp32-devkit-v1 esp32 gps gps-clock gps-neo-6m menu-navigation potentiometer push-button reset-button st7920 tinygpsplusplus wifi-manager
Last synced: 10 months ago
JSON representation
GPS Clock V1 redeveloped with buttons and in compact form.
- Host: GitHub
- URL: https://github.com/desifish/gps-clock-v2
- Owner: desiFish
- License: gpl-3.0
- Created: 2024-11-16T01:11:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-04T16:24:04.000Z (about 1 year ago)
- Last Synced: 2025-04-14T14:13:59.269Z (about 1 year ago)
- Topics: 128x64glcd, arduino, bh1750, bme280-sensor, doit-esp32-devkit-v1, esp32, gps, gps-clock, gps-neo-6m, menu-navigation, potentiometer, push-button, reset-button, st7920, tinygpsplusplus, wifi-manager
- Language: C++
- Homepage: https://iotthings.pythonanywhere.com/
- Size: 17 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
š GPS-Clock-V2 ā°
A smart GPS Clock with temperature, humidity, and light sensing capabilities
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/blob/main/LICENSE)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/releases)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/issues)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/stargazers)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/network)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2/commits/main)
[](https://github.com/desiFish/ESP32-GPS-Clock-V2)
## š Introduction
This project is an enhanced version of [GPS-CLOCK-V1](https://github.com/desiFish/GPS-CLOCK-V1) with significant improvements:
- **Added Buttons**: Physical buttons for easy interaction with the device.
- **Menu System**: A comprehensive menu system for configuration and control.
- **Enhanced User Interface**: Improved display layouts and information presentation.
- **Additional Features**: New functionalities building upon the original project.
> Read ā ļø Important Notice below gallery section for critical information about components and modifications.
## š ļø Hardware Components
### š” Core Components
1. **ESP32 Development Board** 
- Dual-core processor up to 240MHz
- Integrated Wi-Fi and Bluetooth
- Operating voltage: 3.3V
- Tested on: ESP32-Devkit-V1
2. **BH1750 Light Sensor** š
- 16-bit digital output
- Range: 1-65535 lux
- Power: 2.4-3.6V
- I²C interface
3. **GPS Module (NEO-6M)** š°ļø
- Update rate: 1-5 Hz
- Position accuracy: 2.5m
- Cold start: 27s typical
- Hot start: 1s typical
- Operating voltage: 3.0-3.6V
4. **ST7920 LCD Display** šŗ
- Resolution: 128x64 pixels
- 5V logic level
- Parallel/Serial interface
5. **Buzzer Module** š
- Active buzzer
- Operating voltage: 3.3-5V
- Frequency: ~2300Hz
- Sound output: >85dB
6. **Push Buttons** x3 ā”
- Tactile momentary switches
- Life cycle: 100,000 clicks
- With caps for better feel
- Two for Menu navigation, one for reset
7. **10K Potentiometer**
- For contrast adjustment
### š Optional Components (Battery Backup)
#### Power Management
1. **LiFePO4 Battery**
- Capacity: 80mAh (AAA size)
- Nominal voltage: 3.2V
- Cycle life: >1500 cycles
- Temperature range: -20°C to 60°C
- Perfect for GPS backup
2. **TP5000 Charging Circuit** ā”
- Input voltage: 4.5-28V
- Charging current: 0.5-2A
- Efficiency: >90%
- Built-in protection features
- For GPS Battery
3. **Battery Protection** š”ļø
- BMS for single cell
- Using for Over-discharge protection
4. **Additional Components** š§
- IN4007 diode (1A, 1000V)
- JST connectors
- Prototyping board
- Silicone wires (better) or PVC Wires
- Heat shrink tubing
### š” Compatibility Notes
- All I²C devices operate at 3.3V logic
- Power supply should provide at least 500mA @5V
- External antenna optional for GPS (Not Implemented)
### šļø Construction Guide
#### š¦ Enclosure Preparation
* Used a standard PVC electrical junction box (IP55 rated for weather resistance)
- Size: Approximately 150mm x 100mm x 70mm
- Cost-effective alternative to 3D printing
- Naturally resistant to moisture and dust
- Available at most hardware stores
#### š ļø Tools Required
* Drill machine with metal cutting bits (for holes)
* Drill machine with metal cutting attachment that looks like CD (for rectangular cuts)
* Hot glue gun
* Wire strippers
* Soldering iron
* Basic hand tools (screwdrivers, pliers)
* Safety equipment (goggles, gloves)
#### šØ Assembly Steps
1. **Display Window Creation** šŖ
* Mark display dimensions on box
* Drill corner pilot holes
* Use metal cutting bits for rough cut
* File edges smooth for perfect fit
* Pro tip: Use masking tape to prevent scratches
2. **Light Sensor Window** š”
* Create small 10mm opening for BH1750
* Use clear epoxy or hot glue to seal
* Ensure sensor faces directly outward
* Keep sealed but transparent for accuracy
3. **Component Mounting** š
* Mount display using hot glue at corners
* Create standoffs for ESP32 board
* Position GPS antenna near top for best reception
#### š” Pro Tips
* Ensure proper ventilation while cutting/drilling PVC
* Double-check measurements before cutting
* Test all components before final assembly
* Label all wires for future maintenance
* Add small ventilation holes for the sensor
* Consider magnetic mount options
* Keep spare wire lengths for modifications
* Document your build with photos
## š Upcoming Features
Check [Issues](https://github.com/desiFish/ESP32-GPS-Clock-V2/issues)
## š· Pictures, Schematics and other stuff

Schematics

Front View

Front View

Inside View

Display Connections

BME280 Sensor

Testing Phase

ESP32 with Connections

Circuit Connections

Cutting Display Window

Display in Plastic Frame

Full View
ā ļø 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 (Cut Off @2.5V, 2.9V Ideal)
- 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
## š License
GNU General Public License v3.0
This project is protected under the GNU General Public License v3.0. This means:
- ā
Commercial use is permitted
- ā
Modification is permitted
- ā
Distribution is permitted
- ā
Private use is permitted
- ā License and copyright notice must be included
- ā Source code must be made available when distributing
- ā Changes must be documented
- ā Same license must be used
[View full license](https://www.gnu.org/licenses/gpl-3.0.en.html)
---