20 to 22 gauge stranded wire is recommended for this project, as its more flexible than solid-core wire. Color-coding the wires by function (for example: red for +, black for –, green for signal) is optional but helps prevent mishaps.
Here’s a simplified view of the planned wiring. The actual setup will include the Data Logging Shield, using the prototyping area for some of the connections, and perhaps a Perma-Proto board for the controls.

You might notice a couple of unusual things here:

  • + and – are connected to opposite ends of the NeoPixel strip (using the extra end wires). This is a little trick to ensure more uniform color and brightness along its length. When a long strip is powered from just one end, the furthest pixels may be dim or tinted red.
  • The Arduino draws power off the NeoPixel strip; there’s no split in the UBEC output. This saves some wiring, since the Arduino needs to connect to the input end of the strip anyway.
  • There’s a 3-pin JST connector between the Arduino and NeoPixel strip. We don’t currently offer these for sale…you’ll either need to find one from a parts supplier such as Digikey or Mouser, or — once you’ve tested the NeoPixel strip and are 100% confident in its operation — you can cut the plug off the output end and use that for the Arduino side of the connection (you may need to splice in a little extra length to the wires).

Connected to the Arduino is a minimal “user interface” of one dial and one button. The dial sets the image brightness at startup, and then the painting speed after that. The button triggers playback of the image (repeatedly if held down).

These components could be installed directly on the prototyping area of the shield, provided cutouts are made in the enclosure. To offer more flexibility in how the paintbrush is used, we instead mounted these on a Perma-Proto board and ran wires. A 4-pin JST connector (a type we do carry) lets us swap out the control board for specialized variants.

5 Volts connects to one outer leg of a 10K potentiometer. Ground connects to the opposite outer leg, and one side of the trigger button. The center tap of the potentiometer connects to Arduino analog pin #0, while the opposite pin of the trigger button connects to analog pin #1. The JST connector is optional, if you’d prefer just to hard-wire everything in.
Here’s the dial and trigger on a “Small Tin” Perma-Proto board. The short wires require this to be mounted within a few inches of the Arduino.
Here’s a different one with a long (about 4 feet) ribbon cable attached. The paintbrush was strapped to the rear rack of a bicycle, while the controls are accessible from the handlebar. Packing tape on the underside prevents contact between the electrical components and any metal bike parts.
Here’s a clearer diagram of where wires will go on the Arduino. The actual connections will be made on the SD shield; this is just a pictorial reference of the circuit.

The rotary encoder mentioned here is a complex and pricey option. Not for everyone, its explained on the last page of the guide. You can leave this out, or add a vestigial 3-pin JST connector to add this feature later.
Here’s a Data Logging Shield with wires attached.

To better fit the narrow clearance under the lid of the mint tin, the wires were routed on the underside of the shield rather than the top.

There’s a 3-pin JST connector for the LEDs, a 4-pin JST connector for the control board, and an optional second 3-pin JST for a rotary encoder.
+5V and GND need to connect to multiple points. Several adjacent pads in the prototyping area provide makeshift power rails.

This guide was first published on Dec 10, 2013. It was last updated on Mar 08, 2024.

This page (Plan Wiring) was last updated on Nov 23, 2013.

Text editor powered by tinymce.