Skip to the content
PCBKitNew board
2 layersLightclock, the printed circuit board in 3D

Light Clock A custom PCB-based Clock/Alarm with a runrise alarm, a circle of capacitive touch controls to easily choose the time and a 2.42" OLED display

Copper layers
2
Thickness
1.6 mm
Parts
202
Nets
203
Pads
582
Tracks, vias
1,733, 200
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 May 2026
Updated
8 Aug 2026

Overview

Lightclock is an open-source printed circuit board by Anvarys, from the Anvarys/lightclock repository on GitHub. It is a 2-layer board with 202 parts on 203 nets, routed with 1,733 tracks and 200 vias.

It is built around the RP2040, MPR121QR2 and CH224K, with the TPS62160DGKR, W25Q64JVSSIQ and SX3B12.000F1210F30 among its other parts. Its parts include 74 diodes, 35 capacitors, 28 resistors, 12 ICs and 3 transistors. It belongs with the lEDs and displays boards and the RP2040 boards of this library.

Main components

12

README

README.md
Light clock

Light Clock

A custom PCB-based Clock/Alarm with a runrise alarm, a circle of capacitive touch controls to easily choose the time and a 2.42" OLED display

About the project

A custom PCB-based Clock/Alarm with a 3d printed enclosure. It features a runrise alarm option (72 LEDs), a 2.42" OLED display, many capacitive touch controls (24 around in a circle and 4 for the main controls) and a buzzer.

I made this project because I wanted to have a runrise alarm to wake up more naturally and also be easy to set up alarms with few clicks and without any additional installation required.

Light Clock's features in more detail

Sunrise alarm & LEDs

Light Clock has a runsrise type of alarm, which will slowly rise the luminosity up to a set time for you to wake up naturally, like with a real sunrise. This can be calibrated, meaning you can set up a test alarm on a day you don't need to wake up at a certain time and see at which luminosity you will wake up. There is also a buzzer (the shaky circle on the simplified design picture) to wake you up with it, just in case, as you might not wake up from the light.

It uses 72LEDs with 3000K warm lighting, with a total maximum luminosity flux of over 2000 lumens. They can also be lighten up in individual groups of 3, so a total of 24 groups is present, to show the current time using those same LEDs but dimmed, also as it has 24 groups it can do both 24 and 12 sections for the time, which you can choose as you prefer.

Capacitive touch controls

This project has a total of 28 capacitive touch sensors (you can identify all of them on the simplified design picture as the ones having unclear borders), they were made by placing pads on the PCB and using ICs to measure precise capacitance values.

4 of them are used to control the menu: 2 arrows for navigating between options and change values, a circle to select an option and a square be used as a return button.

And the other 24 are distributed evenly in a circle next to the LEDs, they will be used to easily choose time of your alarm or change number variables. For example if you need to setup an alarm for 10:15am you can simply click the 10th pad counting clockwise from the top to set the hour, and then click on 7th pad to set the minutes.

Display

The display is a 2.42" OLED display from Waveshare. It has a resolution of 128x64, which is not detailed, but very sufficent for pixeled fonts and interfaces. It will display the time in the format you prefer, and it can be set into a "show on touch" mode, so that the display would be off by default but when you touch any capacitive touch sensor it will show the time for a certain period of time.

Other

It also has an RTC clock with a coin battery to sustain precise time for months, while the battery is not required it is very recommended as then if you power off the clock you won't need to set up the time again each time.

Since the LEDs and ICs produce heat there is a 40x40x7mm fan on the back which is very quiet, so should not be a worry that it might be disturbing.

Also I added 4 exposed GPIO pads on the PCB that you can use them to integrate something extra to this device if you want to.

How to build your own light clock

First you would want to buy all the required components found in the BOM, order the pcb using the gerbers from the production folder (you can also find the positions file which is required for JLCPCB to solder components for you, which is also an option). Then you will need to solder everything by looking at the schematic for references of the components. Also you will need to 3d print the enclosure, files of which you can find in the CAD folder. Now you will need to flash the device with the firmware using VS code with PlatformIO. Then when you check that it boots up successfully you can assemble the enclosure by first mounting the fan on the back enclosure part, then mounting the pcb to it as well, and finally snap the front enclosure part on the PCB.

Schematic

schematic image

PCB

3D renders:

Assembly

Assembled

Tools I used

BOM

Totals

Parts102.84$
Supplies22.08$
Shipping39.34$
Everything164.26$

You can find the detailed BOM in /BOM

P.S. I had to choose fast shipping or amazon instead of aliexpress as otherwise I won't be able to build the project until August

Repository structure

  • /CAD - All the 3d models and the assembly
  • /PCB - KiCAD PCB project
    • /production - Files required to produce the PCB (and PCBA for JLCPCB)
    • /scripts - Scripts I made in python to place the LEDs and capacitive touch pad footprints perfectly on the PCB
  • /firmware - PlatformIO project with all firmware sources and configs
  • /BOM - Bill of materials (the list of all parts you need to buy)
  • /images - Images of the project such as 3d renders, schematic, PCB, zine, etc.

Zine

zine

Parts

