Onboarding 40 n00bs at once (including me)

Friends, I teach a university course with CircuitPython, but this year we’ve also purchased 40 PixelBlaze boards for the class. As of now I really don’t know much about the boards. I’m not an electrical engineer, nor a JavaScript programmer. The other course I teach is in SwiftUI/iOS programming. The students are not necessarily coders or engineers, either. I’m trained in information systems, so the EE side of things is also very new. Am hoping that students will eventually be able to create fun installations akin to Solstice at the Mt. Auburn Cemetery in Cambridge, MA - https://www.mountauburnsolstice.org
We have a long way to go before we get there & I have a ton to learn. Figure students may also do thing like wearables, combine with dance or a cappella performances, etc. So:

  • What are your best n00b tutorials? I’ve checked the tutorials topic list here, but there don’t seem to be any “from scratch”.
  • Any suggestions for on-boarding 40 students at once? We have a MAC-address approved network on campus for devices (PB won’t work with eduroam). But we need to boot the PixelBlaze in AP mode to get the MAC address, disconnect to get back to the campus network & register the MAC address, then get back in to the device in AP mode. Is there a way to name the device in AP mode so it shows up at discover.electromage.com? Or is the best thing simply to on-board folks one-by-one.
  • Any other things you do when working with lots of PBs (we’ll use v.3).
  • Also - any suggestions for “must purchase” lights for bringing students up to speed? Right now everyone has small neopixel strips (30), plus an 8x8 and 32x32 LED matrix. They may get 8x32s. Strip/strand recs are welcome. And are there tutorials on getting things working with accelerometers, sound? Thanks for tolerating the very new questions!
    P.S. I promise to create content on all I learn (since I need to pass it to the students anyway) and share what I put together. If you see anything I’ve created & I have something wrong, do let me know. Feedback always welcome.
1 Like

Hi,
I’d guess that onboarding 40 students at once is going to be a little chaotic no matter what you do. To make getting everybody set up a little easier, here’s what I’d try:

  • when you have your students boot the Pixelblazes in AP mode to get the MAC address, also have them go to the “Settings” page in the WebUI and name their Pixelblaze something unique that they can recognize.

  • Then when they’re all on the campus wifi network, if you’ve got a computer on the same LAN segment that can run Python, install the pixelblaze-client library with pip, and run the short program below, which will list all the Pixelblazes currently on the LAN by IP address and name so you can know which student goes with which Pixelblaze.

#!/usr/bin/env python3
from pixelblaze import *

# List IP addresses and names of Pixelblaze controllers on the network.
if __name__ == "__main__":
    print("Finding Pixelblazes...")
    # Enumerate the available Pixelblazes on the network.
    # Note: if you've got a lot of devices, you may want to increase the timeout.
    for ipAddress in Pixelblaze.EnumerateAddresses(timeout=2500):
        with Pixelblaze(ipAddress) as pixelblaze:
            config = pixelblaze.getConfigSettings()
            device_name = config.get('name', 'Unknown')
            print(f"    at {ipAddress} found device named '{device_name}'")
1 Like

Other things to be aware of:

Pixelblazes use broadcast UDP packets to do their synchronization magic. Per device, it’s not a lot of packets, and they use very little bandwidth. With 40 Pixelblazes on a highly managed and monitored campus network though, just the number of broadcast packets per second might make IT a little unhappy if they’re not expecting it.

If you can limit your traffic to a local subnet, great. If not, it might be worth bringing a cheap consumer router and setting up a separate WiFi network just for this purpose. It’s even fine if you can’t connect it to the internet. Pixelblazes don’t use internet access for anything other than downloading patterns from the library.

In my experience, Pixelblaze is by miles the most fun, and the easiest-to-experiment-with LED controller around. Once you’ve got everything set up, I’m sure you and your student will have a great time!

1 Like

When the tariffs calm down, I can send you a box of led lights and some micro-controller/ sensor modules that could be used in your students projects. 60% makes sending anything from Canada pretty much impossible.

If you hear in the news that the tariffs are better, reach out to me and I’d be happy to ship them to you.

