
Controller
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

Wake up naturally with LED lighting that activates 10 minutes before your alarm.
LED shield is an open-source printed circuit board by CodingGreatOwl, from the CodingGreatOwl/Light-Alarm-Clock repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 31.3 × 49 mm with 11 parts on 23 nets, routed with 25 tracks and 0 vias.
Its parts include 4 connectors, 2 capacitors, 1 resistor, 1 IC and 1 diode. It belongs with the lEDs and displays boards of this library.
A hardware-software alarm clock system that combines an Android app, BLE communication, and an ESP32 firmware controller to trigger a pre-alarm light sequence before the alarm rings.
This project demonstrates end-to-end product engineering across mobile, embedded firmware, and electronics design.
Traditional alarms wake you up abruptly with sound. LightAlarmClock introduces a softer wake-up flow:
This creates a practical blueprint for a smart alarm + ambient wake-up device.
Android/)AlarmManager.setExactAndAllowWhileIdle for precise alarmsBleMessageService) 10 minutes before alarmAlarmActivity) and ringing service (AlarmRingingService) at alarm timeRust - ESP32/)esp-idf-svc + esp32-nimbleLED_shield/).kicad_sch).kicad_pcb)GBR/)BOM.csv)esp-idf-svcesp32-nimble (BLE stack)LightAlarmClock/
├── Android/ # Kotlin Android app (UI, alarms, BLE client)
├── Rust - ESP32/ # ESP32 Rust firmware (BLE peripheral + signal generation)
├── LED_shield/ # KiCad hardware design + Gerbers + BOM
└── LICENSE # GPL-3.0cd Android
./gradlew assembleDebugThen install from Android Studio or via adb.
From Rust - ESP32/, build/flash with your ESP-IDF Rust setup (tooling varies by environment).
The firmware advertises BLE service:
6827989e-079a-404f-946a-da39f968ce82c696a5a1-827f-4df2-8260-5cdc7f0a4f44In the app:
BlePreAlarmReceiver starts BleMessageServiceThis project showcases:
This project is licensed under GNU GPL v3.0.
See LICENSE.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Screw_Terminal_01x02 | TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mm | J3, J4 |
| 1 | 0.1uF | Capacitor_THT:C_Rect_L7.0mm_W2.0mm_P5.00mm | C2 |
| 1 | 0.33uF | Capacitor_THT:C_Rect_L7.0mm_W2.0mm_P5.00mm | C1 |
| 1 | 68 | Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_Horizontal | R1 |
| 1 | CON-Right | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J2 |
| 1 | CON-left | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J1 |
| 1 | LD271 | LED_THT:LED_D5.0mm_IRGrey | D1 |
| 1 | LM7805_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
The 9 most common of 11 parts.
It measures 31.3 × 49 mm and has 2 copper layers, 1.58 mm thick.
11 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the CodingGreatOwl/Light-Alarm-Clock repository on GitHub, at the commit this page was made from: the board is LED_shield/LED_shield.kicad_pcb and its schematic LED_shield/LED_shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards


FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!


tardate/LittleArduinoProjects
a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

basilfx/TRADFRI-Hacking
Hacking IKEA TRÅDFRI products, such as light bulbs, window blinds and other accessories.