The idea came to life when I discovered that the Addressable RGB (ARGB) PC fans require an external adapt in order to support full LED control. I did not want to pay extra just to have customisable lights, but I would also want my system to look a certain way. So, I decided that I would hack them and control them via a microcontroller (MCU). Write and flashing code each time when I want to change colour would be ridiculous, so I made a mobile app to control the MCU as well.
The app is written in React Native and the RESTful API requests are handled by Axios. A custom colour picker is made for users to choose their own accents for the animations. Each colour is saved in the colour library for future use. Animations are precoded and available for selection in the app.
Pyxelite Mobile App GitHub | Mobile App
There are currently 4 supported animations in the app and the MCU, they are:
- Static (default)
- Breathe - gradually glow and dim
- Wave - movement with wave formation
- Travel - moving along the strip of LEDs
Animation speed and brightness can be configured to the user's liking, the scale is from 0 to 255, for both speed and brightness.
Colours can be created using the colour creation tool and saved to a locally maintained colour library, where colours can be selected and sent to the MCU.
An ESP32 is used as the controller and web server. It is directly connected to the PC fans via its built-in IO port. It also hosts the web server that the phone app connects to. RESTful APIs are used to control the colour, speed, and animation of the LEDs inside the computer fans
Pyxelite MCU Github | Micro Controller Unit
Currently, only one colour is support for the entire system. Upcoming versions of the project is to allow different colours and configurations for every single ARGB device connected.