

Alarm
my annoying alarm clock
- Size
- 111.9 × 80 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 23
- Pads
- 76
- Tracks, vias
- 214, 32
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 20 Jul 2026
- Updated
- 4 Aug 2026
Overview
Alarm is an open-source printed circuit board by dipa-cotton, from the dipa-cotton/blare repository on GitHub, published under the MIT licence. It is a 2-layer board of 111.9 × 80 mm with 18 parts on 23 nets, routed with 214 tracks and 32 vias.
Its parts include 6 diodes, 6 switches, 3 capacitors, 1 IC and 1 connector.
README
README.mdblare
my annoying alarm clock :)
purpose
i wanted to make this alarm clock to familiarize myself with C++ and the arduino IDE. i really enjoyed playing around with the pcb as well, it was a fun mini project!
goals
i want to submit this to blare to hopefully get the pillowcase :) I'll sleep better knowing orpheus is watching over me... or i guess under me
components
the main files are my PCB and Schematic made in kicad, and I have directories of my arduino code and my case's stl file as well :)
no ai was used in this project :))))))
pictures
BOM
- 6 Cherry MX Switches
- 1 LCD Display
- 1 Lolin C3 Mini
- 1 Buzzer
- 6 Diodes
- 3 Capacitors (already owned) a more detailed list can be found in BOM.csv :)
Journal
Day 1: PCB
Hours Spent: 3
What did you do?:
Today, I used KiCAD to build the schematic for my alarm as well as routed the PCB. This took quite a bit of effort, and took me a couple of hours due to fixing ERC and DRC issues.
Why did you do it?:
I did this to create the PCB for my project, so it can be easily manufactured and used to make an alarm clock that is compact for its size :)
What problems did you face?:
I faced issues with ERC (electric rules checker), mostly unused pins lol. In the end though, with google by my side, I was able to figure out that the unused pins must have an x symbol at the end of them to prevent KiCAD from getting angered. In the images above, you can see the specific wiring of the components, as well as the final PCB. The PCB was the easy part, as routing was quite simple.
Day 2: Code
Hours Spent: 4
What did you do?:
Today, I used the Arduino IDE to fully code the alarm clock. In my code, there are if statements that correspond each switch to a certain command, which displays what it does on the LCD as well. There are multiple commands, such as one that displays an undertale doggo, one that shows the weather, one that allows you to set an alarm time, one that shows the current time, and others as well. This code, once uploaded should hopefully turn the alarm clock into a working device, not just an alarm clock :)
Why did you do it?:
I did this with the goal of making something more complex than a simple alarm clock, but a device within itself that can be used for multiple purposes, sort of like a nightstand hub that tells you everything you need to know!
What problems did you face?:
I faced syntax issues with C++ as always, and I also didn't know how to display an image of the undertale doggo on the screen, but with guidance from google and a website that turned the image into a format that the c3 can understand, I was able to successfully use it to display an image when a certain button is pressed. In the future, I may try to add motion, or a lil gif of the guy jumping!
Day 3: CAD
Hours Spent: 1
What did you do?:
Today, I used Fusion 360 to create a case for my alarm clock. I exported a step file of the pcb from KiCAD, imported it into Fusion as a mesh file, and created a case around it. This process made sure that everything is correctly spaced, and looks nice.
Why did you do it?:
I did this so the alarm clock isn't just a PCB with no case. It has a heart too, yknow? In the future, I'll make it look nicer, but once my PCB arrives, I'll make sure everything fits and make it look nicer.
What problems did you face?:
I didn't really face any issues, cuz I know Fusion 360 pretty well, but text always acts funny on my Mac so I just had to struggle with that for a minute or 2.
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | D | Diode_THT:D_T-1_P10.16mm_Horizontal | D13, D14, D15, D17, D18, D19 |
| 6 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW5, SW6, SW7 |
| 1 | 100nf | Capacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal | C2 |
| 1 | 100µF | Capacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal | C3 |
| 1 | 10µF | Capacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal | C1 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | Conn_01x08_Pin | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1 |
| 1 | WEMOS_C3_mini | RF_Module:WEMOS_C3_mini | U1 |
Questions
How big is the Alarm PCB?
It measures 111.9 × 80 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Alarm use?
18 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.
Where can I download the Alarm KiCad files?
From the dipa-cotton/blare repository on GitHub, at the commit this page was made from: the board is kicad files/alarm.kicad_pcb and its schematic kicad files/alarm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Alarm design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers27.9 × 16.5 mm

- 2 layers42.7 × 13.7 mm

Stm32-mini12864
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
18 parts1.1kGPL-3.0 - 2 layers41.2 × 46.6 mm

- 2 layers44 × 51.3 mm

4272MAVcoder R4
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
18 parts915 - 2 layers28.3 × 14.3 mm

Tap Photosensor PCB
VoronDesign/Voron-Tap
Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:
18 parts716GPL-3.0 - 2 layers20.3 × 15.2 mm

L0 stepper driver
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
18 parts546MIT - 2 layers

- 2 layers42.5 × 28.8 mm

C5VRX JACK DIY V2
Twotoz/C5VRX
Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS
18 parts515GPL-3.0