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

Btw, you’re making me want to learn a bit of Eagle (or KiCAD or something) so I could make my own simple boards too. So cool.

The issue has to do with inrush current during USB hotplug. The USB host (your PC or Mac or Raspberry Pi or a Teensy 3.6 or something else…) is supposed to have at least 120 uF capacitance. The idea is when you suddenly join 10 and 120 uF, the impact on the overall voltage is only a small drop. The larger you make the device’s capacitor, the more it impacts the USB host’s power supply voltage during hotplug.

Some better quality computers have actual USB current sensing. Some older macs had this, dunno about the latest. Most cheaper machines have only a PTC “fuse” (really just a resistor that increases when it gets hot). A large capacitor with high inrush current can trigger the current detection circuits. This is the sort of unpleasant surprise you might learn during a workshop where something that worked fine on your small collection of PCs suddenly fails with exposed to dozens of computers, a few of them with sensitive USB over-current detection. (I do know of at least Arduino workshop using someone’s custom board where a large capacitor did this…)

Thanks again for all of the feedback, you guys are awesome!

I actually planned on the strip laying flat with the PCB, sticking out to the side, and mounted down with screws to a board. I do agree it might be hard to press the “emergency rainbows” button though, and will try rotating it like you suggest.

I got rid of the giant capacitor to save on space and PCB cost. I hope it’s safe without it, with just 8 LEDs running off USB power.

I followed SparkFun’s Eagle tutorials, and highly recommend them: https://learn.sparkfun.com/tutorials/how-to-install-and-setup-eagle

I still have a lot to learn. :slight_smile:

@PaulStoffregen Interesting. I guess I’ve violated that spec multiple times with my small USB powered FastLED projects! :confused:

Agreed, the cap can probably be left off then.

Ahhh, the strip horizontal out to the side. I get it now. Would just need to make sure it’s supported and secured in someway so it’s not wrenching on the solder connection.

My thought of having it mounted vertically might not be a good idea at all if these need to be more robust and survive the weekend. Plus they will take up more space when packed up (unless the LED stick could unplug). Horizontal out the side or back is indeed probably better!

I faced this dilemma with the design of Teensy 3.6, which has a USB host port that people will use to hotplug all sorts of USB things including LED projects, yet it may often be powered from only a USB cable where too much inrush can impact the upstream PC or Mac. After much experimenting, I finally settled on a TPD3S014 current limit switch, and a 100 uF capacitor (just 20 uF shy of the USB spec requirement). I tested with USB ports on several machines. The combination of the TPD3S014 and 100 uF does cause the USB voltage to drop a bit more than the USB spec, and it doesn’t quite meet the USB spec for the hotplugged device, but both are close, within about 0.4 volts. The switch also allows the power to be turned on by software control… so if there is a problem at least the user’s code can upload and they can know it’s related to turning on the port. This was the best trade-off I could find. But of course adding a special surface mount part like this is probably overkill for your needs. I’d personally put a 10 uF cap on the board. Together with Teensy’s 2.2 uF caps, that’s slightly over the official USB spec, but not by a huge amount.

Thank you for sharing your experiences (dilemmas) and bits of info and suggestions. I’ll never skip reading a @PaulStoffregen post. :slight_smile: Your dedication of wanting to do things right and making solid products is why those of us that have come to know your work and support of the community love ya.

Yes, thank you so much for the advice and support, @PaulStoffregen ​!

missing/deleted image from Google+

missing/deleted image from Google+

OK, here’s the next revision. Added the 10uF capacitor and rearranged the layout a bit. Thanks! More details, eagle files, etc: https://www.evilgeniuslabs.org/fastled-rgb-hsv-tutorial

Just curious, what’s the size of those vias? They look tiny, but maybe that’s just because the traces are so large?

@PaulStoffregen I’m using the Eagle defaults, and the OSH Park DRU file. Diameter is set to “auto”, Outer and Inner Layer Diam. is 0.03762205, Drill is 0.02362205. That seem alright? Think I need to make them larger, or the traces smaller? I always think the default trace size seems too small and bump it up a few. :slight_smile:

Looking good!
Maybe a revision number and year on the board somewhere?

Only thing I’m wondering about now is how the PCB will be secured down to a surface once the Teensy is soldered in place. If the Teensy was plugged into headers then no issue, but your plan is to have the Teensy soldered straight onto the PCB right?

@marmil Thanks! Good idea, I’ll add that before I order.

Yeah, there’s really no room for mounting holes anywhere but under the Teensy. I played around with overhanging them on the edge of the PCB, like castellated edges, but it increased the PCB size and cost.

I thought about female headers so the Teensy would be removable, and figure anyone else that might build one would use them. For MF I might use raised male headers and find some low profile screws that fit underneath.

missing/deleted image from Google+

OK, I’m think I’m getting close. Resized all the traces to more normal suggested sizes. This also allowed me to add the full header for the Teensy LC end pins. Reworked the layout a bit.
missing/deleted image from Google+

Were you going to include info for the pixel type on the back too?
Looking great.

Good idea, thanks! Although really the board should work with any 3 wire LEDs, with only minor code changes.

I don’t think there’s enough space between the potentiometers for most cheap knobs, but I don’t really want to make the board any bigger or move the switch to make room. I’m going to try to trim some knobs down. :slight_smile: