

An open source hardware alarm clock that can't be snoozed or turned off.
- Size
- 71 × 73 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 71
- Nets
- 120
- Pads
- 310
- Tracks, vias
- 489, 69
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 25 Feb 2024
- Updated
- 17 Jan 2026
Overview
Alarm is an open-source printed circuit board by bbokser, from the bbokser/persuasive_waker repository on GitHub, published under the MIT licence. It is a 2-layer board of 71 × 73 mm with 71 parts on 120 nets, routed with 489 tracks and 69 vias.
It is built around the AS1115-BSST, SHT40-BD1B-R2 and MAX31328NELB+, with the PEC11S-929K-S0015, TDCR1060M and TL3301BF260QJ among its other parts. Its parts include 18 capacitors, 16 resistors, 8 switches, 6 ICs and 5 diodes. It belongs with the lEDs and displays boards and the RP2040 boards of this library.
Main components
12AS1115-BSST
QSOP-24-150milDigital Tube DriversAdvanced Monolithic SystemsSHT40-BD1B-R2
DFN-4(1.5x1.5)-40℃~+125℃ 0%RH~100%RH 1.08V~3.6V 16bit 400nA Factory calibration、Built-in heater I2C ±0.2℃ ±1.8%RH DFN-4(1.5x1.5) Temperature and Humidity Sensor ROHSSensirionTemperature And Humidity SensorMAX31328NELB+
LGA-10(5x5)-40℃~+85℃ 2.3V~5.5V 200uA 660nA Built-in I2C Temperature compensation、Backup power management and battery charging、Programmable clock output、Alarm function、Periodic interrupt output Yes LGA-10(5x5) Real Time Clocks ROHSMaxim Integrated (Analog Devices)Real Time ClocksPEC11S-929K-S0015
SMD-40℃~+70℃ 10mA 30/15 5V Incremental Support Two-phase output Vertical welding SMD Rotary Encoders ROHSBournsRotary EncodersTDCR1060M
DIP-16DIP-16 LED Segment Displays ROHSVishay IntertechnologyLED Segment DisplaysTL3301BF260QJ
--20℃~+70℃ 12V 2.6N 50mA J-Lead Round Button SPST-NO Surface Mount,Vertical - Tactile Switches ROHSE-SwitchTactile SwitchesMBR0530
SOD-1231 Independent 30V 5.5A 500mA 550mV@500mA 80uA@30V SOD-123 Schottky Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Schottky DiodesDMG2305UX-7
SOT-23-55℃~+150℃ 1 P-Channel 1.4W 10.2nC@4.5V 20V 52mΩ@4.5V、100mΩ@2.5V 5A 77pF 808pF 85pF 900mV P-Channel SOT-23 MOSFETs ROHSDiodes IncorporatedMOSFETsRKB2SJK250SMTRLFS
SMD-40℃~+90℃ 12V 2.5N 2.5mm 3.5mm 4.2mm 50,000 cycles 50mA J-Lead Oval Button SPST-NO Surface Mount,Vertical SMD Tactile Switches ROHSC&KTactile Switches2SC5585TL
SOT-416-55℃~+150℃ 1 NPN 100nA 12V 150mW 250mV 270 320MHz 500mA 6V NPN SOT-416 Bipolar (BJT) ROHSROHM SemiconductorBipolar (BJT)CSS-I4B20-SMT-TR
--30℃~+70℃ 2.73kHz 3.3mm 3V~5V 8.5mm 8.5mm 85dB Electromagnetic Passive (Externally Driven) - Buzzers ROHSCUIBuzzersFFC2B35-24-T
SMD,P=0.5mm,卧贴FFC, FPC (Flat Flexible) Connector AssembliesGlobal Connector Technology (GCT)
README
README.mdpersuasive_waker

