Skip to the content
PCBKitNew board
2 layers52 × 29 mmController, the printed circuit board in 3D

A neurodivergent-friendly linear clock gadget for time management in binder journals.

Size
52 × 29 mm
Copper layers
2
Thickness
0.8 mm
Parts
42
Nets
40
Pads
144
Tracks, vias
305, 35
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Feb 2026
Updated
15 Jun 2026

Overview

Controller is an open-source printed circuit board by DaringCuteSeal, from the DaringCuteSeal/spinetime repository on GitHub. It is a 2-layer board of 52 × 29 mm with 42 parts on 40 nets, routed with 305 tracks and 35 vias.

It is built around the ATTINY1616-MN, DS3231S# and TP4056, with the 1SS404 and DMP1045U among its other parts. Its parts include 17 resistors, 6 capacitors, 5 diodes, 4 ICs and 4 connectors. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Spinetime

SpineTime magazine page Magazine PDF

Watch the short demo here!


Mockup of Spinetime

Spinetime is a ring binder-integrated linear clock 1 designed to help students and neurodivergent individuals manage time and tasks more effectively. Users of Spinetime can visualize the passage of the day at a glance, providing aid especially for those who struggle with time blindness.

Why?

It is surprising to me that people have manufactured papers with time table template, but not invent something as simple as a pointer that tells you how far you have gone through your table. I suspect that this is because most people do not experience time blindness, and having some kind of pointer of the table isn't really all that useful. This is simply not the case for those with time blindness: time doesn't really mean anything if presented in the wrong way. I hope that the proof of concept that came with Spinetime may help present time meaningfully for those who struggle with time blindness like me.

Background

As someone who suffers from time blindness on a daily basis, I find managing my time extremely challenging. It's been intensely hard to picture how I'll spend my time for a particular day. Having shuffled between multiple time management methods, I constantly find myself at home when I plan my day out on my physical journal. I simply love the tactile feel of using a physical tool to plan out my day.

However, being the visual-oriented person I am, lacking any visual cue of "where" in the time dimension I am at any given day has been a major deal-breaker that has kept me from using physical tools for journalling. Of course, journalling papers with pre-made time tables exist, but they don't tell me what time it really is right now in any tangible manner relating to the table itself—what a bummer.

I've been using ChronoCat (not affiliated) to manage my time lately, and it's been a perfect digital tool—minimalistic, very visual, and easy to use. It provides the user with a time table alongside a visual cue of where they are within the day. However, like I said before, I crave the tactile feel of physical note-taking. It'd also be great if I can plan my day without the distraction that comes with using a full-fledged mobile phone or computer. Plus, being able to plan my day at school would be a great2. I always dream that one day, I won't forget several of my appointments again.

I looked at my own journalling book again, and thought: you know, I think that ChronoCat's approach doesn't have to be in the form of a digital app. And so, I came up with SpineTime.

How to Use

Daily use: simply strap Spinetime to your ring binder by opening the spine and inserting the linear clock component and start annotating your day. This repository hosts the A6 binder-compatible version.

How to charge the battery: charge with a type-C cable. 5V, obviously. The controller implements load sharing so you'll be powering the circuit directly with the given 5V when charged.

How it Works

The LEDs of the bookmark are controlled by a separate controller unit. An ATtiny1616 MCU is used alongside a DS3231 RTC.

Specs

  • Power usage: about 20-25 mA when bookmark is on (3.7V * 25mA = 92.5 mW). Depends on LED color. 7 mA when bookmark is switched off (3.7V * 7mA = 25.9 mW).
  • Use duration: about 1d 16h (1000 mAh ÷ 25 mA). Probably a bit lower since we won't (and can't) use the full capacity of the battery.

Build Instruction

You will need:

  1. A soldering iron
  2. Solder
  3. Everything from BOM
  4. A USB-to-TTL adapter such as a CH340 breakout module
  5. Wire crimper
  6. Wire stripper
  7. Scissors
  8. USB-C cable
  9. 3 jumper wires (female-to-female)