I agree with @zranger1, it would be worth getting a cheap 2.4GHz router to use for this. That or set up the Pixelblazes in AP mode. I’m sure you’ll figure out what works best.

Hi John,

I wrote a couple of articles for Make: Magazine that use a Pixelblaze, and while they’re not beginner level builds, they may be helpful in coming up with ideas. The first article in particular has a fairly extensive section on getting started with the Pixelblaze:

Also, you mentioned getting started with motion/sound reactivity. Did you get the Pixelblaze Pico, or do you have sensor boards to go with the Pixelblaze standard?

I think I have a bit of the same perspective on LED animations that you do, having used CircuitPython and Pixelblaze extensively. If you’d like, I’d be happy to talk directly about my experiences with both.

Best,
Debra (GeekMomProjects)

1 Like

Best Beginner Tutorials

@JasonCoon has a REALLY GOOD set of code tutorials for Pixelblaze. I’m sure he would be more than happy if you adapted these for your class. They cover the basics of additive color theory, HSV colors, PB core concepts, and the most common animation APIs found in almost every pattern.

A set of 2D tutorials here, aimed at the Lux Lavalier, but concepts are portable.
An updated set of 3D tutorials here. This is demonstrated on a volumetric cube kit he sells, but the concepts are fully portable.

On-boarding and Device Bring-Up

Guessing MAC addresses and going through Pixelblaze setup could easily be the kind of chaos that takes an entire session to sort out, if not more.

Here’s what I would recommend. Set each PB up in AP mode, giving them some kind of unique network name. During setup mode, they have part of their MAC address in the name, so you could use that to help ID them. Do this one at a time beforehand, and label the device with the name, ID and password. Then each person will know which network to connect to. For a reduced chance of accidental cross-connection, give them different network passwords too. This should work reliably as long as your university doesn’t employ rogue AP destroying techniques. They will be able to continue to connect to the devices at home or anywhere. However, their devices won’t be connected to the internet while on the PB network. It can be a bit of a pain switching back and forth between networks to google something, but will prevent the chaos of a classroom of students trying to reconfigure wifi each class if they need to bring them home to work on things.

Managing Many Pixelblazes

Most of it would be handled by labeling the physical device, but here are a few other tips for things that will likely come up:

  • If you have trouble connecting to a PB, try power cycling it. In AP mode, the channel is picked randomly, so it’s possible some will sometimes land on a busy/noisy wifi channel.
  • Ensure sufficient power and/or reduce max brightness to avoid brown-outs. LEDs can pull a lot of current, and can change power draw extremely quickly. If a power supply and/or wiring can’t keep up and voltage drops low enough, Pixelblaze can brown-out causing a reset. Most of the time this isn’t super obvious since it boots back up quickly (though the orange status LED will flash), but if it resets too frequently it will start activating fail-safe modes and can end up refusing to output LED data until power cycled.
  • When in doubt, disconnect LEDs and power PB separately so you can get back in the interface and change settings if needed to reduce power draw.
  • For best signal, keep wires or other metal away from the antenna (the thin overhanging part of the board)
  • Click the Save button before closing the tab/browser. Otherwise it’s easy to lose your changes. While the editor shows changes immediately, they aren’t permanently stored anywhere until saved. There’s a hidden autosave that keeps a few copies in browser local storage, but it has many caveats and isn’t good enough to rely on yet. You can poke around with it in the browser console. restoreAutoSave() for the most recent and JSON.parse(localStorage.getItem("autoSave")) for a raw list of the last 10 changes. However, it’s tied to the host, so it will change if they are accessing PB via different IP addresses.
  • Encourage occasional backups (from the Settings tab), especially if they are modding the hardware.

Best LEDs

Your 30 pixel strips, 8x8, and 32x32 matrices are good places to start.
I sell 1 meter 60 pixel SK9822 strips (like DotStar) that are also a good starter, and support HDR to boot. You might want to get one just to compare and demonstrate how color bit depth impacts colors, especially at low brightness levels.
A lot will depend on what they want to use them for. Pebbles are great for wearables, since they are more flexible whereas strips tend to only want to bend along one axis.

Accelerometers and Sound