Persuasive Waker is an open source hardware alarm clock that can't be snoozed or turned off. The alarm is deactivated via a remote key fob, which should be placed as far from the user's bed as possible. E.g. in the bathroom.
The KiCad design files are located in the hw folder.
The STEP assembly is located here.
If you just want STLs for printing, they're here.
BoM
| Item | QTY | Source |
|---|---|---|
| Case | 1 | 3D Print |
| Screen Holder | 1 | 3D Print |
| Spacer | 2 | 3D Print |
| M2.5x0.45-12-SHCS-SS304 | 4 | |
| M2.5x0.45-6-SHCS-SS304 | 4 | |
| M2.5x0.45-4-FHS-SS304 | 2 | |
| PRESSNUT-M2.5x0.45-SS304 | 2 | Mouser |
| Battery Holder | 1 | Mouser |
| THRIN-M2.5X0.45-HS-PL-4L3.5D-BR | 8 | Amazon |
| E-Paper Display | 1 | AliExpress |
| Key Fob | 1 | AliExpress |
| Alarm PCB | 1 | Custom PCBA Order |
| Front Plate | 1 | Custom PCB Order |
| Rear Plate | 1 | Custom PCB Order |
Mechanical Build
- Print the case, screen holder, and two spacers.
- Install the heat-set inserts in the case (x8).
- Insert the PCB from the front.
- Plug the E-paper display into the FPC connector.
- Put the screen holder and spacers into position and then fold the display down onto it. Make sure the display is properly nestled in.
- Holding the display down, put the front cover on.
- Screw the front cover on with the M2.5x12 screws.
- Using an arbor press, press the press-fit nuts into the rear cover.
- Screw the battery holder onto the rear cover using the flat head screws and loctite. Insert AA batteries.
- Plug the battery holder into the power connector on the back of the PCB.
- Screw the rear cover on using the M2.5x6 screws.
Firmware Setup
-
Install CircuitPython on your Pico by following this guide. The last version tested with this device is 9.2.6.
-
Install circup on your computer.
-
Run the following commands to install all necessary libraries.
text circup bundle-add adafruit/circuitpython-fonts circup install adafruit_sht4x adafruit_ssd1680 adafruit_display_text adafruit_ds3231 adafruit_datetime adafruit_display_shapes font_ostrich_sans_black_24 font_ostrich_sans_black_60 -
Delete
code.pyfrom the Pico's storage. -
Clone this repo onto your computer and copy+paste everything in the
srcfolder to the Pico's storage. -
The alarm clock should be functioning now.
User Manual
See here.
Upgrading from v3.0 to v3.1
-
Replace the old
srcfiles with the new ones on thev3.1branch. -
Install circup and run the following.
text circup bundle-add adafruit/circuitpython-fonts circup uninstall font_ostrich_sans_black_30 font_ostrich_sans_black_72 circup install font_ostrich_sans_black_24 font_ostrich_sans_black_60 circup updateAlternatively, you can download the requirements.txt and run the following:
text circup install -r /path/to/requirements.txt
Parts
71| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 1uF | Capacitor_SMD:C_0603_1608Metric | C2, C4, C5, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 |
| 9 | 10kΩ | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R3, R4, R5, R7, R8, R9, R10, R11 |
| 6 | TL3301BF260QJ | SamacSys_Parts:TL3301BF260QJ | S3, S4, S5, S6, S7, S8 |
| 4 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C6, C18 |
| 4 | MBR0530 | Diode_SMD:D_SOD-123 | D1, D2, D3, D4 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.7mm_M2.5_DIN965_Pad | H1, H2, H3, H4 |
| 3 | TestPoint | TestPoint:TestPoint_Pad_1.5x1.5mm | TP1, TP2, TP3 |
| 2 | 130Ω | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R15, R16 |
| 2 | DMG2305UX-7 | SamacSys_Parts:SOT96P240X115-3N | Q2, Q3 |
| 2 | RKB2SJK250SMTR_LFS | SamacSys_Parts:RKB2SJK250SMTRLFS | S1, S2 |
| 1 | 0.47Ω | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2 |
| 1 | 14kΩ | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12 |
| 1 | 180Ω | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R6 |
| 1 | 1kΩ | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R13 |
| 1 | 2SC5585TL | SamacSys_Parts:2SC5585TL | Q4 |
| 1 | 47Ω | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R14 |
| 1 | 68 uH | SamacSys_Parts:INDM3225X240N | L1 |
| 1 | 975 | SamacSys_Parts:975 | J2 |
| 1 | AS1115-BSST | Package_SO:QSOP-24_3.9x8.7mm_P0.635mm | U2 |
| 1 | CSS-I4B20-SMT-TR | SamacSys_Parts:CSSI4B20SMTTR | LS1 |
| 1 | FFC2B35-24-T | SamacSys_Parts:FFC2B3524T | J1 |
| 1 | M20-7920642R | SamacSys_Parts:M207920642R | J3 |
| 1 | MAX31328NELB+ | SamacSys_Parts:MAX31328NELB | IC2 |
| 1 | PEC11S-929K-S0015 | SamacSys_Parts:PEC11S929KS0015 | IC3 |
| 1 | RaspberryPi_Pico | Module_RaspberryPi_Pico:RaspberryPi_Pico_Original_SMD | U1 |
| 1 | SHT40-BD1B-R2 | SamacSys_Parts:SHT40BD1BR2 | IC1 |
| 1 | SM04B-SRSS-TB_LF__SN__P_ | SamacSys_Parts:SM04BSRSSTBLFSNP | J4 |
| 1 | Si1308EDL-T1-GE3 | SamacSys_Parts:SOT65P210X110-3N | Q1 |
| 1 | TDCR1060M | footprints:TDCG1060M_VIS | U3 |
| 1 | WP424IDT | SamacSys_Parts:WP424IDT | LED1 |
| 1 | ~ | RX480E:RX480E | A1 |
Questions
How big is the Alarm PCB?
It measures 71 × 73 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Alarm use?
71 parts, built around the AS1115-BSST, SHT40-BD1B-R2, MAX31328NELB+ and PEC11S-929K-S0015. 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 bbokser/persuasive_waker repository on GitHub, at the commit this page was made from: the board is hw/alarm/alarm.kicad_pcb and its schematic hw/alarm/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 layers121 × 73 mm

- 4 layers64.5 × 60 mm

- 2 layers101 × 56 mm

Benchtop V1
hkienle/osh-vacuum
This PCB is designed to control a high RPM impeller for vacuum machines. It provides comprehensive control and monitoring capabilities with modern connectivity options.
82 parts8 - 2 layers160 × 55 mm

- 4 layers96 × 70 mm

Tradewind
binaryBeachLLC/tradewind
Tradewind TW-1: solar LoRaWAN field sensor. KiCad 9 board, CadQuery enclosure, RUI3 firmware, simulations, test data, report and datasheet.
85 parts - 4 layers88.9 × 96.5 mm

Ers s32-board
schrodlm/nxp_hal
In this assignment the target platform changes from the STM32F407 to the NXP S32K118, an Arm Cortex‑M0+ microcontroller from the S32K1xx automotive family.
138 parts - 2 layers85.5 × 53.5 mm

- 4 layers160 × 185.5 mm
