Skip to content

DaringCuteSeal/spinetime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors