I'm working on an interactive and educational FastLED project for the Maker Faire KC

I’m working on an interactive and educational FastLED project for the Maker Faire KC booth, and would appreciate any suggestions and feedback you can offer.

With what I had on-hand, I threw together two breadboards, each with a Teensy, three potentiometers, and a WS2812 ring. The potentiometers on one board are set to adjust RGB, and on the other adjust HSV.

They work great, but I don’t think they’ll be sturdy enough to last all weekend without getting destroyed. I created a PCB that will hopefully be a bit more sturdy.

I’d like to use high-quality, reliable components from reputable suppliers with good support, tutorials, and shipping. I went with 5mm NeoPixels, and a 5V Trinket Pro which won’t need a level shifter. The non-pro Trinket is cheaper, but doesn’t have enough analog inputs. I completely forgot about the 5V pin on the Teensy LC until I already had the board laid out. Maybe revision 2…

More details, code, and PCB files here: https://www.evilgeniuslabs.org/fastled-rgb-hsv-tutorial.html

I think this could be useful as a beginner project in a soldering & Arduino class/workshop. It’ll be fully open source and open hardware.

Any suggestions, feedback, etc? Think this is a good educational project idea? Have any better ideas? Am I missing something that someone has already created?

Thanks!

Seems like a great project! Should be able to do quite a variety of experiments with that setup.

If I were to suggest one other thing you could add to the board if you can squeeze it in somewhere… a tiny push button (and the associated pull down/up resistor). Maybe only have four LEDs and that would give room for a button? Would allow for one more common aspect that users often want to incorporate into a project.

Excellent. :slight_smile:

@marmil great suggestion, thanks!

Oh… Also maybe print MC info, Led type, and pin number info on the back of the board if possible. Makes it so much easier to at least confirm you’re​ specifying the correct type of LEDs in your addLeds line, or that the correct pin is assigned for something, or to know what MC to compile for a year from now.
Trinket Pro (5V)
Pot.R = pin x
Pot.G = pin y
etc.
Button = pin z

I like seeing those sturdy pot PCBs on your breadboard. :slight_smile: @Drew_Fustini_pdp7

@PaulStoffregen those are great! I mention and link to them in the blog, but forgot to in the G+ post. I used a dozen of them in a class for my daughter’s Girl Scout troop. Thanks for creating and sharing them!

@marmil I’ve updated it with your suggestions. Thanks!
https://oshpark.com/shared_projects/0S10dNB4

Nice. I resisted mentioning it before, but now that you updated it my brain thanks you for fixing the inconsistent LED spacing. :wink:

How are you setting up the RGB/HSV slide switch? (Does that need a 10k resistor too? Should the pin number for that be added on the back of the board too?)

Good question. It’s a SPDT switch, so I just have the middle pin connected to D8, one side to GND, and the other to 5V. I don’t think it’ll need a resistor to pull up/down, but I’ll test on a breadboard before ordering the PCB.

Thanks! I missed the switch pinlabel on the bottom.

The top of the board also has all the pins labeled near the components.

@Jason_Coon – Great project. I would like to recommend that you consider using the Adafruit Metro Mini instead of the Trinket Pro. I have used both. With the Trinket Pro, it is a real pain in the butt and is very frustrating to push the reset button at the correct time to get the bootloader running on the Trinket Pro when you upload a sketch. I have both but do all of my work on the Metro Mini if I do not need the extra memory available on a Teensy 3.2 or the Wemos D1 Mini Pro. FYI, the Metro Mini is only a few more dollars than the Trinket Pro, it is about the same size and it has a 5 volt output.

Also, I would like to recommend that you consider using the breadboard NeoPixels instead of the 5mm NeoPixels. These breadboard NeoPixels are very hard to destroy and work well. They are built like tanks.

If you want to spend a few more dollars, then you might consider using the NeoPixel stick which you can attach some male header pins on one side and have it sticking up on your board.

I would totally agree that needing to push the button on the Trinket Pro every time you upload is indeed a pain. I’ve only used one once for this very reason.

I was just thinking DFRobot’s Beetle Board could work for this too. It conveniently has the three analogue pins (for the pots) and the three digital pins (for button, slide switch, and data out) that would work very nicely.
And it programs easily (just set IDE to compile for Leonardo) with no button push needed. Only slight downside about the beetle is shipping isn’t quite as fast.
https://www.dfrobot.com/product-1075.html

Sad to see the Teensy turned into a Trinket. :frowning:

@PaulStoffregen I picked up a Teensy LC at Micro Center over lunch, think I’ll switch it back. :slight_smile:

I fully support Jason just going ahead and reworking this into revision 2 today to use the Teensy LC. :smiley:

Thanks for all the feedback, guys! I’ll try to get it switched to the Teensy LC over the weekend. So much more power for about the same price. :slight_smile:

I thought I’d go with the 5mm NeoPixels only to cut down on the soldering required. I thought about using the breadboard NeoPixels, but that’d require a bit more soldering work (attaching the headers, then soldering to the PCB). I did include a GND, 5V and output header in case you want to attach more LEDs (strip, string, stick, ring, etc).

@Ken_White thanks! I’ve had nothing but trouble trying to get the 5mm NeoPixels working on a breadboard. The Breadboard NeoPixels work great, but the 4 pack of them cost more than the 8 NeoPixel stick, so I think I’ll take your advice. :slight_smile:

OK, switched to the Teensy LC and 8x NeoPixel stick, reworked the layout, reduced the size and cost to $26: https://oshpark.com/shared_projects/ZO8HevN7

I’m going to do more breadboard testing, and hopefully order the PCBs before Monday morning.

I’m still pretty new to PCB design. I really appreciate all the feedback, please keep it coming! :slight_smile:

More feedback/thoughts for you Jason. :slight_smile:

I’d like to throw the idea of turning the orientation of the vertical pixel stick, as well as relocating it (and probably then the button). Maybe something like the attached image.

Thinking in terms of UI/UX…

  • The button might be harder to press if it’s down inbetween the base of the pixel strip and the Teensy LC.
  • Having the pixels face the user would make them easier to view. (That’s assuming the board is turned with the three pots at the front near the user.)
  • Having the vertical pixel strip at the “back” puts it more out of the way from fingers turning the knobs.

EDIT… Wait, what happened to the large capacitor? Hmmm, maybe the vertical pixel strip should move forward enough put a cap right behind it. I think a 1000uF 16V one could fit there, yes?

If the cap connects directly to 5V power from USB, consider the USB spec says devices shall have no more than 10 uF capacitance without current limiting circuitry.