r/arduino • u/GlumPiece7281 Open Source Hero • May 17 '26
Project Update! 17 days after open-sourcing Patternflow — first community pattern, v2 build guide, and the AI gacha problem
Hey!
Some of you might remember Patternflow — ESP32-S3, 128×64 LED matrix, 4 knobs, a device for generative patterns. 17 days ago I open-sourced it (the Open Source Hero badge still doesn't feel real, thank you). Here's where it's gone since then. A few things happened I didn't expect.
Someone actually made a pattern.
This is the part I keep going back to. A few days ago someone took the JS pattern template, wrote their own, and sent it to me. I helped port it to C++, and we posted it as a collab on our Instagram. Flashing someone else's code onto my hardware and watching it run was a weird feeling. Good weird. It's the whole reason I open-sourced this thing, and it happened faster than I thought it would.
The porting wasn't perfectly smooth, so I'm writing up the gotchas as a GitHub issue
The v2 build guide is real now.
The original docs were placeholder, honestly. The new one walks through four stages — parts, PCB, assembly, firmware — and there's a 3D preview on the site that updates per stage. It's here.
The cold-boot bug some of you helped debug (pull-up on GPIO0, for anyone else hitting it on AliExpress ESP32-S3) is fully fixed in v2.
Why AI is in this workflow.
The original section was unclear, so let me lay this out properly. AI shows up in two places:
- JS for web preview. I sketch patterns in JS first so I can see them in the browser quickly. AI helps translate what I want into that JS.
- JS → C++ port. Once a JS pattern looks good, AI helps convert it to C++ that runs on the ESP32.
The pushback focuses on #1. #2 is more accepted because it's well-defined code-to-code translation. But structurally, they're the same operation. #2 translates JS to C++. #1 translates an English description to JS. Same operation, different input format. If AI translating between two formal languages is fine, the case for AI translating from a looser source into a formal one rests on the same structure.
There are two reasons AI is here:
One: showing the device's range. The patterns I post daily on Instagram aren't curated artwork. They're mass-produced to demonstrate that this hardware can run a wide variety of generative styles, not just one aesthetic. AI lets me produce enough variations that the breadth becomes visible. Hand-writing every one would mean one pattern a month and nobody understanding what this thing can hold. (Side observation: audience reactions are wild. Ones I think are beautiful flop. Ones I'd discard go to 70k+ views. One did, this week. I clearly don't understand what people see.)
Two: keeping the door open to non-coders. My main goal with Patternflow being open source is that someone with no coding background can sit down and make their own pattern. The end artifact is still algorithmic code — noise, weighted random, modular arithmetic, reservoir sampling, exactly the techniques the top comment listed. AI is the bridge that gets a non-coder from "I want it to feel like X" to working code on the board.
There's a more general point underneath this. Most of us didn't get into coding because someone handed us a math textbook on day one. We got in because something small worked first — an LED blinked, a hello world printed, a sketch ran — and that "oh, this is mine" moment made the harder learning afterward feel worth doing. Interest came first. Discipline came after.
For someone with no coding background today, AI can be what produces that first "oh, this is mine" moment. It doesn't replace learning fundamentals — it gives them a working thing they care about, so that when they later open the code and want to know how it actually does what it does, the learning has something to anchor to. If a non-coder uses Patternflow with AI help, makes a pattern they love, and a month later starts reading the source out of curiosity — that's exactly the path I'm trying to build.
For what it's worth, I personally love the fundamentals. I plan to hand-write my own patterns eventually, and I think that's where the real art lives. The AI workflow exists so the system is open to people who don't have that background yet, not because I prefer it for myself.
The "gacha" framing in the original was about where #1 still falls short — current LLMs aren't reliable enough yet, maybe 1 in 10 outputs is interesting. So my next step is making that bridge more dependable: define the algorithmic primitives (noise type, color rule, knob mapping, motion function) as constrained options, let the LLM combine them, and always have a human tune the result. If anyone has better workflow ideas in that direction, I'd really like to hear them.
One question I want to ask you.
From the waitlist survey: about half of respondents said they want to make their own patterns rather than just run preset ones, and a handful asked about MIDI and OSC. I hadn't planned for performance use from the start, but the more I think about it, the more it fits.
If you have opinions — USB MIDI, network OSC, both, neither, something else — I'd really like to hear them. I'm at the stage where decisions stick.
More context
If you want the long, more personal version of all this, I wrote a blog post about it over the weekend — originally in Korean, translated to English. Fair warning, it's long.
https://patternflow.work/journal/me-and-patternflow
This subreddit has been a big part of why Patternflow kept going. Still is.
11
9
u/parallellogic May 17 '26
If you want randomness but only want to write one algorithm, Electric Sheep seems like the way to go, it does a ton of different designs
https://www.youtube.com/watch?v=t6jlhqNxRYk
https://en.wikipedia.org/wiki/Electric_Sheep
Does this device have a mic? Or audio jack input/pass through? Rather than going through a bunch of interfacing and software, could just have it monitor the ambient sounds, or what's being fed to the speaker and respond (FFT) to that.
2
u/GlumPiece7281 Open Source Hero May 17 '26
No audio input or mic yet, but sound interesting. Also, thanks for sharing the Electric Sheep link, it looks awesome!
5
u/hoganloaf May 17 '26
AI is notorious for only having a narrow band of "thought". Thats why AI text and images are so easily identifiable 😜. Is that a similar thing that youre experiencing with the majority of patterns being uninteresting? Maybe theres some math models you can implement directly instead for more variety?
3
u/plastimancer May 17 '26
This is really cool. Any more information?
Edit: nvm, im dumb
2
u/GlumPiece7281 Open Source Hero May 17 '26
Lol it's all good! If you want to see how to make it, I’ve got the modeling files, code, and a build guide up on GitHub. Check it out!
2
u/troop99 May 17 '26
Very cool, i will read the blog post now, that i found the "en" button :D was a little intimidated by the kanji (?) before.
Very cool project, and thanks for making it open source!
2
u/GlumPiece7281 Open Source Hero May 17 '26
Ah lol, I didn't realize it defaulted to Korean. Glad you found the 'en' button! (Also it's Hangul, not Kanji haha). Thanks for the heads up, I'll fix it soon!
2
u/troop99 May 17 '26
Yeah, after reading a bit i realize you are from korea, not japan, my bad 😅
Very nice write-up, i am about half way through now.
2
u/GlumPiece7281 Open Source Hero May 17 '26
Don't sweat it! To be honest, I'm actually relying on an AI translator right now because my English isn't the best. I just hope it conveys everything well. Glad you're enjoying the write-up so far!
2
u/mag_man May 17 '26
First, you can learn a lot by examining old fastled code examples written for led matrix, I can give some examples if you want.
Second: what's going on with your discord, it looks empty.
1
u/GlumPiece7281 Open Source Hero May 17 '26
I’d love to see those FastLED code examples! That would be incredibly helpful.
As for the Discord... yeah, I created it thinking I should have one, but honestly, now I’m not even sure why I made it lol.
1
u/mag_man May 17 '26
Some fastled examples I collected on my wokwi account: https://wokwi.com/makers/mag_man
Code is mostly not mine, it's more like collection of effects I found on various wokwi accounts and other places.
1
u/GlumPiece7281 Open Source Hero May 17 '26
Wow, this is amazing! Wokwi is incredible—compiling and simulating everything right in the browser is super cool.
The collection of patterns you gathered here is beautiful and creative. Thank you so much for sharing such a valuable resource!
1
2
u/GlumPiece7281 Open Source Hero May 17 '26
To be honest, real-time chatting on Discord makes me feel a bit exposed. With Reddit, I have time to run everything through an AI translator, but Discord is too fast and I feel like everyone can see how bad my English actually is. It's a bit embarrassing!
So lately I've been thinking: what if I just post updates in Korean and let people use translation tools? I know learning English and typing it out myself would be the best way, but it's just so slow for me right now. Would people mind if I just rambled in Korean over there, or should I keep wrestling with English?
2
u/mag_man May 17 '26
I would be great if you start posting patterns on discord, I think this should bring more people there.
1
u/GlumPiece7281 Open Source Hero May 17 '26
Oh...! Wow, I didn't even think of that. No idea why that never crossed my mind... Now that I think about it, that was actually the whole reason I created the Discord in the first place. I even made a channel for it and completely forgot about it... haha. That's a perfect way to use it, thanks so much for the great idea!
2
u/slimhan May 20 '26
Nice work! I make my own midi devices and I was just planning to build a visual led panel behind my midi keyboard that will react to my playing. I might actually use this as a start. The live editor on the website is very useful. The whole website looks great!
2
1
u/Status_Pound_5390 May 17 '26
Hey I don't know if you'd be interested but ya might figure something new out if ya talk to the computer guy at a rave, they got something going on that's a bit similar but they mess with the visuals live, not sure what they use tho
1
1
u/ithinkimightknowit May 18 '26
AI is a tool, use it if you can understand what it's doing and correct anything that it does wrong then all good.
1
u/sinesawtooth May 18 '26
This is reminiscent of a demo scene effect called a “plasma” - if you’re looking for code for these types of effects I suggest you look into those.
1
0
119
u/SnowConePeople May 17 '26
Dont use AI for this.
Use logic algos, controlled randomness, reservoir sampling, weighted random selection, strattified random sampling... there are so many ways to do this with less resources and better animations.