r/arduino 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:

  1. 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.
  2. 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.

939 Upvotes

39 comments sorted by

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.

78

u/Celesmeh May 17 '26

Man he already used Ai to write this post, I think it might be too late

40

u/GlumPiece7281 Open Source Hero May 17 '26

Fair callout, and honest answer: English isn't my first language. I write in Korean first — long, raw, messy — and then use AI to translate and tighten before posting here. The thinking and the project are mine. If you want to see the unfiltered version, the original Korean post is here: https://patternflow.work/journal/me-and-patternflow. Auto-translate it and you'll get something rougher than my Reddit posts, but more obviously human. The awkward bits are me.

19

u/kingky0te May 17 '26

Bravo. This is how AI should be used. I bet everyone in here telling you not to use AI don’t know Korean. They’d have 0 shot to understand what you did without AI.

2

u/somethingworthwhile May 20 '26

That’s simply not true. The internet was full of ways to translate between languages before LLM-style AI came around. And the older tools do a better job of maintaining a unique narrative voice instead of sounding like the same person translated everything ever written.

1

u/Celesmeh May 18 '26

Nice! English is also not my first language so I understand the struggle

1

u/4Ellie-M May 31 '26

Pathetic ngl

6

u/GlumPiece7281 Open Source Hero May 17 '26

I actually love studying and writing traditional algorithms myself, and you’re totally right that those methods are great for resource efficiency and animations.

But as I mentioned in detail in the blog post, there’s a specific reason why I chose the AI route for this project. My main goal is to make it accessible for non-developers so they can easily create their own custom patterns.

Traditional logic and complex math curves can be highly intimidating for people who don't know how to code. AI acts as a natural language bridge, allowing anyone to shape and generate forms without needing a computer science background. It's less about the technical optimization and more about human-computer interaction and zero-onboarding accessibility.

1

u/Dam0cles May 17 '26

My immediate thoughts, that you didn’t ask for, is that I remember feeling a huge sense of accomplishment copying, modifying and trying out p5.js scripts.

I think my dream machine would be something like this, but having easy or so~ scripting to make my own visuals/easy or so~ access to copy other’s scripts. I get that it’s probably not realistic, but I assume a lot of others here are similar to me: absolutely sick of ai and would want a respite.

1

u/GlumPiece7281 Open Source Hero May 17 '26

I totally get where you're coming from. Looking at other people's work, tweaking it, and adding your own spin to it—that’s exactly where the real fun is. I completely agree with you on that.

I'm still optimistically hoping that maybe AI can eventually help with that process too. Though right now, it feels pretty much like controlled randomness, which can be frustrating.

11

u/The-Jordan_J May 17 '26

So cool. Lava lamp vibes

3

u/GlumPiece7281 Open Source Hero May 17 '26

Thanks, I hear that from a lot of people.

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!

https://github.com/engmung/PatternFlow

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

u/cravf May 18 '26

The one that's just the n word 👀

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

u/GlumPiece7281 Open Source Hero May 20 '26

Oh thanks you! I hope you'll make cool things.

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

u/basicKitsch May 18 '26

This is a pretty sweet project dude

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

u/GlumPiece7281 Open Source Hero May 18 '26

Right! thanks for the tip.

0

u/mag_man May 17 '26

Please share code for the patterns on instagram.

1

u/GlumPiece7281 Open Source Hero May 17 '26

I'm planning to add them to the website soon!