LED Picture Frame
I recently completed Mark Rober's Creative Engineering course, which has you building three projects of your own design. For the second project, we were tasked with building something electrical in the theme of 'art'. I've wanted to play with an LED matrix for a while, so I thought I'd build an LED picture frame. The idea being that you could upload some low resolution picture and get a pretty good pixelated rendition of it in a 32x64 LED matrix.
I used this flexible LED matrix powered by an Arduino Mega, set in a cheap 8"x14" picture frame. I also used a 5V 5A power supply for the matrix, and then powered the Arduino separately with a 9V battery (mainly because I ran out of time to set it all up off a single supply).
To convert the picture to be readable by the RGBmatrixPanel library, I wrote a small node script to read each pixel and convert the whole thing into a uint16_t array. I subsequently upload the whole thing to the chip and read from PROGMEM, which gives me the option to potentially add a whole bunch of different pictures and cycle through them if I want.
I was pretty happy with the result, but felt it needed something extra. I bought these dual axis joysticks and decided to add a little Easter Egg: if you click the joystick it will switch from 'Picture' to 'Game' mode, and you can play a fully-functioning game of Snake.
LED Picture Frame + Snake