Inspiration

As someone with ADHD, I often find myself getting distracted by my phone. Even when I want to do something as simple as just check a to-do list, I find myself wasting hours of my time. For this year's theme, I wanted to create something that will help you organize yourself without needing to be distracted by technology. Thus, I had the idea of a light-weight internet-connected device that you can load a to-do list onto and bring it with you wherever you go.

What it does

The concept is fairly simple. As the user, you'll log what tasks you need to complete and they are stored in a MongoDB database. Then, using the MQTT protocol, the handheld device can receive updates from this database. Users can cycle through their list of tasks, as well as mark them complete; all without any distracting apps or notifications.

How we built it

For the display, I used a standard 16x2 LCD character screen. The device program is running on a Raspberry Pi Pico W, written in MicroPython.

Challenges we ran into

The biggest challenge I had during this competition was programming the LCD screen. The screen is driven by a HD44780 chip, which I was able to find a nice datasheet and write-up for; however, I quickly discovered that the Pico W does not have any standard libraries for the LCD, and the libraries I did find were too outdated and poorly documented. Thankfully, using the datasheet and a few tutorials, I was able to write up a python program that can write to any character location arbitrarily. Additionally, I was able to add some quality-of-life features, including text scroll for longer task names.

I also ran into the issue of web development. I wanted to create a front-end for the MongoDB, but unfortunately, I have never programmed in front-end and in the end I ran out of time to do so. Thankfully, I am able to write to the MongoDB database directly, so I can work around this setback for demonstration.

Accomplishments that we're proud of

I am really proud that I was able to reverse engineer how the LCD is programmed; it wasn't very well documented. I think that I actually managed to create a really nice LCD interface.

I am also proud of myself for overcoming many of the roadblocks I encountered. Often I would find myself stuck on a problem for multiple hours, but I would keep trying and find a way around it.

What we learned

I learned a lot about how LCD modules operate. While they aren't the most useful component out there, what I learned could apply to other components in the future. I also got a lot of experience today with problem-solving, as there were a lot of times where I had to switch to a plan B (or C, or D...).

What's next for LightTask

There are a few ideas I considered for this device. Something I think would be really useful is an Android app that links with the device. This would be useful for pushing notifications to the device that the user deems important, just in case. Additionally, due to the time constraints and component limitations, the device is not as small and light-weight as I hoped. For a production model, based on the electronics I used, I think that the whole thing could fit in a device half the size of an iPhone.

Built With

Share this project:

Updates