Skip to the content
PCBKitNew board
2 layers71 × 73 mmAlarm, the printed circuit board in 3D

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

12

README

README.md

persuasive_waker

alt text

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

ItemQTYSource
Case13D Print
Screen Holder13D Print
Spacer23D Print
M2.5x0.45-12-SHCS-SS3044
M2.5x0.45-6-SHCS-SS3044
M2.5x0.45-4-FHS-SS3042
PRESSNUT-M2.5x0.45-SS3042Mouser
Battery Holder1Mouser
THRIN-M2.5X0.45-HS-PL-4L3.5D-BR8Amazon
E-Paper Display1AliExpress
Key Fob1AliExpress
Alarm PCB1Custom PCBA Order
Front Plate1Custom PCB Order
Rear Plate1Custom PCB Order

Mechanical Build

  1. Print the case, screen holder, and two spacers.
  2. Install the heat-set inserts in the case (x8).
  3. Insert the PCB from the front.
  4. Plug the E-paper display into the FPC connector.
  5. Put the screen holder and spacers into position and then fold the display down onto it. Make sure the display is properly nestled in.
  6. Holding the display down, put the front cover on.
  7. Screw the front cover on with the M2.5x12 screws.
  8. Using an arbor press, press the press-fit nuts into the rear cover.
  9. Screw the battery holder onto the rear cover using the flat head screws and loctite. Insert AA batteries.
  10. Plug the battery holder into the power connector on the back of the PCB.
  11. Screw the rear cover on using the M2.5x6 screws.

Firmware Setup

  1. Install CircuitPython on your Pico by following this guide. The last version tested with this device is 9.2.6.

  2. Install circup on your computer.

  3. 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
  4. Delete code.py from the Pico's storage.

  5. Clone this repo onto your computer and copy+paste everything in the src folder to the Pico's storage.

  6. The alarm clock should be functioning now.

User Manual

See here.

Upgrading from v3.0 to v3.1

  1. Replace the old src files with the new ones on the v3.1 branch.

  2. 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 update

    Alternatively, you can download the requirements.txt and run the following:

    text
    circup install -r /path/to/requirements.txt

Parts

71
QtyValueFootprintReferences
141uFCapacitor_SMD:C_0603_1608MetricC2, C4, C5, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
910kΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R3, R4, R5, R7, R8, R9, R10, R11
6TL3301BF260QJSamacSys_Parts:TL3301BF260QJS3, S4, S5, S6, S7, S8
44.7uFCapacitor_SMD:C_0603_1608MetricC1, C3, C6, C18
4MBR0530Diode_SMD:D_SOD-123D1, D2, D3, D4
4MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_DIN965_PadH1, H2, H3, H4
3TestPointTestPoint:TestPoint_Pad_1.5x1.5mmTP1, TP2, TP3
2130ΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR15, R16
2DMG2305UX-7SamacSys_Parts:SOT96P240X115-3NQ2, Q3
2RKB2SJK250SMTR_LFSSamacSys_Parts:RKB2SJK250SMTRLFSS1, S2
10.47ΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
114kΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12
1180ΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6
11kΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR13
12SC5585TLSamacSys_Parts:2SC5585TLQ4
147ΩResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR14
168 uHSamacSys_Parts:INDM3225X240NL1
1975SamacSys_Parts:975J2
1AS1115-BSSTPackage_SO:QSOP-24_3.9x8.7mm_P0.635mmU2
1CSS-I4B20-SMT-TRSamacSys_Parts:CSSI4B20SMTTRLS1
1FFC2B35-24-TSamacSys_Parts:FFC2B3524TJ1
1M20-7920642RSamacSys_Parts:M207920642RJ3
1MAX31328NELB+SamacSys_Parts:MAX31328NELBIC2
1PEC11S-929K-S0015SamacSys_Parts:PEC11S929KS0015IC3
1RaspberryPi_PicoModule_RaspberryPi_Pico:RaspberryPi_Pico_Original_SMDU1
1SHT40-BD1B-R2SamacSys_Parts:SHT40BD1BR2IC1
1SM04B-SRSS-TB_LF__SN__P_SamacSys_Parts:SM04BSRSSTBLFSNPJ4
1Si1308EDL-T1-GE3SamacSys_Parts:SOT65P210X110-3NQ1
1TDCR1060Mfootprints:TDCG1060M_VISU3
1WP424IDTSamacSys_Parts:WP424IDTLED1
1~RX480E:RX480EA1

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 mmPonictron, the printed circuit board in 3D

    Ponictron

    bbokser/ponictron

    75 partsMIT
  • 4 layers64.5 × 60 mmOrangeCart, the printed circuit board in 3D

    OrangeCart

    zeldin/OrangeCart

    The Orange Cartridge, an FPGA cartridge for the C64/C128

    140 parts22
  • 2 layers101 × 56 mmBenchtop V1, the printed circuit board in 3D

    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 mmTbc ui, the printed circuit board in 3D

    Tbc ui

    philmcm/tbc_ui

    43 parts
  • 4 layers96 × 70 mmTradewind, the printed circuit board in 3D

    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 mmErs s32-board, the printed circuit board in 3D

    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 mmLedMatrix, the printed circuit board in 3D

    LedMatrix

    lsburlino/IEEE-LED-Board

    PCB Board for IEEE Meeting

    17 parts
  • 4 layers160 × 185.5 mmClockV2, the printed circuit board in 3D

    ClockV2

    Raphael-Tibbits/ClockV2

    Crystal oscilator clock project

    99 parts