Something that has gotten popular recently is Phil Burgess' digital sand demo. It's been riffed on a few times now, and since I have been playing around with the Dotstar Featherwing, I thought I'd have a go at it as well.
I really wanted to do this in CircuitPython, partly as a learning exercise since I'm still fairly new to (Circuit)Python, and partly to see how far it could be pushed on a rather constrained environment like the SAMD21G18.
The code is a fairly literal port of Phil's code as listed in the Ruiz Brothers' Animated LED Sand learning guide. I did have to make some changes, and do some optimization to get it all to fit and to run at a reasonable speed. I'm pretty happy with how it turned out. I'll go over those optimization on the code page.
See the GIF below to see a short demo - its slower than C code, maybe better-called LED Snow than sand?
Text editor powered by tinymce.