Loop Box

This project has two parts, combining my favorite elements of hardware and software.
Hardware is the actual Loop Box, the physical device with a Raspberry Pi (a tiny computer running Linux), a 320x240 LCD screen to display and loop through images. Right now it's still in prototype mode, and will likely change. I modeled the box in Blender and 3d printed and assembled the parts.
The part I'm really excited about is the software, and the ability for users to add their own clips and media in any format. The Pi screen expects frames raw RGB format, not jpeg or png. These files are larger since they're uncompressed, around 10kb per frame as RGB data vs 1kb JPG.
Storage is not an issue since the microsd card has 8-32GB capacity, plenty of room for thousands and thousands of RGB frames. The biggest bottleneck was the conversion of files to RGB format happening on the Pi.
After some research, I came across FFMPEG WASM Modules. WebAssembly is basically C code that can run in the browser, and it opens up a lot of possibilities. I could now run conversions in the users browser, even on an old iPhone, and it converts much faster!
All the Pi has to do is host the Loop application frontend, and receive and organize the frames from the browser. Pi Zero 2's have max 512mb ram, but browsers typically have 1-4GB ram to work with.
The app code is here, I'm still refining it but excited enough to list it as a top project here on my portfolio site as a working prototype.

Stay tuned for more updates!