task management visualizer

It’s a device that could help and motivate you to finish your tasks and also work as a nice decorative material for your bleak walls – complete all your tasks for today and find out what constellation you got at the end!

Introduction to Physical Computing | Carnegie Mellon University | Author: Claire Koh

Final Model Showing Big Dipper. Notice the LCD screen showing ‘BIG DIPPER’ and the LED indicating that you have seven tasks is on. (From left to right each LED represents 4, 5, 6, 7, 8, 9, 10 tasks-to-do respectively) The final device is battery-run.

finished product

Device showing another constellation (Leo)

IR Remote sticking from the bottom (Works best when there’s nothing blocking it so I took it out of the casing)

IR remote with a new casing

 

process

What each button indicates

Initial Ideation

After some consideration, I came up with an idea to make something that would help me keep track of my tasks – but also something that would motivate me to do so. And since it had to be placed somewhere noticeable in my room, I wanted it to be aesthetically pleasing and work as a decorative material too. At the end, I came up with task-tracker that uses constellations to visualize for your processes.

I wanted it to have an element of surprise with what constellation I would get at the end, which would require me to input a variety of constellations with a different number of stars. All these constellations have different positions for stars and I thought it would be appropriate to use an addressable LED strip instead of individual LEDs. Working with the LED strip was pretty easy since there were a lot of tutorials for how to program it. For this specific project I used the WS2811 addressable LED strip and the FastLED library.

I began prototyping by testing how I could input the fact that I have finished off a task and how that could translate to an LED being lit up. For this I used a bush button and a state-change code to light up the LED every time I pressed the button as shown in the video below.

I began prototyping by testing how I could input the fact that I have finished off a task and how that could translate to an LED being lit up. For this I used a bush button and a state-change code to light up the LED every time I pressed the button as shown in the video below.

However I thought it would be somewhat inconvenient for me to get up every time I finish a task to go find the device (that’s hanging on the wall on the opposite side of the room) and press the button, I thought it would be better if I could control it remotely. So I began looking into how to use the IR remote and receiver and the IRremote library. The library translates the signal received from the remote to a certain code and also includes a function that allows you to command what action would happen when you press a certain button on the remote. At first it wasn’t working. I wasn’t able to figure out if there was a problem in the remote, the receiver, or the library – but it worked fine after I switched to another Arduino board. The video below shows me turning the LED on and off using the IR remote.

After figuring out how to work the individual components – it was time to write the code! I made arrays for seven groups of three constellations (that have 4, 5, 6, 7, 8, 9, 10 stars) and wrote the code to store each star’s location on a 10 x 10 matrix of LED lights. And then I wrote the code to turn one star (LED) at a time using the up/down button on the remote as well as the one to turn off all the lights and reset the device using the IR remote.

After the electronics came the mechanics. I laser-cut some wood to make a casing and also a board to hold the LEDs. Each of these holes are a bit offset so that the constellations would appear more organic. I made some holes on the bottom to hold the LCD panel and the green LED lights that indicate how many tasks you have at the moment. (from left to right: 4, 5, 6, 7, 8, 9, 10) Then I put the diffusing material on top to cover up the LED’s (ended up putting two layers), connected the Arduino to a battery, placed everything in the bottom space and covered it up with another piece of wooden board.

Fitting in the LED strip into the laser-cut parts.

Putting the diffusing material on top

Space on the bottom where all the electronics will go into

At the beginning and every time you press the reset button the LCD panel will say: HOW MANY TASKS DO YOU HAVE?

Discussion

I am pretty satisfied with the outcome of this project even though the initial concept may have lacked practicality. I was able to solve all the problems I faced and make it work exactly how I wanted it. However there were some points that were brought up during crit which I completely agree with: the diffusing material is white which is not what the night sky looks like exactly, and sometimes it is hard to even remember to turn on the light every time you finish the task. And you may want to keep up with your tasks NOT exactly because it is motivational, but because it is fun to play with (which is the reason why it would work so great with kids). I also enjoyed learning to control the LED strip and IR remote for the first time during this project. I think both of them are going to be useful tools in the future electronics project. Making the casing was also fun and I am glad that it turned out nicely at the end despite the lack of proper tools and materials (wood glue, wood finish, black fabric that I intended to use as a diffusing material at first).

There was one thing that bothered me and that is how long the code was. After completing I tried tweaking it to make it shorter but it just didn’t work the same way I wanted it to. It might be because I do not have sufficient knowledge about it. I think this a skill though that I can develop over time as I familiarize myself with coding.

As a next iteration, I was thinking about adding the IoT component to it to automate the task-tracking component and make it easier too. With the Particle Board and IFTTT I think it would be possible to link it to either your reminder app or the calendar app on your phone to update the number of tasks and keep track of them automatically even when you’re far away from the device.

schematics