Our first-ever user experience survey

Hi everyone!

If you’re subscribed to our email list, you should have received an invitation to take a 12-question / 8-minute survey (if you’re not subscribed and want to receive infrequent newsletters, subscribe here).

Your answers will greatly inform what we improve next, from new controller boards and accessories to the next features for Pixelblaze.

Everyone who completes it will receive $5 off their next purchase in the ElectroMage shop, and one participant will receive $100 to use anywhere towards their next LED project.

To keep our survey reward fair, we’re sending out individually emailed invites to the survey. If you’d didn’t receive it via email and would like to, please send me a private message by clicking my username at the top of this message and clicking the “Message” button.

Thank you for your feedback!


Is it ok to have follow up discussion here?

Sure! The survey will give us statistical answers about the broad user group, but if you want to provide more detail here, we’d love to hear.

Thank you for doing this! It’s amusing to answer those questions and realize that there’s so many other pieces of the equation to projects that aren’t just the pixelblaze, and that this product has made the most fun part of any project way easier (programming patterns).

I always get so caught up in trying to build the hardware parts, that I usually have little energy left for the fun of programming something on it once it’s put together.


I’ve been using Pixeblazes for several years, have bought around ~30 of them, as well as a fair number of output expanders and sensor boards. I’ve used them in my home, in installation in my camp, and for wearables. I’ve given them to friends. I intend to keep working with them on an ongoing basis as much as I can. I recommend them to others.

What I like

  1. Ease of setup
  2. Ease of Programming
  3. Ability to scale from small to medium size projects
  4. The helpful and friendly community here

What I’d like to see

  1. I usually end up trying to push the number of pixels. I often work with ~2000 → ~5000. This inevitably means I need an output expander, and usually a sensor board. Linking all of these things together is pretty janky. It would be helpful if they were already integrated together on one board. I realize that in principle the output expander and the sensor board can be used without the PB, but does that really happen? I’m not sure what the most coherent request here would be. Maybe a pro expander with a PB built in, and the through holes that allow the optional connection to a sensor board.
  2. Integrate sensors onto the pico. It’s a cool form factor for wearables, but it’s hampered without sensor integration. I know you can solder on connections to a sensor board, but that defeats the whole purpose of the small form factor. Having a small form factor PB with onboard sound and direction sensing would help a lot.

I completed the survey, but on my phone and I think not as thoughtfully as I should have.

My number one ask, by far, is better documentation of already created Patterns so they’re more discoverable and useable.

This would include:

  1. Patterns need unique URLs in the public library, so that people can link to them. For example, if I want to tell someone on LEDs are Awesome “go use Pattern XYZ” I should be able to link to it
  2. Patterns need much better discoverability – keywords, tags, descriptions, etc. For example, It should be trivial to find all patterns submitted by a given author, or that use Sound reactivity, etc.
  3. The best “reference” patterns should be front and center and easy to find. For example, I am setting up 10 boards at once for Burning Man right now by building one “primary” board to clone and just found “Lissajous curve tracer” – it’s written by @wizard , it’s really well done, it has a lot of sample code blocks that be reused for other projects – but none of that is obvious at all. Heck, it’s not even clear that it’s a 2D pattern from the name, and in fact it doesn’t even work for 1D!
  4. A project to re-write older Patterns to use the current coding templates and style, and add more documentation. Some otherwise great patterns – Perlin Noise comes to mind – could really use a refresh.
  5. There should be some type of connection between the Forum and the Pattern Library to show / recognize creators of patterns who help move the community forward, including great documentation.
  6. Patterns should have the usage license extremely clear and consistent. (A checklist of Creative Commons or MIT licenses would work.)
  7. There should be a way to submit corrections / patch updates to Patterns. For example, if a pattern doesn’t have a graceful degrading from 2d only to 1d, adding that is a really simple block (below), and I’d like to submit that as a change to half a dozen popular patterns, or the Lissajous curve tracer has a random typo in a comment, saying “hueShuft amount” instead of “hueShift amount”

P.S. – the Hue Shift functions of Lissajous curve tracer is exactly what I was trying to do myself and incorporate into another pattern, and I’m so glad I stumbled on it tonight… I was close to asking for help here and it’s solved by using that pattern to template my code.

P.P.S. –

