Learning "topic" or competitive learning

@Scruffynerf and @zranger1 in 2d rainbow patterns? kind of came up with what I think could be a really fun and instructive way to learn PB and bring in more people.

What if we had like a weekly “topic” , “assignment”, “challenge”. Something that would start out very easy and perhaps advance or maybe have different levels. Then say on Sunday the assignment would be released. For example make a rainbow. Anyone that wanted to participate would have all week and then on Saturday would post their solution. It would be cool if people participating would post maybe during the week on problems or things they were getting stuck on… but no just giving the solution until Saturday. I am just spit-balling an idea discussion here.

What do people thing of the general idea? Any thoughts on making it better? If you like it give credit to the thread I mention above and @Scruffynerf and @zranger1


I like this idea. We have a lot of people who feel overwhelmed by code and need to start somewhere, and in an environment where they can feel like they aren’t alone.

We have some folks who certainly would be happy to help for sure, so the question is Do we have people who want to take on this challenge approach?

Only requirements will be willingness, a PB and some LEDs (we can start small, with a single strand of LEDs, but I think a small 8x8 matrix like @wizard sells is probably the best to have everyone on the same page.)

1 Like

I really like this idea and would participate. I like how you in the other thread gave hints.
The object as I see it is to help people learn but not stump them. It would also be cool to see the different solutions people came up with. I’m not saying there couldn’t be an expert level challenge where you might do something like a contest to write the most efficient way to simulate a bouncing ball and the winner is whoever gets the highest FPS… or something… just ideas…

Requirements could be PB V2 or higher, one meter 60/led strip of leds and maybe also one 8x8 matrix like Wizzard sells. Though with some of the extra tools that people like @zranger1 came up with the only real requirement might be a PB V2+

1 Like

There is plenty of stuff in PB code to learn, so we could cycle through some of those parts as a start, so everyone learns how the pieces work. Heck, there are new pieces like the array functions that all of us need to learn.

Adding an expansion board (for sound and motion) would be phase 2, unless we have everyone involved with one to start with.

1 Like

YES! Now I’m really excited. This needs to happen :slight_smile: Please?! :slight_smile:
I think the key is to keep it doable in a smallish amount of time since otherwise people might shy away due to time constraints.

1 Like

Yeah, small reasonable tasks, with a short but not too short window. A week seems good, and would allow doing on your own schedule.

@wizard, maybe a devoted section of the forum?
And maybe this would be of interest to all of those new PBv3 owners, so if we shoot for a Feb launch when they get their new PBs… I wonder if Ben could send out an email (and/or post a website) notice, we’re going to do this, new folks would who don’t visit the forum often or haven’t might check it out.

As I said, mostly this is a matter of having folks interested in learning this way.

1 Like

I want to “second” everything @Scruffynerf said. To add to the forum idea. It would be cool if people who came late to the “show” of the wild world of PB could still go thru them and learn… ie keep the questions/assignments/contest separated somehow from the answers/solutions.

1 Like

Yeah that was my thought, we can post each “task”, have discussions on that topic that avoid showing solutions, and then “answers” and more discussion for the task as a second topic. So if you “came late”, you could participate after the fact and not feel it was spoiled by “seeing the answer” too early.


we could even post an announcement around the net to get some extra attention on PB for people that don’t know that it exists yet… like maybe reddit.com/r/led for example.


I was already planning a LED pattern tutorial series that would use the PB, so this works well for me, and breaks it to small bite size pieces. I’ll still be doing that series of posts, in a more noninteractive format, but it’ll certainly help me to see what concepts people get stuck on, etc.


I love it! Let me know how I can help. Need a new category on the forum?

Yeah, unsure of a good name right this minute…
Something that encourages new folks to check it out. We can add a pinned post to the top… And likely number the posts so Task #1, Answers #1.

I’d encourage folks to post their answers, even if many are similar, because sometimes seeing the way someone else coded the same thing can be useful to see variations, shortcuts, bugs, etc.

1 Like

Brainstorming names:

Learn to program the PB
Weekly Study Group
Learning to Blaze
Weekly Tutorial
Pixelblaze Academy
PB Potion Pattern Laboratory

Ideas for some weeks of tasks:

PB Mapping: Index vs Map (this will discuss the difference and have people write an effect that works both ways, with and without a map)

Sine, Cosine, and time waves

Tab and arctan

Polar vs Cartesian (exploring why each has benefits for patterns)

Arrays, what’s new?

Life, Arrays and everything

Hue, saturation and value

Functional functions

Sliders and exposed variables

Tick Tock, Write a Clock

Could have a separate group for people to toss in topic ideas/suggestions… or maybe do it via github and people can add it via that. Though I would think since we are trying to appeal to non-programmers we might not want to go the github way… just random mental musings on my part.

I like

Weekly PB Study Group
Weekly PB coding challenge
Weekly PB challenge
Learning to Blaze
Society of PB enthusiasts
Blazing in style
Pixelblaze Academy
PB for beginners
License to Blaze :slight_smile:


Not sure we need a separate group, just a sticky post for topic ideas.

And while encouraging github use is a good thing (especially once the next revision of how PB tracks patterns happens, it’ll be github-y), I wouldn’t want to scare off the folks most likely to benefit here. Minimal requirements (hardware and skill set) to start with, and we grow it over the months. To start with, posting a short pattern for task X into a thread devoted to solutions for task X would be most user friendly and allow people to easily see what their peers are doing, compare and contrast, etc.

There are always many ways to do the same pattern, so sharing “Here’s how I solved this” is the goal, not “save your work at GitHub, for posterity to see your mistakes/growth”

1 Like

I’ve created a subcategory under Patterns and Code. Feel free to suggest edits to the category welcome message:


I’m very interested in participating!