Skip to content

desiFish/GPS-CLOCK-V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 ESP32-GPS-Clock-V2 ⏰

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

GitHub license GitHub release (latest by date) GitHub issues GitHub stars GitHub forks GitHub last commit GitHub repo size

πŸ“Œ Introduction

This project is an enhanced version of ESP32-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 ESP32

    • 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

πŸ“· 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


Made with ❀️ for the IoT Community

ESP32 Ready GPS Enabled Open Source
Watchers