We wanted to make something a person could quickly look at and see some important data. Just like the UI's Video Games. We also wanted this to be a neat little package that the user could move.
What it does
The device functions on a set of screens that alternate to show different data. Majority of the the screens are scraping data like weather or news headlines off of the internet. One of the screens is the Twilow Screen and this is the one that allows the user to put any message they would like by just texting to the device.
How we built it
In terms of hardware, the device is just a ESP32 Microcontroller attached to a 2004 LCD using the I2C protocol. Status Bar is far more complex on the software side. Since the ESP32 has built in WiFi, we chose to leverage this and used HTTP GET requests to API's we found sufficient. ESP32 is a very simple computational device compared to something like a Raspberry Pi. This brought with it issues just controlling how much memory can be used and how advanced the API calls can be. To help with memory, we used the ArduinoJSON library that included the ability for filters so only the data we specified would be kept and the rest deleted. From here, we made a list of the planned functions and researched APIs that would allow us the get the data we wanted.
The Twillow functionality was the most intreating. There wasn't a definite set of calls we could make to the live texts as we wanted, so researched and eventually found a library and platform that allowed text functionality using the ESP32, we quickly learned it and implemented a potential solution.
We soon realized that multi core processing would be needed to both listen and display data. So we researched the parallelization options supported in Arduino and implemented our final program.
Challenges we ran into
Accomplishments that we're proud of
We are extremely proud of the Twillo integration as we were very uncertain if we would be able to implement it. We are also proud of the API data we can pull in. This was the first time anyone of us had used HTTP requests on a system as basic as ESP32, but we were able to make it work and create a device we are proud of.
What we learned
ESP32 Suite, ArduinoJSON, Embedded API calls, Twillo, Multi-core processing, and CAD design.
What's next for Status Bar
Adding more screens and making a better case and allow faster and more efficient functionality.