Haskell-to-C compiler for Arduino, and software simulator in Haskell. Lets you write your own light displays as relatively simple Haskell data structures, without having to e.g. know anything about monads.
You'll want to add your own patterns in
src/Patterns.hs. Reading the types in
src/Types.hs is a good start, or you can just copy from the example patterns in
make run will run the software simulator. If your terminal supports color output via escape sequences, you should be able to see the lights in approximately the same color as they'd appear on actual hardware.
To switch from simulation to running on actual hardware, you'll need an Arduino device.
make setup on a mac installs the Arduino CLI, finds the connected board, and connects. Swap which line is commented out in
main, and then
make run to run the compiler.
To see the actual C code which was generated by the compiler, look at