Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Word Clock Project

Overview

The Word Clock project features two main platforms: ESP32 and Raspberry Pi. This project allows you to display the time in a creative word format and includes functionalities for handling GIF animations.

You can find printing models on https://makerworld.com/en/models/686196#profileId-614840

This repo has updated software for the ESP32 with:

  • WiFi and timezone configuration is no longer hard coded
  • During startup LEDs indicate the boot progress so you know what is going on. Steps are
    • LED 1 Serial interface start
    • LED 2 Setup internal callbacks setup
    • LED 3 Startup network
    • LED 4 Network ready
    • LED 5 Startup clock
  • When during boot no WiFi connection can be established (do not come beyond LED3) an Access Point with web server is setup to configure the WiFi and timezone. The wordt "IT IS" will show on the panel
  • When you press the second button on the ESP32 board for 3 seconds, the WiFi setting is cleared and the device boots in Access Point mode
  • The daylight savings setting (DST) is derived from the timezone city/region (i.e. Amsterdam is CET-1CEST,M3.5.0,M10.5.0/3 which is 1 hour from GMT and DST between March and October)
  • When the clock is in normal operation a web server can be accessed at the IP address of the device with the following features:
    • See status, such as the WiFi SSID and signal strength
    • Change the timezone
    • Perform different tests to show if all LEDs work
    • Show the GIF file that runs each hour

Word Clock demo

Directory Structure

word-clock-main/
├── .gitignore
├── README.md
├── esp/
│   └── wordclock/
└── raspberry-pi/
    ├── heart_art_small.gif
    ├── install.sh
    ├── requirements.txt
    ├── src/
    │   └── wordclock/
    │       ├── __init__.py
    │       ├── clock_display_hal.py
    │       ├── gif.py
    │       ├── main.py
    │       └── word_clock.py
    └── sync.sh

Setup Instructions

Raspberry Pi

Docs for Raspberry Pi installation can be found here

ESP32

Docs for ESP32 installation can be found here

Development

The sync.sh script is included to help synchronize files between a source directory and a target directory in real-time. This ensures that any changes made in the source directory are reflected in the target directory.

How to Use Sync Script

  1. Run the Sync Script To synchronize the files, execute the following command in the terminal:

    chmod +x sync.sh
    ./sync.sh /path/to/source /path/to/target

    Replace /path/to/source and /path/to/target with the actual paths you want to synchronize.

  2. Automatic Sync You can run this script in the background or set it up as a service to keep your directories synchronized without needing to run the script manually each time.

Development Guidelines

  • Code Structure: Follow the existing file organization within the src/wordclock directory. This helps maintain clarity in functionality.

  • Comments: Keep comments to the most important parts of the code, as specified in your development preferences.

  • Contributing: For any contributions or issues, please raise a pull request or create an issue in the GitHub repository.

Notes

  • Ensure that your Raspberry Pi has a stable internet connection for the initial setup and for the synchronization process.
  • For the ESP32, make sure you have the correct board selected in PlatformIO.

Legal: The provided project, including all instructions and materials, is shared for informational purposes only and is offered without any express or implied warranties. I disclaim all liability for any damages, losses, or injuries that may occur as a result of using, modifying, or following the instructions in this project. The project is shared 'as is,' and I make no guarantees regarding its functionality or suitability for any particular purpose. Use this project at your own risk, and be aware that results may vary based on individual implementation.

About

Word Clock with config in web server

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages