https://github.com/desifish/esp32-gps-clock-v2
GPS Clock V1 redeveloped with buttons and in compact form.
https://github.com/desifish/esp32-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: 4 months ago
JSON representation
GPS Clock V1 redeveloped with buttons and in compact form.
- Host: GitHub
- URL: https://github.com/desifish/esp32-gps-clock-v2
- Owner: desiFish
- License: gpl-3.0
- Created: 2024-11-16T01:11:31.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-12T18:22:21.000Z (4 months ago)
- Last Synced: 2025-01-12T18:23:05.205Z (4 months 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: 16.9 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
š ESP32-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)> Read ā ļø Important Notice below gallery section
## š ļø 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-V12. **BH1750 Light Sensor** š
- 16-bit digital output
- Range: 1-65535 lux
- Power: 2.4-3.6V
- I²C interface3. **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.6V4. **ST7920 LCD Display** šŗ
- Resolution: 128x64 pixels
- 5V logic level
- Parallel/Serial interface5. **Buzzer Module** š
- Active buzzer
- Operating voltage: 3.3-5V
- Frequency: ~2300Hz
- Sound output: >85dB6. **Push Buttons** x3 ā”
- Tactile momentary switches
- Life cycle: 100,000 clicks
- With caps for better feel
- Two for Menu navigation, one for reset7. **10K Potentiometer**
- For contrast adjustment### š Optional Components (Battery Backup)
#### Power Management
1. **LiFePO4 Battery**
- Capacity: 80mAh (AAA size)
- Nominal voltage: 3.2V
- Cycle life: >2000 cycles
- Temperature range: -20°C to 60°C
- Perfect for GPS backup2. **TP5000 Charging Circuit** ā”
- Input voltage: 4.5-28V
- Charging current: 0.5-2A
- Efficiency: >90%
- Built-in protection features
- Auto-detect battery type3. **Battery Protection** š”ļø
- BMS for single cell
- Using for Over-discharge protection4. **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
- USB connection recommended for programming
- External antenna optional for GPS### šļø 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 scratches2. **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 accuracy3. **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
- 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)
---