Project: [UNDERGLOW]

Kristóf Tóth

Backend Engineer
Embedded Systems Developer

Project idea

This is a hobby project of mine, that also grew itself into my bachelor's thesis. The basic idea is controlling LED devices using a microcontroller, and connecting to them using a mobile application. Everything is built from the ground up, and when i say everything, i mean everything. I made the firmware for the microcontrollers, designed and created the logic behind the whole system, planned out the phone UI and made it into reality. So what can be so complicated in controlling LED devices? Let me show you!

The microcontroller side

This can be considered the "backend" of the whole system. I connect multiple microcontrollers using wires, they communicate with eachother, synchronize time, and do internal activities, like manage message routing, message validation, etc. One of the microcontrollers is the server, you can connect it using the phone application. The LED controllers can then be reached via network requests via bluetooth.

The phone application

The phone application consists of a really simple UI. I've learned after countless hours of practice, that I'm just not suited for designing user interfaces in an efficient manner, but i pushed through, and had gotten to a result, that I'm mostly happy with. This UI allows the users to use all the features of the LED controllers. All the effects are available, you can create and manage animation groups and sequences, turn LED devices on and off, set the brightness, etc. All of this is achieved using a modern looking and responsive UI.

Used technologies

This project mostly consists of c++, all of the actual firmware for the microcontrollers is written in it. For the UI I use flutter, and the dart programming language. The reason I chose Flutter is for it's multiplatform capabilities, because I wanted the application to work on iOS and android at the same time. The other option would've been react native, but i decided to try flutter instead. For the actual backend of the phone application I use Firebase, which is a BaaS platform.

Of course, there is more...

I can't go into all the details, without making this page super long, and honestly, quite boring, but i have immense amount of work in this project, in total, I've worked more than 2 years on it, and I'm proud of the journey, and happy for the learning experience this project presented to me. It is still an ongoing process, I always have more and more ideas to put into the system.
Partner With Kristóf
View Services

More Projects by Kristóf