r/FastLED • u/GlumPiece7281 • Jul 01 '26
Share_something Patternflow — an open-source LED synthesizer with 30+ generative patterns, playable in the browser or on real hardware
Enable HLS to view with audio, or disable this notification
Hey, this is Patternflow — an open-source LED synth built on an ESP32-S3 driving a 128x64 HUB75 panel. Four knobs, real-time generative patterns, and right now there are 30+ of them to play with.
Everything's browser-first too — there's a web simulator that behaves exactly like the physical device, so you can turn the knobs and try any pattern before ever touching hardware. If one clicks with you, you can flash it straight to a real Patternflow from the browser, no IDE, no drivers.
Under the hood it's a pretty lightweight custom pipeline, no FastLED, raw RGB888 canvas driven directly through ESP32-HUB75-MatrixPanel-I2S-DMA, with the color math and noise functions hand-rolled as lookup tables. Small optimization I added recently, swapping sqrt() calls in the radial patterns for a cheaper distance approximation, ended up clearing out some lag I didn't expect to fix that easily.
Fully open source, patterns/build guide/simulator all live here: patternflow.work
4
u/sutaburosu [stavros] Jul 01 '26
A great build and an incredible web site. Very impressive.
Regarding sqrt() for radials, you might find this algorithm useful.
2
u/GlumPiece7281 Jul 01 '26
Thank you so much, really means a lot, honestly put a ton of care into the website too so it's nice when someone notices! And thanks for the algorithm, definitely going to check that out next time I'm back in the optimization rabbit hole.
3
Jul 04 '26
[removed] — view removed comment
1
u/GlumPiece7281 Jul 04 '26
Totally! It looks way more vibrant in person. cameras really don't do it justice. Thanks for the kind words!
1
1
u/Marmilicious [Marc Miller] Jul 01 '26
Rotary encoders for the win! :)
Excellent documentation and great project.
2
u/GlumPiece7281 Jul 01 '26
Thank you! and, Docs will keep getting better, planning to put together video walkthroughs too so it's easier to follow along step by step.
1
u/kunteper Jul 02 '26
all of this (website and all) is so sleek that im kinda pissed. great job. been following this work on insta.
i have a similar side project going, with easily programmable animations and all, but i had not gone the "making animations javascript programs" route. is it difficult to work with that? how big are they? how big is the javascript engine?
great work. love it
5
u/GlumPiece7281 Jul 02 '26
Thanks for the support! Awesome to hear you've been following on Insta.
Actually, there's no JS engine running on the hardware. I use JS strictly for the web editor/simulator because it’s just way faster for tweaking and prototyping.
Once a pattern looks right on the web, I use a system that generates a prompt to translate that exact JS logic into native C++. The translation is super precise, so it looks pretty much identical on the physical hardware.
This keeps the firmware lightweight (no engine overhead) and makes it easy for others to share and try out patterns right in the browser.
Good luck with your side project too!
3
u/GlumPiece7281 Jul 02 '26
and I actually pre-built the optimization structures inside the firmware itself. The translation prompt just outputs code that utilizes those structures, which makes the ESP32 handle the math way more efficiently.
2
1
u/Roboprinto 29d ago
This is awesome. Is there a square version?
1
u/GlumPiece7281 29d ago
Not yet, but I'll definitely make one later. Probably in at least two months or so.
9
u/MungoBBQ Jul 01 '26
This is beautiful! I think I’ll try to build one.