What it does
Our project implements a Telegram bot that controls a 3-in-1 hardware system on chip that infuses convenience and simplicity, making it fun and easy to keep your life organised.
The Telegram bot consists of 3 features
- A Module Timetable Reminder System,
- A Healthy Living Encouragement Tool, and
- A Task Prioritization Organiser.
Timetable Reminder System
Users can add modules to the system by inputting the module code and class number of their selected module into the Telegram bot.
Our system will query the NUS Mods API to get timing information about each module and class code entered.
Based on the information from the API endpoint, we can obtain the timings and days where the lessons will take place.
Then, our ESP8266 will keep track of the time and remind people about their lessons when their lessons are about to start by flashing the LED lights repeatedly in red about 5 minutes before a lesson start. No reason to go to class late anymore!
Healthy Living Encouragement Tool
Sitting around too long is bad for your health. That's why our Healthy Living Encouragement Tool surprises you with random reminders to do things that are beneficial to your health.
Just input the number of reminders you want the bot to have, as well as the time range you want to be reminded. Our bot will take care of the rest by repeatedly flashing a strip of green (exercise) or cyan (drink water) LEDs.
Task Prioritization Organiser
Are you always unsure about how many tasks you have to complete at any given moment? Want to have fun but afraid of missing an important deadline? No problem! Our Task Prioritization Organiser makes it super simple to keep track of how many tasks you have, as well as how important each of those tasks are.
We denote each task using a single LED bulb. Low priority tasks are shown in cyan, medium ones are in orange and each high priority task lights up a red bulb. Bulbs are updated in real time, as tasks are added or marked as completed.
The LED Strip is a simple way to visualise the tasks you have remaining on hand. With the LEDs on, it is nagging at the user to complete their tasks.
We challenged ourselves to keep to as low of a budget as possible while still coming up with something that people would feel is useful. Something that we felt would fit this criteria would be a minimalistic system for self-organisation. In totum, the LED strip and the ESP8266 cost around a mere $15. Additionally, we had the aim of creating this as a standalone system that is easily reproducible. With some simple set up, the integrated hardware and software can be shipped together as single package to users who have little to no prior programming experience.
How we built it
To build our bot, we used the ESP8266, as well as a strip of LED lights.
The Arduino IDE and C++ are used to write the core software for this project. We rely mainly on the following libraries:
- CTBot: Telegram bot to handle communcation between ESP8266 and user.
- FastLED: offers control to the connected LED strip from the ESP8266 board.
Source file located in
Challenges we ran into
- Limited memory on the SoC
- Limited processing power
- Untimely response from the telegram bot
- HTTP requests using C++ and parsing JSON response were a pain in the ass...
Accomplishments that we're proud of
This entire project!
What we learned
We tend to take our hardware for granted, not knowing the painstaking efforts put into designing programmes on each SoC / component.
What's next for Hackuna Matata