An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        


🌟 ESP32-GPS-Clock-V2 ā°


A smart GPS Clock with temperature, humidity, and light sensing capabilities



[![GitHub license](https://img.shields.io/github/license/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/blob/main/LICENSE)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/releases)
[![GitHub issues](https://img.shields.io/github/issues/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/issues)
[![GitHub stars](https://img.shields.io/github/stars/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/network)
[![GitHub last commit](https://img.shields.io/github/last-commit/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2/commits/main)
[![GitHub repo size](https://img.shields.io/github/repo-size/desiFish/ESP32-GPS-Clock-V2)](https://github.com/desiFish/ESP32-GPS-Clock-V2)

> Read āš ļø Important Notice below gallery section

## šŸ› ļø Hardware Components

### šŸ“” Core Components
1. **ESP32 Development Board** ![ESP32](https://img.shields.io/badge/ESP32-000000?style=flat&logo=espressif&logoColor=white)
- 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: >2000 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
- Auto-detect battery type

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
- 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 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

Schematics


front-view

Front View


front-view

Front View




inside

Inside View


display-connections

Display Connections


bme280

BME280 Sensor




testing-phase

Testing Phase


esp32_with_connections

ESP32 with Connections


circuit-connections

Circuit Connections




cutting-display-window

Cutting Display Window


display-in-plastic-frame

Display in Plastic Frame


fullview

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:


  1. Keep Original Battery:

    • Suitable if clock remains powered most of the time

    • No modifications needed




  2. 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)

---


Made with ā¤ļø for the IoT Community


ESP32 Ready
GPS Enabled
Open Source


Watchers