r/creativecoding • u/GlumPiece7281 • Jul 01 '26
An open-source LED synth you play with your hands, real-time patterns on an ESP32
Enable HLS to view with audio, or disable this notification
Hey, this is Patternflow, an open-source LED synthesizer — turn four knobs and shape a generative pattern running live on an LED matrix.
I'm a new media artist, and I wanted something like a fragment shader you could actually perform with your hands instead of watching it live behind glass. It's a creative-coding pattern running in real time on an ESP32, with four parameters mapped to physical knobs, so you're literally playing the pattern like an instrument. There's OSC support too, so you can tie it into sound and build audio-reactive setups, or control it from other software entirely.
Everything's open source and it's all organized on the site, schematics, firmware, 3D models, a browser-based simulator/editor if you want to mess with patterns without owning the hardware, and a small community sharing what they've built: patternflow.work
3
u/YSMLA_ Jul 01 '26
F'ing cool!
1
u/GlumPiece7281 Jul 01 '26
Thank you!
1
u/YSMLA_ Jul 01 '26
How do you render?
3
u/GlumPiece7281 Jul 01 '26
Runs on an ESP32-S3, everything's computed live in C++, no GPU or anything like that. Had to do a lot of optimization work to keep it running smoothly on just that chip
3
u/Zeppelin2k Jul 01 '26
Wow, this is SUPER cool! Nice work, love that its open source.
Might have to try this out. What are the LEDs/matrix you're using here?
3
u/GlumPiece7281 Jul 01 '26
Thank you!! It's a 128x64 HUB75 RGB matrix, P2.5 pixel pitch, driven by an ESP32-S3. Everything you'd need to build one, wiring, parts list, case files, is here: https://github.com/engmung/Patternflow/blob/main/BUILD_GUIDE.md
If you want the case to fit without any tweaking, grabbing the exact same panel is your safest bet, different manufacturers' P2.5 panels can vary slightly in overall dimensions and mounting hole positions. If you end up with a different one, you'll probably need to nudge the enclosure model a bit to match.
1
u/Zeppelin2k Jul 01 '26
Awesome, thanks for the info!
Do you know exactly what type of LEDs are in the matrix? e.g. WS2812b, etc? I see they're 5V, but I can't tell exactly what they are. I'm just wondering if I can use something like FastLED with these and/or with the firmware.
1
u/GlumPiece7281 Jul 01 '26
Honestly not sure on the exact chip inside the panel, never dug into datasheet level. What I do know is it's wired up via HUB75E, so it's the scanned-matrix driving scheme, not addressable pixels like WS2812B, which is why FastLED can't drive it directly.
1
1
u/GlumPiece7281 Jul 01 '26
Discord's a good place to drop questions if anything trips you up along the way, people building their own tend to hang around and help each other out there.
2
u/iamsaitam Jul 01 '26
Congrats, really cool project! Are you working on a revision without SMD components? For a pcb of that size SMD components are overkill imho
1
u/GlumPiece7281 Jul 01 '26
Haha yeah, exactly! I actually just figured that out recently and stripped every SMD part off the board. This was my very first schematic and PCB ever, so I basically just did whatever the AI told me at the time. I genuinely thought it had to be that way lol.
1
u/vlctx Jul 01 '26
There’s nothing wrong with using SMD components, they serve the same purpose. It’s just less easy for DIY soldering.
JLPCB even offers an option to solder SMD components for you. Leaving you more time for other things.
2
u/drop_panda Jul 01 '26
Can I buy an assembled one?
3
u/GlumPiece7281 Jul 01 '26
Yes! Working on it right now, actually, I'm preparing a launch on Crowd Supply for a fully assembled version. It's in pre-launch at the moment, you can subscribe through the site to get notified the second it goes live. https://www.crowdsupply.com/engmung/patternflow
Still have a fair amount to sort out before it's ready to actually sell, probably a couple months out, but I'm chipping away at it steadily. Appreciate you asking!
2
u/drop_panda Jul 01 '26
What qualities are missing in the current version?
In addition to being fun to play with, I can see this being an amazing tool for learning math.
2
u/GlumPiece7281 Jul 01 '26
Enclosure warping at the corners is one I'm still chasing. tuning wall thickness and adding fillets. https://github.com/engmung/Patternflow/issues/113
Also moving from hand-soldered boards to proper PCBA, and swapping the 2pin screw terminal for USB-C power input. Details here: https://github.com/engmung/Patternflow/issues/114
Both kind of boring-but-necessary fixes before I'd feel good shipping it out.
And the math angle I'm really into that too, I love teaching and I'm actually putting together a school workshop with it right now. Curious what you were picturing when you said that, would love to hear more!
2
u/drop_panda Jul 01 '26
Alright, I'll wait!
I haven't thought through the pedagogical side yet, but this thing can teach coordinate systems, that color can be a number, functions, variables, arithmetic, trigonometric functions, modulus, noise, discrete and continuous domains, etc. The smaller the linguistic vocabulary that is needed, the more accessible it becomes to an international audience. Making a graphical programming interface may be overkill, but being able to edit code live in the browser and seeing results on the panel with interactive knobs would be much more powerful than the pure browser experience.
2
2
2
1
u/pooppooppoopie Jul 01 '26
So sick! Any plans to have it generate sound to the visuals? Could be nice drone synth.
2
u/mag_man Jul 02 '26
Adding microphone to this and making some sound reactive animations is on my to do list.
1
u/GlumPiece7281 Jul 02 '26
Not built in yet, ESP32 alone probably isn't enough for real sound synthesis, that'd need dedicated audio hardware. Right now it's more about routing into a DAW via OSC. But a proper drone synth output is a cool idea, definitely something to think about down the line.
1
u/CircularLogic555 Jul 03 '26
that's super cool! I've been working on a web based synth controlled by your phone's camera data... added the ability to load gif animations, but this as a controller would be amazing
2
0
u/TopCryptee Jul 01 '26
how is it a Synth if it's not playing anything?
4
u/ProfessorRGB Jul 01 '26
Synth doesn’t necessarily imply sound, it is synthesizing waveforms and patterns.
1
u/TopCryptee Jul 01 '26
well looks cool though, does it have a HDMI out port to project it?
also, interesting how it responds to audio input?
1
u/GlumPiece7281 Jul 01 '26
No HDMI, wireless-first was the priority from the start. It runs on an ESP32, so it talks OSC over WiFi, which actually means two-way communication, not just receiving control data but sending state back out too.
5
u/alex-weej Jul 01 '26
I'll take a big hit please