Video of the breadboarded prototype

The bike blinkenthing is a project to turn my bicycle (a Cannondale Bad Boy 9) into a dizzying array of blinky lights for fun and profit. A prototype was completed in May 2014, and the first version (blinkenthing A) was completed in June once all the bits came back from the fab. Blinkenthing B is currently in the works.

blinkenthing board

I started by building a simple prototype, before I sent off for most of the parts and designed the PCB. The prototype used an ancient Arduino Diecimila (the same ancient Arduino that is powering A and will probably power B), a breadboarded circuit with three NPN transistors (ON Semi TIP31AGs), a handful of resistors, and a 12-17V LiPo RC plane battery. The LED strips are 60 LED/m strips from Adafruit.

The PCB for blinkenthing A

Blinkenthing A used a simple Arduino shield I designed as an RGB LED strip control. It performs admirably, but isn't all that safe; when designing it, I didn't consider how some of the traces would be carrying 1.2A at 12V, which is more than enough to tax a small trace. One of the three shields I made had a trace evaporate when a short sent a few amps of current through it (almost all of what the battery could put out). That accident, along with the desire for more control interfaces, led to the design of blinkenthing B.

The PCB for blinkenthing B

The B design incorporates two big changes: the traces that are carrying the current to the LEDs have been substantially widened from 0.04mm to 0.1mm, and I've added three JST connectors (one two-pin and two three-pin) for I/O. The three-pin connectors are connected to ground, an analog pin on the Arduino, and either 3.3V or 5V for power. The two-pin connector is connected to a digital pin with PWM support, and ground. The plan is to use one of the three-pin connectors and the two pin connector to power a momentary pushbutton with an LED, as a mode switcher. I've got no plans for the other analog input yet.

You can get the board file on github or order it directly from OSH Park. The board uses a female 4-pin molex connector (the kind that are used for PC peripherials, hard drives and the like) to connect to the RGB LEDs; it's pretty easy to find male pigtails for these; I grabbed one from a recycling bin, clipped the leads off of one of these, and soldered the two together for a strong connection.