Inspiration
I recently purchased a Tidbyt, which is a 32x64 programmable LED display. It works great, though you only have to customize what is being displayed through the app. This essentially means I'm the only one who can make changes to it, which greatly limits its potential. To allow others to contribute to the display, I created this program so that anyone with a GitHub account can submit an image or text to be displayed, all in real-time.
What it does
This program has a couple of parts to it. The first is the GitHub repository itself. Using a third-party program called Mergify, I set conditions for pull requests so that when those conditions are met, that PR is automatically merged into the main. In this case, those conditions limit users to only making image file changes (.png, .jpeg, and .jpg) and text file changes (.txt) within the Community_Upload folder. From there, the python file will constantly check for changes in the directory using GitHub's API. Once a change is detected, it will pull all of the image & text files from them directly, put them through the Starlark file and Pixlet renderer, and upload the resulting .webp file onto the physical display itself.
Challenges I ran into
Starlark is a programming language that I have never worked with, though its similarities to Python proved very helpful in my implementation process. Also never having worked with APIs, I was initially overwhelmed with the amount of information I needed to learn. However, with GitHub and Starlark's extensive documentation pages, I was able to quickly learn how to implement them.
Log in or sign up for Devpost to join the conversation.