Why?
I found myself struggling with structuring my time when the new work from home life began. I don’t think I’m the only one whose gaming desktop has now become their work desktop too! It’s mighty tempting when that StarCraft icon is right next to your Outlook icon. Nevertheless, I needed a solution to structure and compartmentalized my time accordingly. I wanted a sleek way to record my time spent between work functions (meetings, coding, writing, email, and project management) and personal functions (hardware hacking and gaming).
There are tools out there that do this on the software side and hardware side. But why would I overpay someone to do that when I wanted to make an open-source, free solution available for everyone? Also, those devices I saw didn’t use magnets, and I wanted to make something with magnets in it.
Design
The gadget consists of two main 3D printed parts a base and a top. The base contains three photoresistors, and a spindle in the center with a green LED inside to shine light into the top. The top of the device rests on a spindle in the center with a 608 bearing to rotate freely. Inside the top, there is space for the LED light to shine and reflect off the inside surface to be filtered by a simple 3D printed 3-bit gray encoder (info on a gray encoder: https://en.wikipedia.org/wiki/Gray_code). Light is blocked from the encoder that is in between the light source and the photoresistors, where the signal from the photoresistors can be filtered to a binary code using an Arduino to identify what ‘task/activity is being represented. As I mentioned, I wanted to use magnets in this project, no I needed to use magnets. There was a problem with how to ‘lock’ the task in the correct coordinate, but I was pleased with the rotation along the spindle and wanted the top to be separate from the base. My problem was solved by eight evenly spaced magnets inside the top and bottom translated in between each other with the magnets in a repelling orientation (i.e. North facing North). This ensures that the top spindle will stay fixed in a specific location and is very satisfying to move from one position to another with subtle haptic feedback.
Look at that awesome rotation, all thanks to magnets.
Software
I wrote some simple software to record the device's status from a serial output to the computer and record the time and task to a file for display. The second piece of software was written to display the daily task breakdown.
Clever trick with the lights and encoder disk!