This repository contains the source code and documentation for a custom clock built for Classroom 222, powered by an ESP32-S microcontroller. The clock is inspired by the Qlocktwo design, featuring a unique display using individually controlled RGB LEDs to show time in a word-based format. The project was developed as a school assignment to learn programming and hardware integration, evolving into a complex endeavor combining 3D printing, electronics, and software development.
The clock consists of:
- 110 3D-printed boxes, each housing an LED, diffuser, and a lid with a letter.
- 4 corner frames with blue LEDs indicating additional minutes (inspired by Qlocktwo).
- 1 ESP32-S housing box.
- Over 200 LEDs, including a 100-LED RGB chain for letters and a 10-meter programmable RGB strip for the frame.
- 1 push button (Kailh Box White Switch), currently disabled due to inaccessibility in the final installation.
- A countdown feature was implemented but disabled in the final version.
The physical structure was entirely 3D-printed using:
- 1.5 kg Prusa PLA Galaxy Black filament (~$40 USD).
- 300 g Prusa PLA White filament (~$10 USD).
Additional materials included:
- 4 meters of programmable RGB strip (~$32 USD).
- 100-LED GRB Christmas light chain (~$10 USD).
- ESP32-S microcontroller (~$6 USD).
- 3 meters of Ethernet cable for wiring (~$3 USD).
- 0.6 meters of electrical cable for larger conductors (~$0.50 USD).
- Micro soldering equipment and hot glue gun.
Total estimated cost: ~$101 USD (2555 CZK).
Assigned by teacher Mr. Jelínek in the second half of the 2023/2024 school year, the project was initially intended as a simple end-of-year task but grew significantly in scope. It was completed in November of the 2024/2025 school year, requiring over 100 hours of work.
-
Prototyping (2 weeks, ~6-8 hours):
- Initial console-based prototype.
- Transition to a TRUE/FALSE list system for LED control (TRUE = LED on, FALSE = LED off) to display main time intervals.
- Blue corner LEDs indicate extra minutes (every 5-minute interval).
- Frame LEDs display seconds (one lit LED per second elapsed).
- A dictionary (
demonin the code) maps correct LED indices for the frame.
-
3D Modeling and Printing (~114-120 hours):
- Models designed with Mr. Jelínek, optimized for large nozzle sizes to reduce print time.
- Modeling and prototyping: 14-16 hours.
- Printing: Over 100 hours of printer runtime.
- Assembly: 4 hours.
-
Electronics and LED Integration (~40 hours):
- Used a 100-LED chain for letters and a 10-meter RGB strip for the frame.
- Encountered issues with strip soldering at corners, requiring a redesign to use a single, bent strip with a corrected index dictionary.
- Only odd-numbered LEDs are used for the frame display; even-numbered LEDs were intended for ambient lighting but are disabled.
- LED gluing: 5 hours.
- Complications and rework: 20 hours.
- Soldering: 15 hours.
-
Finalization (~5 hours):
- Program uploaded to the ESP32-S.
- Final assembly and testing.
- 3D Printing: The structure could be improved for better fit, reducing the need for extensive gluing.
- Wiring: Soldering was time-consuming and error-prone; alternative cabling solutions would be explored in future iterations.
- LED Strip Issues: Initial soldering attempts failed, requiring a complete rework of the frame's LED strip.
The final clock is installed in Classroom 222, displaying time through illuminated letters and frame LEDs. The project successfully demonstrates the integration of programming, 3D printing, and electronics.
- Source code for the ESP32-S, including the
demondictionary for LED indexing. - Wiring schematic:

- Inspiration reference:

