IMPORTANT: The Raspberry Pi integration only works with the Android only PIXEL firmware
For applications where a GUI is not required such as integration with home automation or using a headless (no monitor or keyboard) Raspberry Pi, use PIXEL’s command line (CLI) app. It’s a Java console app and can run on the Raspberry Pi, BeagleBone Black, Windows PC, Mac, and Linux. The device will need a Java Run Time Engine installed (JRE 1.8 or higher).
How to Setup Raspberry Pi for PIXEL
IMPORTANT: If you are using a Raspberry Pi, omit the Pixel Port parameter (-Dioio.SerialPorts=X) in all the command lines below.
If using the Windows .exe, then substitute “pixelcade.exe” for “java -jar pixelcade.jar” in all the command line examples below (ex. pixelcade.exe –gif=tree.gif –write)
Pixelcade Web Server with API for Windows
Pixelcade Web Server with API for Linux
Note that while Pixelcade Web Server was written for an arcade marquee use case, it can be used for general use cases too and has much more capabilities than the command line programs, see the Pixelcade API as reference.
*** PIXEL: Console V3.5 ***
Updated April ’19 with new weather API as Wunderground API no longer free and additional supported LED panels including mirroring
Usage:pixelcade <options>Valid options are:
GIF MODE
–gif=your_filename.gif Send this GIF to PIXEL. IMPORTANT: You must place GIFs in the same directory as pixelcade.jar
–loop=number How many times to loop the GIF before exiting, omit this parameter to loop indefinitely
–write Puts PIXEL into write mode, default is streaming mode
–framedelay=x Overrides the GIF speed/frame delay where x is a whole number representing milliseconds between 1 and 1000
–32×32 change to 32×32 LED matrix or 1/16 scan other 32×32 panels (default if no panel specificed)
–32x32colorswap change LED matrix to 32×32 LED matrix color swap (use if colors are swapped)
–32x32misc1 change LED matrix to 32×32 LED matrix random pixel order #1, worth a try if pixel ordering is off
–32x32misc2 change LED matrix to 32×32 LED matrix random pixel order #2, worth a try if pixel ordering is off
–32x32misc3 change LED matrix to 32×32 LED matrix random pixel order #3, worth a try if pixel ordering is off
–32×16 change LED matrix to 32×16
–64×16 change LED matrix to 64×16 which is two daisy chained 32x16s
–64×32 change LED matrix to 64×32
–64x32colorswap change LED matrix to 64×32 color swap (use if colors are swapped)
–64×64 change LED matrix to 64×64
–64x64colorswap change LED matrix to 64×64 (use if colors are swapped)
–128×16 change LED matrix to 128×16 which is 4 daisy chained 32x16s (not tested)
–128×32 change LED matrix to 128×32 which is 2 daisy chained 64x32s
–256×16 change LED matrix to 256×16 which is 8 daisy chained 32x16s (not tested)
–32x32m change LED matrix to 2 Mirrored 32x32s (displays the same animation on two 32×32 panels)
–32x324m change LED matrix to 4 Mirrored 32x32s (displays the same animation on four 32×32 panels)
–64x32m change LED matrix to 2 Mirrored 64x32s (displays the same animation on two 64×32 panels)
–superpixel change LED matrix to SUPER PIXEL 64×64 old, do not use for Adafruit panels
–daemon runs as a background process AND you must also add & at the end of the command line
Examples:
Raspberry Pi
java -jar pixelcade.jar –gif=tree.gif
Mac
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem1421 pixelcade.jar –gif=tree.gif
PC
java -jar -Dioio.SerialPorts=COM6 pixelcade.jar –gif=tree.gif
Running from another directory
java -jar -Dioio.SerialPorts=COM6 ~/pixel/pixelcade.jar –gif=~/pixel/tree.gif
Run as a background process
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem1421 pixelcade.jar –gif=tree.gif –daemon &
Play the tree.gif animation 10 times and then exit, override the GIFs frame delay with 200ms
Ex. java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –gif=tree.gif –loop=10 –framedelay=200
Stream tree.gif indefinitely on a 32×16 LED matrix
Ex. java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –gif=tree.gif –16×32
Write tree.gif to a 64×32 LED matrix and then exit
Ex. java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –gif=tree.gif –adafruit64x32 –write
SCROLLING TEXT MODE / QUICKBASE SEARCH / SERVICE NOW / TWITTER FEED
–quickbase QuickBase mode, send some scrolling text from QuickBase
–qbuserid=<text> QuickBase user id
–qbpassword=<text> QuickBase password
–qbdomain=<text> QuickBase domain
–qbdatabase=<text> ID of the target Quickbase Database
–qbqueryfield=<number> The field id of the field in QuickBase to query against
–qbsearchstring=”your search term” Search string to query the QuickBase, Make sure to enclose your text in double quotes
–qbreturnfields=<number.number.number.number> Field IDs to return in the xml data, separate with a dot like this 3.5.7.10 which returns fields with IDs 3,5,7, and 10
–qbtoken=<text> The QuickBase application token string, get this from your QuickBase administrator
–qbrefresh=<number> How many times to scroll result before checking QuickBase again for the latest data: Omit this for the default of 10
–snow Service Now mode, show status of two Service Now Queues/Groups, total open, total high priority, and total exceeded SLA
–snowuserid=<text> Service Now id for API access
–snowpassword=<text> Service Now password for API access
–snowdomain=<text> Service now URL ex. x.service-now.com
–snowgroup1id=<text> GUID of the desired Service Now Queue/Group 1
–snowgroup1name=<text> Name to display on the scrolling LED text for Service Now Queue/Group 1
–snowgroup2id=<text> GUID of the desired Service Now Queue/Group 2
–snowgroup2name=<text> Name to display on the scrolling LED text for Service Now Queue/Group 2
–text=”your scrolling text” Scrolls your message. Make sure to enclose your text in double quotes
–twitter=”your Twitter search term” Make sure to enclose search term in double quotes. Use –text or –twitter but not both.
–filtertweets Filter Tweets that have RT, contain http:// or @
–interval=<number> How often in seconds to update the Twitter feed where x is a whole number between 10 and 86400 (24 hours)
–speed=<number> How fast to scroll, default value is 6. Higher is faster.
–smooth=<number> How smooth the scrolling text is, default value is 100. The combo of smooth=15 and speed=1 will be smooth but you’ll need a USB connection, Bluetooth will have a lag
–fontsize=<number> Default size is 30
–loop=<number> How many times to loop the scrolling text before exiting, omit this parameter to loop indefinitely
–color=<text> Supported values are red, green, blue, cyan, gray, magenta, orange, pink, and yellow
–offset=<number> Use this if your scrolling text is not centered, a postive numbers moves the text up and negative moves down, just experiment until your text is centered
–proximity Turns on the proximity sensor for interactive applications
–debug Displays the proximity sensor value on the console
–proximitypin=<number> The default proximity pin is 34, use this to specific a different pin, options are 31,32,33, or 34
–proximityhigh=<number> The upper limit threshold for the prox sensor to trigger, ie, will trigger if goes over this number
–proximityshow=<number> Display the proximity sensor value on the LED display
–sensorloopdelay=<number> time in milliseconds to poll the sensor, omit this parameter to use default: 500
–stock=<text> Scrolls stock ticket upon proximity trigger, currently only one stock symbol is supported, proximity sesor must be turned on
–compliments Scrolls a compliment message upon proximity trigger, proximity sensor must be turned on
–daemon runs as a background process AND you must also add & at the end of the command line
Examples
Scroll hello world
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem1421 pixelcade.jar –text=”hello world”
Scroll any tweeks containing cats and dogs on Twitter, check for new Tweets every 30 seconds
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem1421 pixelcade.jar –twitter=”cats and dogs” –interval=30 –adafruit32x32
Scroll any tweeks containing cats and dogs on Twitter as a background process, check for new Tweets every 30 seconds
java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –twitter=”cats and dogs” –interval=30 –daemon &
Scroll hello world with a larger font and in orange
java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –text=”hello world” –speed=10 –fontsize=36 –color=orange
Scroll hello world with a larger font and in orange only 1 time and then exit
java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –text=”hello world” –speed=10 –fontsize=36 –color=orange –loop=1
Mirror a gif on two 32×32 LED panels
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem14101 pixelcade.jar –gif=gorf.gif –adafruit32x32m –write
Mirror a gif on four 32×32 LED panels
java -jar -Dioio.SerialPorts=/dev/tty.usbmodem14101 pixelcade.jar –gif=gorf.gif –adafruit32x324m –write
java -jar pixelcade.jar –port==/dev/tty.usbmodem14101 –gif=gorf.gif –adafruit32x324m –write
Mirror a gif on two 64×32 LED panels from a Raspberry Pi
java -jar pixelcade.jar –gif=gorf.gif –adafruit64x32m –write
Absolute Path
java -jar “/home/pi/pixel/pixelcade.jar” –gif=”/home/pi/pixel/mamelibretro/pacman.gif” –64×32 –write –silent
Windows pixelcade.exe
pixelcade.exe –port=COM13 “c:\MAX 2.10\pixel\pixelcade.jar” –gif=”c:\MAX 2.10\pixel\atari7800\Mat Mania Challenge (1).gif –64×32 –write
Ex. QuickBase example java -jar -Dioio.SerialPorts=/dev/tty.usbmodem1411 pixelcade.jar –quickbase –smooth=15 –speed=1 –offset=-10 –color=blue –64×16 –qbuserid=Your QB User ID –qbpassword=Your QB Password –qbdomain=Your QB Domain –qbdatabase=Your QB Database ID –qbsearchstring==”Your Search Text” –qbqueryfield=QB Field ID to Search –qbtoken=Your QB Application Token
Ex. QuickBase example with stock ticker proximity interrupt java -jar pixelcade.jar –quickbase –smooth=15 –speed=1 –offset=-10 –color=blue –64×16 –qbuserid=Your QB User ID –qbpassword=Your QB Password –qbdomain=Your QB Domain –qbdatabase=Your QB Database ID –qbsearchstring==”Your Search Text” –qbqueryfield=QB Field ID to Search –qbtoken=Your QB Application Token –qbrefresh=1 –stock=AAPL –proximity
Ex. Twitter Feed with proximity interrupt to display compliment messages java -jar pixelcade.jar –twitter=”cats and dogs” –smooth=15 –speed=1 –offset=-10 –color=blue –64×16 –proximity –compliments
WEATHER MODE
–zip=your_united_states_zip_code Non-US users must use zmw
–zmw=your_city_id A unique city id from Open Weather Map, find your city id from here
–loop=number How many times to loop the weather GIF before exiting, omit this parameter to loop indefinitely
–forecast Displays tomorrow’s weather conditions, defaults
to current weather conditions if not specified
–apikey=your_openweathermap_api_key Get this key by registering for a free account at https://openweathermap.org/api. You must have your own unique API key.
Ex. java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –zip=95050 –loop=10 –apikey=your_key
Ex. java -jar -Dioio.SerialPorts=COM14 pixelcade.jar –zip=95050 –write –apikey=your_key
Ex. java -jar pixelcade.jar –zmw=00000.168.06379 –forecast –adafruit32x32 –apikey=your_key (Raspberry Pi example for a pixel 2.5 board with an Adafruit 32×32 panel or pixel guts kit)
Omitting -Dioio.SerialPorts=<Port of PIXEL> may still work
but will take longer for your computer to scan all ports to find PIXEL
<Port of PIXEL> examples:
Windows: COMX
Mac: tty.usbmodem141X where X is typically 1 or 2
Raspberry Pi: Omit -Dioio.SerialPorts=<Port of PIXEL>
Linux & BeagleBone: IOIOX or /dev/ttyACM0 where X is typically 0 or 1
See https://ledpixelart.com/raspberry-pi/ for Raspberry Pi setup instructions
PIXEL Console App Source Code, Do let us know if you add something cool
PIXEL Console Older Version 3.4
PIXEL Console Older Version 3.3
PIXEL Console Older Version 3.2
PIXEL Console Older Version 3.1
PIXEL Console Older Version 3.0
PIXEL Console Older Version 2.8
PIXEL Console Older Version 2.7
PIXEL Console Older Version 2.6
PIXEL Console Older Version 2.5
PIXEL Console Older Version 2.0
PIXEL Console Older Version 1.3