PixelController, PixelPi and Raspberry Pi

After I enabled the SPI device on my Raspberry PI, I wanted to drive some WS2801 LED Modules. Thanks to Scott Gibson this was quite an easy task, his detailed Blog entry helped me alot.

My Raspberry PI setup looks like this:

I Installed PixelPi a “RGB Pixel Array Driver for the Raspberry Pi” written in Python.

I updated my PixelController Software so that PixelController can send out raw UDP packets. PixelPi can now accept those UDP packets and display its content. Here is an example how to start PixelPi:

pi@raspberrypi ~/PixelPi $ sudo python pixelpi.py --chip WS2801 --num_leds 50 --refresh_rate 20 --mode pixelinvaders --udp-ip
Chip Type             = WS2801
File Name             = None
Display Mode          = pixelinvaders
SPI Device Descriptor = /dev/spidev0.0
Refresh Rate          = 20
Array Dimensions      = 7x7
Start PixelInvaders listener

Click here for a PixelController example config file for the UDP output.

Here is a (bad) image of the PixelController-PixelPi combo in action:


  1. Lorenz Wolf
    Lorenz Wolf November 18, 2012 at 10:11 . Reply

    loving pixelpi.py

  2. Hans
    Hans April 23, 2013 at 00:13 . Reply

    Hey! Could you please post your ws2801 pinning on the IDE connector?

  3. Johannes
    Johannes March 25, 2014 at 01:26 . Reply

    I am trying to do the same thing. Everything is set up, but only the first 2 LEDs are giving me some light and are sometimes changing colors in some random pattern. Any ideas for some potential errors?

Leave a Reply

Warning: require_once(/home/httpd/vhosts/pixelinvaders.ch/httpdocs/neophob.com/wp-content/themes/fanwood/sidebar-after-content.php): failed to open stream: Permission denied in /home/httpd/vhosts/pixelinvaders.ch/httpdocs/neophob.com/wp-includes/template.php on line 501 Fatal error: require_once(): Failed opening required '/home/httpd/vhosts/pixelinvaders.ch/httpdocs/neophob.com/wp-content/themes/fanwood/sidebar-after-content.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/httpd/vhosts/pixelinvaders.ch/httpdocs/neophob.com/wp-includes/template.php on line 501