Think of PIXEL as a secondary LED based display that displays something based on the logic in your Android app. Your Android device can control PIXEL over a Bluetooth or direct USB connection. To develop your own Android app for PIXEL, you’ll need to be familiar with Android programming and will use the PIXEL API.
PIXEL is open source – both the hardware and software. The hardware portion of PIXEL is based on the open source IOIO platform which controls a 32×32 LED matrix equalling 1,024 RGB LEDs in total. For those familiar with Arduino, IOIO is similiar with the primary difference that IOIO comes with dedicated Android libraries and firmware meaning you only need to focus at the Android application layer. The lower level work (firmware, Bluetooth connectivity, etc.) is all taken care of for you. A separate Arduino like sketch on your microcontroller board for example is not required. Just develop in Android using the IOIO java libraries which handle communications (digital I/O, analog inputs, PWM outputs, SPI, TWI) to the hardware for you.
PIXEL uses a modified IOIO board which includes 5 Grove ports for interfacing with external sensors. Grove is a sensor connector interface created by Seeedstudio which involves no soldering. PIXEL’s interactive animations app supports an IR proximity sensor and the PIXEL Alcohol Detector app uses an alcohol sensor. You would need to write your own app to use additional Grove sensors.
Setting up your PIXEL Development Environment for Android
To develop Android apps for PIXEL, you’ll first need to install the Eclipse development environment + the Android Developer Tools (ADT) on your local computer. You’ll then download the PIXEL SDK and start with the PIXEL HelloWorld sample code which simply displays a static image of an apple on PIXEL.
Click here for a detailed step by step guide for setting up your Android development environment for PIXEL.
For additional information on PIXEL’s micro controller, refer to the IOIO Wiki, PIXEL is based on the open source IOIO platform. PIXEL uses a slightly modified version of the IOIO firmware and libraries but all the detailed documentation and structure you’ll find on the IOIO Wiki applies to PIXEL too. IOIO has an active community of developers which you can connect with on the IOIO users forum.
Interfacing with Raspberry Pi
Setting up your Development Environment for PC (Windows)
In addition to developing Android apps, the PIXEL SDK (based on the IOIO platform) also supports developing PC Java based application on the Windows for PIXEL over Bluetooth. PIXEL’s PC app was developed by Roberto Marquez.
Step 1. Git clone the above source code for PIXEL.
Step 2. Follow these instructions to setup your development environment using Eclipse or Netbeans. Note the instructions include setting up an automated build tool called Maven. You’ll also need Java JDK 7 installed.
Step 3. See the pixel-pc project
Step 4. Turn on PIXEL and Bluetooth pair from your computer using code: 4545
Note the PC app is currently supported on Windows only. As it’s a java based application, in theory it should work on Mac and Linux but just hasn’t been tested yet on these platforms (you’re welcome to try though).
Firmware Updates for PIXEL V2
Note: Firmware upgrades only apply to PIXEL V2 boards. There are no firmware upgrades for PIXEL V1 boards.
Method 1 (Easiest) using a USB A-A cable (cable included with PIXEL) and your PC or Mac. Get the firmware update application below and then follow instructions in the application.
Note: The current firmware version is the same firmware that shipped with PIXEL V2: PIXL0008.
You must use respective firmware for your PIXEL board version.
PIXEL V2 Boards
PIXEL V2.5 Boards
Method 2 using a PICKIT3 programmer
After uploading the new firmware, launch either the PIXEL Art, PIXEL Animations, or PIXEL Interactive apps and then choose the About from the Android menu to verify the new firmware has been installed. You’ll see the firmware version in the About screen.
Making your own modifications to PIXEL’s firmware
In most cases, you will not need to modify PIXEL’s firmware. A firmware modification would only be required if you wanted to change the fundamental behavior of PIXEL. For example, if you wanted PIXEL to do something different when it’s not connected to an Android device like turn it into a clock. Another example would be if you wanted to use a different LED matrix. Modifying PIXEL’s firmware is more difficult and involves lower level embedded programming skills, specially Microchip PIC embedded programming experience. If you need to go there, the IOIO developer’s forum contains the information you’ll need to get started. PIXEL’s firmware source code is here and the IOIO pins used by PIXEL are listed here.
A PIXEL custom build tutorial on Instructables.