Main Menu

Secondary Menu

NeoPixel Pattern Programmer

In this instructable I will show you how to make my pattern programmer for Adafruit's NeoPixels. It's a hassle to think up nice patterns in code every time, so I created a little application that you can visually program the patterns in, to get quick results on your leds!

What makes this code different than other pattern writers or programmers, is that this application writes the values to the Arduino EEPROM. The EEPROM of the Arduino will not get erased when you power down, this means you can program your deviced, and the pattern will be on it every time you power them on. EEPROM writing and reading is handled by the Arduino firmware.

Together with the Processing sketch that allows you to easily draw a pattern strip and calculates all the values for you and sends them out nicely formatted this is an almost hassle free way to make your NeoPixels do what you want!

Apologies beforehand for the code, it might get a bit hardcode-y in the end.

Step 1: Step 1: Parts and Schematic

To build this device You'll need a few parts!-1 Arduino, I prefer Nano's

-A length of Adafruit Neopixels, use a segment of 5 if you don't want to change anything in my code

-A Switch

-A 1K resistor

-Breadboard, wire, pcb, anything to hook it all up.

The wiring is real easy, just hook it up like on the schematic. For short lengths of LED strip like in this project, you don't need to use external power. The switch is to switch between display and program mode, if you are writing a new pattern to the device, put it in program mode to make sure you don't miss a bit.

This is the code for the Arduino:You'll need to download the NeoPixel library, the EEPROM library is included with the arduino software.

You need to properly configure your COM port in the setup. It's different for every computer. Change this line myPort = new Serial(this, Serial.list()[1], 9600);On my machine my arduino is the 2nd in this list, so I use the Serial.list()[1], maybe on yours its the first on the list, so put a zero there. Check your port selector in the arduino IDE to see whats connected to your PC.