florianL21 / LED-ClockShelf

Code base for a completely customizable and configurable LED clock using WS2812b RGB LEDs. Controllable via the Blynk app
GNU General Public License v3.0
24 stars 4 forks source link
arduino blynk esp32 led leds rgb rgb-led segments thingiverse ws2812b

LED-Pixel-Clock

Animation example

This is the software of a variation of the LED clock from DIY Machines A configuration which works on the original version of the clock is also part of the source code.

I decided to code it completely from scratch at I wanted to use a ESP32 instead of the Arduino nano and RTC that is used in the original project. This enables some cool features like smartphone app control, OTA updates and fetching of the time using the internet.

Additionally this has full support for animations. By default I provide all needed animations for a 12h clock to morph one digit into another soothly. Further animations can be easily added and existing animation can be adjusted to your liking.

The whole codebase is highly modular and configurable and can be tweaked exactly to your preferences.

Detailed documentation is available on read the docs.

If you are interested in my variation of the design which uses a lot of wood instead of the 3D prints and is a bit bigger than the original you can find it on thingiverse here

Development Environment

I am using VScode with PlatformIO. VSCode can be downloaded from here. And PlatformIO is an extension that can easily be installed from inside of VSCode.

Via the PlatformIO home the following libraries have to be installed:

Getting started

A quick list of things that have to be done to get this project up and running:

  1. Make sure you have VS Code and the PlatformIO extension installed
  2. Download the source either via the releases tab or by downloading or cloning this git repository
  3. Go to lib/LEDclock and choose one of the library*.json files and rename it to library.json
  4. Check that you have all the above mentioned Platform IO libraries installed either system wide or in the project itself.
  5. If you want to modify any of the configuration options you can do so by editing the files in lib/LED_clock/Config/Setup/<chosen_version>
  6. Build and upload

If you want a more detailed walk through of the installation process take a look at the setup wiki page.

Support

First of all thanks to DIY machines for the awesome idea!

Also thank you to the great people who developed the libraries that I am using for this project:

If you would like to say thank you: donate