Home Tutorial How to Build a DIY ‘Pixelstick’ for About $22

How to Build a DIY ‘Pixelstick’ for About $22

You might have heard of the Pixelstick. “Nothing compares” is one of their tag lines. And this is true… at least price-wise. I have always wanted one to at least try out some light painting with it, but the original Pixelstick retails for 400 Euro here in Germany.

The Pixelstick is a 188cm RGB lightstrip on a stick that plays bitmap files. It weighs 1.6kg, has a nice display to select files, has a remote release and runs on eight AA batteries. Oh and it comes in a nice bag.

Still, 400 Euro is a bit steep.

The DIY Approach

So I decided to build my own Pixelstick. As I have never handled the real thing, I don’t know the exact laundry list of features it has, but I do know the exact features I would want in a device like this:

  • USB powered
  • SD Card Slot
  • Display to select files
  • Small
  • Lightweight
  • Custom values for:
    • Brightness
    • Speed
    • Start delay
    • Repeat times

Luckily, Michael Ross already built something like this and it has some of the features, that I want. Software wise it runs an Arduino sketch. Hardware wise I think it is a bit dated and way too big. I’m not a fan of the large Arduino MEGA and the LCD Display shield as it makes the device unnecessarily large, so I decided to swap some parts.

The LCD display alone is already bigger than my complete controller

I chose an Arduino MEGA 2560 Pro, a small OLED Display, a Micro-SD reader, and a digital joystick since the display does not come with buttons.

I sourced everything from aliexpress. Here are all the parts that I have used:

  • 144 pixels/leds/m WS2812 Smart RGB Led Light Strip Black/ PCB
  • MEGA 2560 PRO Embed CH340G/ATMEGA2560-16AU Chip
  • 4pin 0.96″ White/Blue/Yellow blue 0.96 inch OLED 128X64
  • Five Direction Navigation Button Module for MCU
  • Micro SD card mini TF card reader module SPI interfaces
  • MICRO USB To DIP Adapter 5pin Female Connector B Type

Total cost: 20.27 Euro (almost 20x less then the Pixelstick)

You also need a Micro USB cable, some wire, a soldering iron, solder, electrical tape and something on which to mount the LED strip. I chose a piece of wood. For the case I used an old bluetooth receiver that I have no use of anymore. To program your Arduino you need the Arduino IDE.


Pinout on the Mega PRO is different, at least on the Version that I bought. The LED strip only needs 1 connection beside power, as it gets controlled through the PWM chip that lives on the Arduino. On mine. pin 6 is a PWM pin. I power the LED strip directly from the Powerbank which is attached via Micro-USB.

Please make sure to connect GND of the LED strip to GND of the Arduino or your strip will display false LEDs because of signal noise.

Pins for the OLED display are easy to find. beside GND and VCC it needs SDA and SCL, pins 20 and 21, respectively.

The SD card reader needs some more ports, but all are grouped together. 50, 51, 52, 53

The buttons are wired to digital pins, using the internal pull up resistor (activated in the Arduino sketch) I use pins 22, 23, 24, 25, 26

For reference here the complete circuit for the components I used

Soldering and building the case only took a few hours, a Saturday well spent.


I took the sketch from Michael and removed the libraries for the LCD Shield, which also handles button presses, rewrote the function that watches for keys and rewrote the parts that would display text on the display. I also implemented EEPROM saving of the brightness setting, all the other values are fine from the start and seldom need tweaking.

Thanks to the great Arduino community, figuring out how to address the different modules was easy enough for me, even not being a very seasoned programmer. There is for sure room for improvement, but at the moment it does what I need and I can always come back to the code in case I need a new feature or find a bug.

Here some more pictures of ‘lighty’ and, of course, some results. Oh by the way, ‘lighty’ weighs only 240 grams (without battery).

I am really happy with how this turned out. The only thing missing is a diffusion panel in front of the LEDs, but even the “8-bit” look is fine with me for now… especially at this price tag.

About the author: Dirk Essl is an IT Solution Architect working for a German television network. He’s not a programmer, but he likes writing software if something that he needs is not available. He also runs the caffenol blog and the largest caffenol community on the Web.

You can see more of his work on his website, or by following him on Facebook and YouTube. This article was also published here.


Please enter your comment!
Please enter your name here

Must Read

Reflecting on Two Years in the Sony Alpha Ecosystem

The third of this month marked two years since I took my first foray into the Sony Alpha Ecosystem. I thought it would be...

Samsung is Ramping Up Image Sensor Production (Again)

Samsung may have left the camera game behind, but the company is serious about increasing its share of the image sensor market and stealing...

Photographer Captures the Milky Way and Bioluminescence Together in Beautiful Photos

Photographer Ricardo Ghion recently reached out to share some truly stunning photos he captured that are both quite rare and incredibly difficult to capture:...

Photo Of The Day By David Heilman

Photo By David Heilman Today’s Photo Of The Day is “Yoga Crane” by David Heilman. Location: Door County, Wisconsin. “We have two sandhill cranes that visit...

Samyang Unveils New 85mm f/1.4 Autofocus Lens for Canon RF Mount

Following last year’s release of the AF 85mm f/1.4 FE for the Sony E Mount, Samyang/Rokinon today unveiled a version of the lens for...