Particle system: a new library for use mainly with an LED matrix

I had an idea of using an 8x8 RGB LED matrix to create a self-contained device that generates an ever changing, dreamy, fluid animation - kind of like an electronic lava lamp.

After trying some other approaches, I eventually implemented a particle system library that includes:

  • a generic particle system class that manages everything
  • a generic renderer to render the particles onto the LED matrix
  • several classes of particles and emitters with various behaviors.

An effort was made to make the code efficient in terms of calculations and memory, in order to maximize the number of particles that can be used in parallel (I got to a little over a 100).

Using a diffuser screen and with the right motion speed, the pixels disappear and the resulting animations look pretty smooth.

The source code is available on github, where you can also find more info and some usage examples: GitHub - giladaya/arduino-particle-sys: A particle system library for arduino

Enjoy!

Crossposting is not good :slight_smile: - but links to the videos in the exhibition forum would be a new post and OK.
It looks very cool. It seems more complex than just 8x8. Now you "only" need some similar "random" music. 8)

The code ... only glanced at it. Needs more reading. I'll keep it in mind if I want to do some blinky-blinky stuff. Thanks for sharing!

Results look very impressive. I have a rainbow here somewhere and will load it up and have a look.

Is it possible to use the library in a one dimensional array ?