export function render(index) {
  render2D(index, index/pixelCount, 0)

P.P.P.S. – I’m adding a number of edits to this post for clarity and to add more examples and detail as I think this evening; after 11:59 PM PT July 7th or whenever I go to bed, I’ll make any further thought their own follow up comment.


I’m going to build out my Perlin Noise example as a user story (ok, I’m a nerd, but this is a safe place to be a nerd). @wizard :

I know that there’s a pattern called Perlin Noise; I’ve used it in the past, but don’t know if the version I have stored locally is correct. (Note: I’m using “I” because it’s a user story, but don’t take this too literally; it’s a royal “I”, except where I ask for help mid-way through the story)

I go to https://electromage.com/patterns to look for it.

There’s no native search option; I try a Google Search for “perlin noise pixelblaze - Google Search” but because there’s no good metadata or permalinks in the Pattern Library, no such luck; I see some forum posts, but not how to find the pattern. (Note: This dramatically hurts SEO and discoverability of PixelBlaze as a community – the pattern libraries, with well-documented code and keywords, should be a SEO dream resource).

I start clicking through pages of patterns, discover the “popular” sort button, and guess it’s the "
Perlin/Simplex Noise 2D" I want, and it’s just named differently in my local copy.

I find out, luckily, that it has licensing written directly into it as a comment, “That code was placed in the public domain by its original author, Stefan Gustavson. You may use it as you see fit, but attribution is appreciated.” and love that, but wish there was a sort or filter to JUST find patterns that are free to use in commercial applications. (Note: I was going to tag Stefan Gustavson here, but there’s 3 other Gustavson as usernames in this community, but not him).

I see that the pattern uses a FastLED style / old-school hard coding of the 2D pixel map –

// Setup constants
var width = 16 // Width (in pixels) of your matrix
var height = pixelCount / width
var pixels = array(width) // This will store the height vales of the Perlin noise field
for (i = 0; i < width; i++) pixels[i] = array(height) // Allocate 2D array

I get really confused, because I thought the whole advantage of PixelBlaze is that you both don’t need to hard-code values like this, and because my project is a wearable piece that doesn’t have even rows and columns. I either want to ask for help updating this pattern, because the way these values are incorporated are a bit messy and hard to parse out, or I want to submit a fix to this back to the community (think, “pull request”), but there’s not a clear way to do either. NOTE: This is a real problem I have right now; If someone reading this (@jeff or @wizard ) wants to help re-write this to more natively use the pixel mapping function, I’d really appreciate the assist – consider it my big “ask” in the midst of this wall of text); it also makes it so the pattern doesn’t work in 1D space.

I then want to change the way the sliders work in this pattern to incorporate the new Palette functionality. This seems straightforward, and I know I’ve seen a great forum post (it’s How to modify existing patterns to use Palette functions in v3.30 with @zranger1 having solved it btw; again, this is largely hypothetical except the part in bold above) about how to do this, but, in a circular problem, I don’t know how to find a relevant pattern with well documented Palette functionality, and I get stuck again. (Note: the fix would be keyword tagging in the Pattern library – for things like “Audio” “Licensing” “Accelerometer” “Palettes” etc, as well as “1D, 2D, 3D”, author, etc.

I go to check for documentation and sample code about the Palette functionality, and I search palettes pixelblaze - Google Search and there’s no documentation to be found, at all, and instead the first search result is Color palette support? which is a three year old post that indicates that it’s NOT possible to do, and has no follow up about the new release (NOTE: I just added a reply to get the documentation into that thread). There’s also no documentation that’s easy to find about the release. Again, as a new user, I get frustrated.

I could go on, but this is already a 650 word user story, and I should probably get on with my afternoon. I hope it was helpful, and I am very aware that I am just one user amongst many and you probably have competing priorities on your time.


I will second the whole pattern thing. I would love to have a whole ecosystem around them with ways to improve, riff, and index them better.

When thinking about the versions and such, it feels a lot like a gist or github repo per pattern to track changes and versions, allowing for folks to see the evolution of the code.


@wizard – one thing I’m realizing would be a directly revenue-generating ask for you: The 3D models for PixelBlaze enclosures floating around online and in this forum are all “okay not great” fits, and printing one-off 3D parts is outside what a lot of people can DIY for a simple project.

If you could sell a basic enclosure for both a v3 PB and a v3 with a Sensor Expansion Board attached (same X Y size, different Y size, plus a slot for the audio jack) at a <$10 price point, I think it’d sell very well.

My wish list for that part:

  1. ABS plastic or similar. White or transparent. SLA or SLS printed would probably be fine to test if it’ll sell.
  2. Screw holes with included small screws in the package to attach lid, that either screw into the plastic or are mated with a insertable nut.
  3. Holes in bottom corners to mount it with screws or zip ties to something.
  4. Pass throughs for the wires for the LEDs
  5. Knockout or hole for Micro USB.
  6. Knockout or hole for audio jack, for the version that is tall enough for the sensor expansion board on top.
  7. Bonus: some way to trigger the button through the case.

A few reference examples:
The best case I’ve used and loved – Adafruit Circuit Playground Express or Bluefruit Enclosure : ID 3915 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits but something way simpler is probably easier to make for this; Clear Enclosure for Arduino or Metro : ID 3597 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits shows the idea of customizing to the shape of the board; https://www.amazon.com/qBox-AFC-DIY-IOT-Enclosure/dp/B095F9WMSW is probably overkill in water resistance for this, but the right concept, and https://www.amazon.com/Fielect-Electronic-Enclosure-Waterproof-158x90x64mm/dp/B07ZM29L8C would need holes for cable management, but is as simple as something can be.

P.S. – if anyone has a great 3d print enclosure they have and love for the v3 PB, please let me know; I’ve tried Printables and it’s not quite right.

Edit: Just saw this enclosure for a different product and love the design of it: Overview | Case for Feather RP2040 DVI | Adafruit Learning System

1 Like

I’m late to the party but another vote for some kind of case and/or screw holes in order to mount the PB to stuff. I’ve been using hot glue to attach it to mostly wood surfaces but it’s not a great solution.

I saw the post about using Legos and tbh, that’s pretty awesome but I don’t have legos and just isn’t ideal for me. The software side I’ll leave suggestions for those of you who are far smarter than me but case and screw holes please.


@ZacharyRD thanks so much for this list. I’m going to begin designing something that we can offer in the Electromage shop. I’ll probably start with a non-waterproof one that’s good for a V3 standard and sensor board, then work up toward IP67.