Steps:

  1. Print the PCBs. Customize if needed. Note that the gerbers aren't included, so you'd have to generate them first from KiCad.
  2. Solder components listed on the BOM according to the PCB file.
  3. 3D print the casing components.
  4. Use whatever set of cables you have (can be thin) and solder the bookmark's VIN, GND, and DAT through-holes to the cables. Crimp the end into the 3-pin JST housing. Make sure the orientation is aligned correctly with the controller (as JST connectors cannot be plugged in both orientations).
  5. Put together everything into the casing: the battery, the controller PCB, and the anti-slip rubbers (might need to be cut to the correct size first, fitting the casing's square indents).
  6. If your battery hasn't been crimped yet, crimp the cables to the 2-pin JST. Then plug the battery connector to the controller.
  7. Build the firmware. Customize as you wish. You'll need PlatformIO.
  8. FLash the firmware. Initially, set SET_TIME to true in the cfg.h file first to set time, then flash again with SET_TIME set to false. You will need a USB-to-TTL adapter. Connect the TX pin of the adapter to the TX pin of SpineTime's controller PCB and the RX pin of the adapter to RX. Note that the PCB doesn't have labels for that.. just check the kicad file to know which is which :P. Then, connect the adapter's ground accordingly.
  9. You should be done! There's no screw assembly required—everything uses compliant mechanism.

Gotchas:

  1. If you can't flash the ATtiny1616, try changing to another device. Initially I couldn't flash my ATtiny and as it turns out, my laptop has a bad USB controller.
  2. Some sources online say that SK6812 LEDs are difficult to solder and require lower temp but I found that with hand-soldering, even up to ~350°C is fine. (just don't roast the LEDs for 1 minute straight I guess)

Spelling

Spinetime, SpineTime, spinetime are all valid. No spineTime or spine_time or anything else.

Project Design Showcase

IRL Build

Photo of the bookmark

Photo of the strap casing

Photo of the bookmark being used at a computer lab

Note: I built it with LEDs too big so I didn't put on the casing lid.

PCBs

The actual bookmark (project files, .step file):

PCB design of bookmark

3D PCB design of bookmark

The controller unit (project files, .step file): PCB design of controller unit

3D PCB design of controller unit

Schematics:

3D Models

The model files can be found under freecad/.

Casing: Casing 3D model

Support clip (so your book cover won't wobble when being written on): Support clip 3D model

Firmware

The firmware files for SpineTime, spinetime-fw, can be found in the firmware directory.

BOM

BOM/bill of materials for this project can be found here.

Credits

Thanks to Hack Club for supporting! Initially made for Hack Club Blueprint, but later got transferred to Hack Club Fallout.

Awesome software used:

Awesome services used:

  • Github (hosting project files)

I used several 3D models for my PCB 3D model:

References (unfortunately not all, just the very notable ones):

Huh, am I over-crediting? maybe..

LLM Usage Disclosure

I used ChatGPT for sanity-checking my configurations (including my controller schematic, for instance it caught that I didn't pull the CC pins to ground).

Footnotes

  1. Analog clock that shows time in a linear format, instead of the usual 12-hour wrap-around style. This clock is often suggested for those with ADHD & time blindness. ↩

  2. My school does not allow the use of mobile phone/laptop during class and recess. ↩

Parts

42
QtyValueFootprintReferences
81KResistor_SMD:R_0603_1608MetricR1, R2, R3, R4, R9, R10, R16, R17
30.1uCapacitor_SMD:C_0402_1005MetricC3, C4, C6
3100uCapacitor_SMD:C_1206_3216MetricC1, C2, C5
310KResistor_SMD:R_0603_1608MetricR5, R6, R12
25K1Resistor_SMD:R_0603_1608MetricR14, R15
1100KResistor_SMD:R_0603_1608MetricR11
11MResistor_SMD:R_0603_1608MetricR7
11SS404Diode_SMD:D_SOD-323D5
1200mFuse:Fuse_1812_4532MetricF2
1255KResistor_SMD:R_0603_1608MetricR8
1330Resistor_SMD:R_0603_1608MetricR13
1750mFuse:Fuse_1812_4532MetricF1
1ATTINY1616custom-footprints:SOIC-20_L12.8-W7.5-P1.27-LS10.3-BLU3
1CONN_UPDIConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ3
1DMP1045Ucustom-footprints:SOT-23-3_L2.9-W1.5-P1.90-LS2.6-BRQ1
1DS3231custom-footprints:SOIC-16_L10.3-W7.5-P1.27-LS10.3-BLU1
1JST_BATcustom-footprints:JST_1x2_2.54mm-horizontal_1J1
1JST_BOOKMARKcustom-footprints:JST_1x3_2.54mm-horizontalJ2
1LED_RLED_THT:LED_D2.0mm_W4.8mm_H2.5mm_FlatTopD2
1LED_R_IND.LED_THT:LED_D2.0mm_W4.8mm_H2.5mm_FlatTopD4
1LED_R_LOLED_THT:LED_D2.0mm_W4.8mm_H2.5mm_FlatTopD3
1LED_YLED_THT:LED_D2.0mm_W4.8mm_H2.5mm_FlatTopD1
1PERPH_VIN_DBGConnector_Wire:SolderWirePad_1x01_SMD_1x2mmH2
1SW_DIP_x01custom-footprints:SW-SMD_CHS-01BSW1
1TP4056Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalViasU2
1UART_DBGConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1VIN_DBGConnector_Wire:SolderWirePad_1x01_SMD_1x2mmH1
1~custom-footprints:USB-C-SMD_USB-TYPE-C-006U4

Questions

How big is the Controller PCB?

It measures 52 × 29 mm and has 2 copper layers, 0.8 mm thick.

What parts does the Controller use?

42 parts, built around the ATTINY1616-MN, DS3231S#, TP4056 and 1SS404. 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 Controller KiCad files?

From the DaringCuteSeal/spinetime repository on GitHub, at the commit this page was made from: the board is kicad/controller/controller.kicad_pcb and its schematic kicad/bookmark/controller_board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

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

More from DaringCuteSeal/spinetime

1
  • 2 layers27 × 177 mmBookmark, the printed circuit board in 3D

    Bookmark

    DaringCuteSeal/spinetime

    A neurodivergent-friendly linear clock gadget for time management in binder journals.

    53 parts3

Similar boards

  • 4 layers100 × 100 mmSTM32 ESC HW, the printed circuit board in 3D

    STM32 ESC HW

    cej830/STM32_BLDC_ESC_Firmware

    STM32_BLDC_ESC_Firmware

    162 parts
  • 2 layers80 × 57 mmDao board, the printed circuit board in 3D

    Dao board

    Decuplequart/dao_iidx_board

    古めのDAOコンの基盤の入手性がカスなのでイチから作っちゃおうというプロジェクト

    44 partsMIT
  • 2 layers90 × 100 mmPCB MAQUEEN V1, the printed circuit board in 3D

    PCB MAQUEEN V1

    vmfachini/Lumibot

    Desenvolvimento de um Hardware Livre, com uso de energia limpa, baseado no micro:bit para criar robôs móveis acessíveis, promovendo ensino de robótica, pensamento computacional e sustentabilidade no Brasil.

    62 partsMIT
  • 2 layers110 × 80 mmNoko 2, the printed circuit board in 3D

    Noko 2

    NikolaiRadke/Noko_2

    The do-it-yourself Arduino-based Noko monster. Version 2 with PCB and 3D printed casing.

    51 parts3Apache-2.0
  • 2 layers42.3 × 43.9 mmIoT Weather Station Circuit, the printed circuit board in 3D

    IoT Weather Station Circuit

    Ezerwald/stm32-kicad-weather-station

    KiCad-based PCB project for an STM32-powered IoT weather station with environmental sensing, real-time clock support, battery charging, and e-paper display connectivity.

    46 partsMIT
  • 4 layers56 × 54 mmAutofeeder, the printed circuit board in 3D

    Autofeeder

    wabolabs/autofeedermod

    ESP32-C6 based chicken feed dispenser controller with Matter, CAN bus, and 18650 battery

    44 partsCERN-OHL-W-2.0
  • 2 layers94 × 75 mmDoubLayerSim, the printed circuit board in 3D

    DoubLayerSim

    sercami97/EstacionMeteorologica

    Open source proyect for low cost weather station

    28 parts
  • 2 layers79.2 × 59.2 mmGpstracker, the printed circuit board in 3D

    Gpstracker

    blemasle/gpstracker-pcb

    Connected GPS tracker PCB

    205 parts33MIT