Nice. I also have a fondness for flip-dots. Started with Javascript controller for Hanover bus display (https://engineer.john-whittington.co.uk/2017/11/adventures-f...) and continued with the Alfa-Zeta modules following a commission to make the controller for a 256x56 one - 24 panels!
It's my project TODO list to make a FPGA based direct HDMI controller for the Alfa-Zeta modules since refresh rate of the on-board firmware leaves a little to be desired.
It started as a wired replacement for wireless communications by emulating an ANT+ USB stick; the host software thinks the packets are being sent wirelessly.
Then it become more of an exploration into how inertial trainers calculate input torque only from the known properties of the flywheel. In theory it could become an open firmware for any trainer, since the hardware is largely the same. I never really finished tuning the functions to estimate the power from the flywheel RPM.
I found KiBot configuration a bit overwhelming and with the addition of the ‘kicad-cli’ tool in KiCad 7 made a Makefile based runner: https://github.com/tuna-f1sh/kicad-makefile
It allows for a build that is closer to the vanilla KiCad GUI experience and can be built locally with the normal install using ‘make’ - something I wanted.
The project started as a quick replacement for a barely working macOS System Profiler to `lsusb` style script. Like most fun projects, it quickly experienced feature creep as I developed it into a cross-platform alternative `lsusb`.
As a developer of embedded devices, I use a USB list tool on a frequent basis and made cyme to cater to what I believe are the short comings of `lsusb`; verbose dump is too verbose, tree doesn't contain useful data on the whole, it barely works on non-Linux platforms and modern terminals support features that make glancing through the data easier; colour, icons. It also features more filtering options, that grepping the output would not facilitate.
Under the hood it uses 'libusb' and the macOS System Profiler CLI tool on macOS.
Does one _need_ a replacement for `lsusb`? No. It's akin to other modern CLI tools such as `lsd` and `fd` - both Rust projects I used as references developing `cyme`. I find it quicker to find attached devices and find whether a device I'm working on is enumerating how I expect than `lsusb` and perhaps others will too.
For that I used a Python module (https://github.com/tuna-f1sh/flipdot) and Python Flask/React based manager, with sequence info in a SQLlite db. Same outcome as your App with pre-loaded transitions and of course, Game of Life: https://engineer.john-whittington.co.uk/2020/04/game-of-life...
It's my project TODO list to make a FPGA based direct HDMI controller for the Alfa-Zeta modules since refresh rate of the on-board firmware leaves a little to be desired.