Pixelblaze ships with a good handful of sound reactive patterns, and more on the community pattern site, but there aren’t a ton of accelerometer examples. I think most of those end up being application specific, so haven’t been shared as frequently.

I think the easiest way to get started with the accelerometer is a basic G force magnitude measurement, by calculating the length of the 3D vector: g = hypot3(accelerometer[0], accelerometer[1], accelerometer[2]) * 52 will sit around 1.0 while at rest in earth’s gravity.

1 Like

Thanks. Am I missing something? The Network box that shows up doesn’t have the settings tab. It seems that isn’t available until you get back into the board. Or is there another way to pull that up? I’ve ended up registering each board myself and giving it a name because it did seem like it’d be a recipe for lots of misselected boards if you couldn’t name boards on that first AP mode screen.

Right, during WiFi setup the user interface is limited to WiFi settings.

1 Like

Thx for sharing, Deborah. These are great! In fact a colleague and I have a grant for “smart textiles” and these projects fit right in. Mike in the School of Ed is doing most of the hands on work but I’ve shared these with him. https://walthamtimes.org/2025/07/22/charles-river-collaboratory-summer-program-spreads-a-love-of-stem/

I never want to impose on you but if you think it’d be fun to Zoom in to a class, consider this an invite. Students will have PB v3s and a variety of Flexinle Neopixel grids. 8x8, 32x32, 32x8. They’ll also have strands of 20 neopixels (Adafruit style) and I may have enough to let the, daisy chain multiple strands each. We’ve got lots of additional lights too but not enough for one for every student. Cheers, thanks for sharing, and continued congrats on your great work.

Wow. Are you saying you’d send out an equipment donation?!? That’s astonishingly kind of you. This son of Canadians is grateful. Will stay in touch. And yes, many of us are quite disappointed with the governments stance with Canada. Many of us are desperately trying to change things. Cheers!

Thanks. This is all gold. I’m going to register each device and name it in advance of distribution. Still trying to ramp up my learning while juggling my other work, but this will be a great addition. I’ll check all of this out and let you know how things go. I’m sure I’ll have many many more questions. Cheers & thanks for making such awesome! You are a true talent!

I’d be happy to Zoom into class for a quick show and tell or demo if you’d like. I have a lot of fun Pixelblaze-bases wearables/textile based projects if you want some more ideas, and I love playing around with 2D patterns in the Pixelblaze editor.

Here are some more of my Pixelblaze builds that your students might find interesting.

You bet, I have a bunch I can donate. I have a variety of production samples, old stock, accessories…

I’d be happy to see it get put to use. I don’t stop acquiring new stuff and I’ll never be able to use all of it myself.

I’ve learned a lot on here and it’s a great community, lots of clever folks making really awesome projects. This is a good opportunity to give a bit back. The more people building and creating, the better!

It’ll sort itself out, hopefully sooner than later.

Deborah, if you’d be willing to Zoom in, we’d love to have you! Class is Wed. 4:30-6:50pm Eastern, but that likely makes things challenging with the holidays. Why don’t you e-mail me & LMK your thoughts. Students will all get PB v3s this week, along with 8x8, 32x32, and 32x8 LED Matricies. They’ll also have NeoPixel strands (20 pixels) they can use, and I have to check, but they may be able to daisy chain more. I’m super-new to all of this, so if you want to bring students through a newbie’s intro to working with patterns, editing existing patterns, etc., that’d be wonderful - but again, only if it’s fun for you. I’m going to try to get sensor boards ordered & configured for class, but currently it’s “in the works”. My e-mails john dot gallaugher at bc dot edu. Cheers!

My tutorial from two years ago in this forum was written when I needed to teach 20 people how to make a wearable in a single evening — it’s going to be useful here.

Zachary, I ran across this when I was looking for info & found this to be enormously helpful. Major thanks for sharing this publicly. And your coat looks fantastic. I’d like to try to do a lab coat version of this. Kind of you to reply. Cheers!

Zachary, I ran across this when I was looking for info & found this to be enormously helpful. Major thanks for sharing this publicly. And your coat looks fantastic. I’d like to try to do a lab coat version of this. Kind of you to reply. Cheers!