202
QtyValueFootprintReferences
72GW JTLMS1.EM-GVH3-XX57-1-60-R33easyeda2kicad:LED-SMD_L3.5-W2.8-RD_GW-JTLRS1.EM-K5L4-XX57-1LED1, LED2, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21, LED22, LED23 +56
24Sensor padanvar:capacitive-touch-pad-trapezoidE1, E2, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23 +8
200.1uFeasyeda2kicad:C0603C3, C10, C11, C12, C13, C14, C15, C17, C18, C20, C21, C22, C23, C24, C30, C31 +4
5LOGOLOGOG***, G***, G***, G***, G***
410KΩeasyeda2kicad:R0603R3, R13, R31, R32
41uFeasyeda2kicad:C0603C1, C2, C16, C19
4Control sensor padanvar:capacitive-touch-pad-square10mmE25, E26, E27, E28
4ExtraGPIOTestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mmGP24, GP25, GP26, GP27
310kΩeasyeda2kicad:R0603R15, R18, R26
310uFeasyeda2kicad:C1206C4, C28, C33
3249Ωeasyeda2kicad:R1206R9, R10, R11
327Ωeasyeda2kicad:R0603R7, R8, R34
375kΩeasyeda2kicad:R0603R21, R22, R28
3MPR121QR2easyeda2kicad:QFN-20_L3.0-W3.0-P0.40-BLU8, U9, U12
215pFeasyeda2kicad:C0603C5, C6
21KΩeasyeda2kicad:R0603R12, R14
21KΩeasyeda2kicad:R1210R1, R2
222uFeasyeda2kicad:C0805C29, C34
23.3uHeasyeda2kicad:IND-SMD_L7.0-W6.6L1, L2
24.7kΩeasyeda2kicad:R0603R19, R20
2B220Aeasyeda2kicad:SMA_L4.4-W2.8-LS5.4-RDD1, D2
1100KΩeasyeda2kicad:R0603R4
1100kΩeasyeda2kicad:R0603R5
110nFeasyeda2kicad:C0603C27
1121kΩeasyeda2kicad:R0603R27
112MHz crystaleasyeda2kicad:CRYSTAL-SMD_4P-L3.2-W2.5-BLU5
1180pFeasyeda2kicad:C0603C26
11MΩeasyeda2kicad:R0603R33
12.2uFeasyeda2kicad:C0805C35
1316kΩeasyeda2kicad:R0603R6
147kΩeasyeda2kicad:R0603R25
16.8pFeasyeda2kicad:C0603C25
1AO3400APackage_TO_SOT_SMD:SOT-23Q3
1AO3401APackage_TO_SOT_SMD:SOT-23Q2
1BAT-HLD-001easyeda2kicad:BAT-SMD_BAT-HLD-001BT1
1CH224Keasyeda2kicad:ESSOP-10_L4.9-W3.9-P1.0-LS6.0-TL-EPU2
1DS3231MZPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU7
1FST-1230easyeda2kicad:BUZ-SMD_L12.0-W12.0_FUET-1230BUZZER1
1Fananvar:SMD_2pads_polar_4mm_squareM1
1NPNeasyeda2kicad:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BRQ1
1PM254-1-06-W-8.5easyeda2kicad:HDR-TH_6P-P2.54-H-F-W10.0-NU13
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU4
1STP24DP05BTReasyeda2kicad:TQFP-48_L7.0-W7.0-P0.50-LS9.0-BL-EP3.5U1
1TP15822637easyeda2kicad:SW-SMD_4P-L5.2-W5.2-P3.70-LS6.4SW1
1TPS54232DReasyeda2kicad:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BLU11
1TPS62160DGKReasyeda2kicad:MSOP-8_L3.0-W3.0-P0.65-LS5.0-BLU3
1TYPE-C-31-D-09_C7463258easyeda2kicad:USB-C-TH_TYPE-C-31-D-09USBC1
1W25Q64JVSSIQeasyeda2kicad:SOP-8_L5.3-W5.3-P1.27-LS8.0-BLU6

The 196 most common of 202 parts.

Questions

What parts does the Lightclock use?

202 parts, built around the RP2040, MPR121QR2, CH224K and TPS62160DGKR. 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.

Where can I download the Lightclock KiCad files?

From the Anvarys/lightclock repository on GitHub, at the commit this page was made from: the board is PCB/lightclock.kicad_pcb and its schematic PCB/lightclock.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Lightclock design in my own project?

Its repository states no licence, so its author keeps all rights: ask Anvarys before reusing the design.

Similar boards

  • 6 layers55 × 95 mmEcho r1-rev1, the printed circuit board in 3D

    Echo r1-rev1

    amachronic/echoplayer

    Echo - Open Hardware Music Player

    154 parts281CERN-OHL-S-2.0
  • 2 layers98 × 79.6 mmImpedanceP2, the printed circuit board in 3D

    ImpedanceP2

    wenkeli/impedance_meter

    Electronics to measure the resistance of multi-channel animal electrodes

    73 parts1
  • 4 layers220 × 160 mmQds cv, the printed circuit board in 3D

    Qds cv

    cnpem-emi/qds-cv-hw

    Quench detection system for a single superconducting coil working in the Vertical Cryostat.

    403 parts
  • 2 layers106 × 148 mmChirstmas Card, the printed circuit board in 3D

    Chirstmas Card

    emaneric/Electronic-Christmas-Card

    A christmas card made from a PCB with a STM32, LED display, buttons, and buzzer.

    86 partsMIT
  • 2 layers73.1 × 59.4 mmMadpad, the printed circuit board in 3D

    Madpad

    Madjogger1202/Madpad

    Custom macropad based on RP2040 with display, audio feedback, and per-key RGB lighting.

    138 parts
  • 2 layers224 × 224 mmPiezo Demo 7x7, the printed circuit board in 3D

    Piezo Demo 7x7

    Radacon/MouseMinder

    An open-source mouse trap sensor.

    58 parts
  • 6 layers177 × 85 mmSolar BQ25798, the printed circuit board in 3D

    Solar BQ25798

    TheCacophonyProject/solar-battery

    362 partsCERN-OHL-W-2.0