Skip to the content
PCBKitNew board
2 layers27 × 177 mmBookmark, the printed circuit board in 3D

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

Size
27 × 177 mm
Copper layers
2
Thickness
1.6 mm
Parts
53
Nets
28
Pads
151
Tracks, vias
396, 95
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Feb 2026
Updated
15 Jun 2026

Overview

Bookmark is an open-source printed circuit board by DaringCuteSeal, from the DaringCuteSeal/spinetime repository on GitHub. It is a 2-layer board of 27 × 177 mm with 53 parts on 28 nets, routed with 396 tracks and 95 vias.

Its parts include 25 capacitors, 24 diodes and 1 switch. It belongs with the lEDs and displays boards of this library.

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

53
QtyValueFootprintReferences
240.1uCapacitor_SMD:C_0402_1005MetricC2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24 +8
122uCapacitor_SMD:C_1206_3216MetricC1
1Data_Incustom-footprints:THT_hole_2mmH3
1GNDcustom-footprints:THT_hole_2mmH2
1LED_1custom-footprints:LED-SMD_4P-L4.0-W1.6-LD1
1LED_10custom-footprints:LED-SMD_4P-L4.0-W1.6-LD10
1LED_11custom-footprints:LED-SMD_4P-L4.0-W1.6-LD11
1LED_12custom-footprints:LED-SMD_4P-L4.0-W1.6-LD12
1LED_13custom-footprints:LED-SMD_4P-L4.0-W1.6-LD13
1LED_14custom-footprints:LED-SMD_4P-L4.0-W1.6-LD14
1LED_15custom-footprints:LED-SMD_4P-L4.0-W1.6-LD15
1LED_16custom-footprints:LED-SMD_4P-L4.0-W1.6-LD16
1LED_17custom-footprints:LED-SMD_4P-L4.0-W1.6-LD17
1LED_18custom-footprints:LED-SMD_4P-L4.0-W1.6-LD18
1LED_19custom-footprints:LED-SMD_4P-L4.0-W1.6-LD19
1LED_2custom-footprints:LED-SMD_4P-L4.0-W1.6-LD2
1LED_20custom-footprints:LED-SMD_4P-L4.0-W1.6-LD20
1LED_21custom-footprints:LED-SMD_4P-L4.0-W1.6-LD21
1LED_22custom-footprints:LED-SMD_4P-L4.0-W1.6-LD22
1LED_23custom-footprints:LED-SMD_4P-L4.0-W1.6-LD23
1LED_24custom-footprints:LED-SMD_4P-L4.0-W1.6-LD24
1LED_3custom-footprints:LED-SMD_4P-L4.0-W1.6-LD3
1LED_4custom-footprints:LED-SMD_4P-L4.0-W1.6-LD4
1LED_5custom-footprints:LED-SMD_4P-L4.0-W1.6-LD5
1LED_6custom-footprints:LED-SMD_4P-L4.0-W1.6-LD6
1LED_7custom-footprints:LED-SMD_4P-L4.0-W1.6-LD7
1LED_8custom-footprints:LED-SMD_4P-L4.0-W1.6-LD8
1LED_9custom-footprints:LED-SMD_4P-L4.0-W1.6-LD9
1SW_DIP_x01custom-footprints:SW-SMD_CHS-01BSW1
1VINcustom-footprints:THT_hole_2mmH1

Questions

How big is the Bookmark PCB?

It measures 27 × 177 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bookmark use?

53 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 Bookmark KiCad files?

From the DaringCuteSeal/spinetime repository on GitHub, at the commit this page was made from: the board is kicad/bookmark/project.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 Bookmark 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 layers52 × 29 mmController, the printed circuit board in 3D

    Controller

    DaringCuteSeal/spinetime

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

    42 parts3

Similar boards

  • 2 layers217.1 × 393.8 mmSweepv2, the printed circuit board in 3D

    Sweepv2

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    53 parts2.1k
  • 2 layers121.9 × 81.3 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    53 parts1kGPL-3.0
  • 2 layers48 × 48 mmUSB, the printed circuit board in 3D

    USB

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    53 parts915
  • 2 layers103.7 × 74.1 mmPicoGUS, the printed circuit board in 3D

    PicoGUS

    polpo/picogus

    Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

    53 parts805
  • 2 layers60.5 × 76.8 mmHeadphones prototype pcb, the printed circuit board in 3D

    Headphones prototype pcb

    strangeparts/niubi-headphones

    Flexible circuit board design for adding a headphone jack to an iPhone 7

    53 parts493MIT
  • 2 layers59.1 × 26.1 mmPSRAMmod, the printed circuit board in 3D

    PSRAMmod

    Architeuthis-Flux/JumperlessV5

    The next generation jumperless breadboard

    53 parts332
  • 2 layers49 × 49 mmOpen source BMS, the printed circuit board in 3D

    Open source BMS

    Teslafly/Dead-OpenBMS-dead

    A scalable, open source battery management system

    53 parts248
  • 2 layers39 × 40 mmMdb bridge esp32s3, the printed circuit board in 3D

    Mdb bridge esp32s3

    nodestark/mdb-esp32-cashless

    ESP32-based MDB cashless device for vending machines, supporting EVA DTS DEX/DDCMP telemetry and payments over the MDB protocol via Bluetooth and MQTT

    53 parts190MIT