All Projects → 1JonaB1 → Wordclock

1JonaB1 / Wordclock

Licence: MIT license
Diy Wordclock with an esp32 and ws2812b Leds

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Wordclock

TinyPixelMapper
a Pixelmapping software for the ESP32 and ESP8266 for addressible LED Strips, with a OSC controll interface and FFT
Stars: ✭ 22 (+15.79%)
Mutual labels:  leds, esp32, ws2812b
pi pico neopixel
Pi Pico library for NeoPixel led-strip written in MicroPython. Works with ws2812b (RGB) and sk6812 (RGBW).
Stars: ✭ 70 (+268.42%)
Mutual labels:  leds, neopixel
SuperGreenOS
🧠 SuperGreenOS home farming automation software for esp32, all in one package, and controllable from your smartphone, pc, mac, linux, toaster, plumbus, whatnot...
Stars: ✭ 83 (+336.84%)
Mutual labels:  leds, esp32
HomeStatusDisplay
Show smart home status information sent via MQTT using RGB LEDs.
Stars: ✭ 21 (+10.53%)
Mutual labels:  leds, ws2812b
Stranger Things Wall
A wall of addressable LEDs inspired by the Netflix series Stranger Things that displays messages from Twitter.
Stars: ✭ 22 (+15.79%)
Mutual labels:  leds, neopixel
OctoWifi-LEDs-Controller
LEDs driver for ESP32 ( support ART-NET, RGB888, RGB565, Z888 )
Stars: ✭ 16 (-15.79%)
Mutual labels:  leds, esp32
rpi-ws2812-server
Raspberry Pi WS2812 (web) server tool
Stars: ✭ 143 (+652.63%)
Mutual labels:  leds, neopixel
Controller-for-WLED-firmware
Wi-Fi controller based on ESP-07S module with external antenna for WLED firmware.
Stars: ✭ 48 (+152.63%)
Mutual labels:  diy, ws2812b
Uno vu line
Arduino code for a stereo VU meter with lots of patterns
Stars: ✭ 62 (+226.32%)
Mutual labels:  leds, ws2812b
Wortuhr ESP8266
Wortuhr mit ESP8266 WeMos D1 mini und NeoPixel WS2812B LEDs mit mp3 Sounds, Animationen, Transitions, Events und Spiele
Stars: ✭ 33 (+73.68%)
Mutual labels:  wordclock, wortuhr
WS281x.swift
A Swift library for WS281x (WS2811,WS2812*,WS2813*) RGB led strips, rings, sticks, matrices and more.
Stars: ✭ 32 (+68.42%)
Mutual labels:  neopixel, ws2812b
Wortuhr
Software für eine ESP8266 basierte Wortuhr mit verschiedenen Layouts
Stars: ✭ 30 (+57.89%)
Mutual labels:  wordclock, wortuhr
HB-UNI-RGB-LED-CTRL
HomeMatic compatible RGB Controller for adressable RGB LEDs (WS28xx, Neopixel,...)
Stars: ✭ 19 (+0%)
Mutual labels:  neopixel, ws2812b
LaColorduino
I build my own clone of "LaMetric"-smartwatch but with some Colorduino for Twitch, YouTube, Twitter, CSGO, etc.. (Working)
Stars: ✭ 56 (+194.74%)
Mutual labels:  clock, diy
Rusty Clock
An alarm clock with environment stats in pure bare metal embedded rust
Stars: ✭ 269 (+1315.79%)
Mutual labels:  clock, diy
M5ez
Complete interface builder for the M5Stack, an ESP32 based mini tinker-computer
Stars: ✭ 260 (+1268.42%)
Mutual labels:  clock, esp32
alarm-clock-v3
Alarm clock (v3)
Stars: ✭ 17 (-10.53%)
Mutual labels:  clock, ws2812b
Callisto
A desk clock that uses a Russian IV-18 VFD tube
Stars: ✭ 18 (-5.26%)
Mutual labels:  clock, esp32
awesome-ws2812
A curated list of awesome resources for ws2812 LED strips and matrices
Stars: ✭ 84 (+342.11%)
Mutual labels:  diy, ws2812b
ArduLED
Control NeoPixels (ws2812b) easier than ever with an Arduino!
Stars: ✭ 25 (+31.58%)
Mutual labels:  leds, ws2812b

Wordclock

