Skip to content

A precision timepiece that syncs with satellites and monitors your environment!

License

Notifications You must be signed in to change notification settings

desiFish/ESP32-GPS-CLOCK-V1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 🌟 ESP32 GPS Clock & Weather Station

License ESP32 Arduino

Status Issues

A precision timepiece that syncs with satellites and monitors your environment! 🛰️


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

📊 Schematics

👀 Circuit Diagram
GPS Clock Schematic

ESP32 GPS Clock Circuit Diagram

📝 Format High-resolution PNG
🔍 Zoom Click image to enlarge
💾 Download Full Resolution

📸 Gallery

Internal Components

Internal Components 🔧

PVC Case

PVC Case 🎨

Front View

Front View 📱

PCB Layout

PCB Layout 🔌

Internal View 2

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


Made with ❤️

Stars