Tento repozitář obsahuje zdrojový kód a dokumentaci pro vlastnoručně vyrobené hodiny umístěné v učebně 222, poháněné mikrokontrolérem ESP32-S. Hodiny jsou inspirovány designem Qlocktwo a využívají individuálně řízené RGB LED diody k zobrazení času formou slov. Projekt byl zadán jako školní úkol s cílem naučit se programovat a pracovat s hardwarem, ale postupně se rozrostl do komplexního díla kombinujícího 3D tisk, elektroniku a vývoj softwaru.
Hodiny se skládají z:
- 110 3D tištěných krabiček, každá obsahuje LED diodu, difuzor a víčko s písmenem.
- 4 rohové rámy s modrými LED diodami, které ukazují přídavné minuty (inspirováno Qlocktwo).
- 1 krabičky pro ESP32-S.
- Přes 200 LED diod, včetně 100-LED RGB řetězu pro písmena a 10metrového programovatelného RGB pásku pro rám.
- 1 tlačítka (Kailh Box White Switch), které je v finální instalaci deaktivováno kvůli nedostupnosti.
- Funkce odpočtu byla implementována, ale ve finální verzi vypnuta.
Celá konstrukce byla vytištěna na 3D tiskárně s použitím:
- 1,5 kg Prusa PLA Galaxy Black filamentu (~1000 Kč).
- 300 g Prusa PLA bílého filamentu (~250 Kč).
Další použité materiály:
- 4 metry programovatelného RGB pásku (~800 Kč).
- 100-LED GRB vánoční řetěz (~250 Kč).
- ESP32-S mikrokontrolér (~150 Kč).
- 3 metry ethernetového kabelu na vodiče (~70 Kč).
- 0,6 metru elektrického kabelu na větší vodiče (~10 Kč).
- Mikropájka a tavná pistole.
Celkové náklady: ~2555 Kč.
Projekt byl zadán panem učitelem Jelínkem v druhé polovině školního roku 2023/2024 jako jednoduchý úkol na konec roku. Rozrostl se však do většího projektu, který byl dokončen v listopadu školního roku 2024/2025 a vyžádal si přes 100 hodin práce.
-
Prototypování (2 týdny, ~6-8 hodin):
- Počáteční prototyp vypisující data do konzole.
- Přepracování na systém TRUE/FALSE seznamů pro ovládání LED (TRUE = zapnutá LED, FALSE = vypnutá) pro hlavní časové intervaly.
- Modré LED v rozích ukazují přídavné minuty (každých 5 minut).
- LED diody v rámu zobrazují sekundy (jedna rozsvícená LED za každou uplynulou sekundu).
- Slovník (
demonv kódu) mapuje správné indexy LED pro rám.
-
3D modelování a tisk (~114-120 hodin):
- Modely navrženy společně s panem Jelínkem, optimalizovány pro velké průměry trysek, aby se zkrátil čas tisku.
- Modelování a prototypování: 14-16 hodin.
- Tisk: Přes 100 hodin práce tiskárny.
- Sestavení: 4 hodiny.
-
Elektronika a integrace LED (~40 hodin):
- Použit 100-LED řetěz pro písmena a 10metrový RGB pásek pro rám.
- Problémy s pájením pásku v rozích vedly k přepracování na jeden ohýbaný pásek s opraveným slovníkem indexů.
- V rámu svítí pouze liché LED; sudé byly plánovány pro ambientní osvětlení, ale jsou vypnuty.
- Lepení LED: 5 hodin.
- Komplikace a přepracování: 20 hodin.
- Pájení: 15 hodin.
-
Finalizace (~5 hodin):
- Nahrání programu do ESP32-S.
- Finální sestavení a testování.
- 3D tisk: Konstrukce by mohla být lépe navržena pro snazší sestavení, čímž by se snížila potřeba lepení.
- Kabeláž: Pájení bylo časově náročné a náchylné k chybám; v budoucnu by byla zvážena jiná kabeláž.
- Problémy s LED páskem: Původní pokusy o pájení selhaly, což vyžadovalo kompletní přepracování rámu.
Hotové hodiny jsou nainstalovány v učebně 222 a zobrazují čas prostřednictvím osvětlených písmen a LED diod v rámu. Projekt úspěšně demonstruje kombinaci programování, 3D tisku a elektroniky.