Diy Wordclock with an Esp32 and smart leds like ws2812b.

Features:

  • Time from ntp server
  • Confiurable over Webinterface
  • OTA Updates Automaticaly and in the Webinterface
  • No need for Hardcoding credentials
  • Smooth Dimming which is stepless

Plans for the Future if requestet:

  • change LED color etc. over Webinterface
  • Photoresistor calibration

Status

  • Im currently looking at the project as done and wont implement new features unless Requestet (just write an issue). Ofcourse i will still fix bugs
  • Currently 11 Clocks are running this Firmware

Known Issues

  • The date for the daylight saving folows the American and can currently not be canged (Currently the is not a fixe becouse the dst is planed to be removed in europe. in the mean time, i will make an OTA update to change time for my clocks

Tipps for building:

The Build is somehow simple. You can use my PCB with an Esp32 and a levelshifter(please make soure they would fit in the PCB and build an enclousure for it. You can also build it with led strips which start at the top left and go in snakelines down(11rows wit 10 colums)first cornerled is the top right and then Corner under it then the Led down right and then top left(just look at the PCB). Connect the Strip with an Levelshifter to pin 23 of the Arduino and the Photoresistor to pin 34.

How to Open the Sketch:

You can open the Folder Wordclock which is in Firmware/Code with Platform.io or rename the code main.cpp in Firmware/Code/Wordclock/src to main.ino and open it with the Arduino IDE. However the libarys need to be installed manually. Please ensure, that the right type of Led is selescted and that either Neopixel or Fastled is uncommented. Please read "Led type and Pin"

How to Customize:

if you customize the firmware, you need to set secureEsp32FOTA secureEsp32FOTA("sk6812rgbw", 2); to 99 so you wont get OTA updates or create your own Type as update branch, so OTAs work (pls. refer to OTA update)

If the Documentation is unclear pls ask, becouse i also know the Documentation is bad (:

Currently all customisation needs a bit of research, however i want to make it easier in the Future.

Time

The time can be chagne by editing the Variable gmtOffset_sec, where the number is the Offset in Minutes from the UTC. For example Germany is 1 houre before the UTC time so the Value needs to be 3600. The other Variable for the Time is the daylightOffset_sec, which sets the difference between summmer and winter time, howerer most People dont need to change it.

OTA update

Im using the esp32 FOTA libary, which uses a json to check if there is a new firmware. To cusomize please read their documentation. If you want to use your own Firmware hosted in this Repository, edit the Json (and add the .bin file) or fork the repository and edit the url in the code to you repository

Language

The Language of the Webconfiguration is in Englisch as Default. If you want to change it you need to folow the simple Guide from and for the libary Autoconnect im using.

LED type and Pin

By Default the LED type is for the WS2812B, however you can change it easily. If you use RGBW Leds you need to search for #define FastLED set a // before it and remove the // at Neopixel. You can change the Led type for neopixel in Adafruit_NeoPixel pixels(NUM_LEDS, DATA_PIN, NEO_GRBW + NEO_KHZ800);

If you use FastLEd cahnge in void setup FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS) and replace it with your LED Type from the list below.

    FastLED.addLeds<SM16703, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<TM1829, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<TM1812, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<UCS1904, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<UCS2903, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<WS2852, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<GS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<SK6812, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<SK6822, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<APA106, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<PL9823, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<SK6822, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<WS2813, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<WS2811_400, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<GE8822, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<LPD1886, DATA_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<LPD1886_8BIT, DATA_PIN, RGB>(leds, NUM_LEDS);
    ## Clocked (SPI) types ##
    FastLED.addLeds<LPD6803, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical
    FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<WS2803, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
    FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // BGR ordering is typical
    FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // BGR ordering is typical
    FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // BGR ordering is typical
    FastLED.addLeds<SK9822, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);  // BGR ordering is typical

Change LED

If you want to change the LED Pin, search for #define DATA_PIN 23 and change the Pin to where your LEDs are connected. If you want to change the Photoresistor Pin, search for #define lightSensor 34 and change the Pin to where your Photoresistor is connected.

Correct color

If you want to correct the Color you need to change in Setup FastLED.setCorrection(CRGB(255, 255, 230)); The Numbers say the Strenght of each color first is Red secong Green and third Blue. I have set Blue lower becouse i wanted a warmer White.

Contributions are Welcome and im happy to help at Issues

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].