Table of Contents

Hooking up Pixy to a Beaglebone Black

1. Introduction

The following procedure outlines steps to build the 'hellopixy' example on a BeagleBone Black using the Debian Linux Distribution (Debian Image 2014-05-14). The 'hellopixy' example is a simple program that demonstrates how to read blocks and send commands to the Pixy over USB like the PixyMon application.

You will need:

The Debian Linux distribution for the BeagleBone Black is available from the BeagleBoard website here: http://beagleboard.org/latest-images/
A procedure for flashing the BeagleBone Black can be found here: https://learn.adafruit.com/beaglebone-black-installing-operating-systems/flashing-the-beaglebone-black

2. Procedure

2.1. BeagleBone Black Hardware Setup

2.1.1. Using a USB hub, connect your keyboard, mouse, and Pixy to the BeagleBone Black. Using an Ethernet cable, connect your BeagleBone Black to the internet. Connect a video display to the BeagleBone Black using an HDMI cable. Power up the BeagleBone Black using either a USB cable or the 5V barrel connector.

2.2. Software Dependency Installation

From the main menu, start the LXTerminal application.

In the terminal window type:

sudo apt-get update

2.2.1. Install libusb

In the terminal window type:

sudo apt-get install libusb-1.0-0.dev

2.2.2. Install libboost

In the terminal window type:

sudo apt-get install libboost-all-dev

2.2.3. Install cmake

In the terminal window type:

sudo apt-get install cmake

2.3. Install Pixy Source Code

In the terminal window type:

git clone https://github.com/charmedlabs/pixy.git

2.4. Build and install libpixyusb

2.4.1. Build the library

In the terminal window type:

cd pixy/scripts
./build_libpixyusb.sh

2.4.2. Install the library

In the terminal window type:

sudo ./install_libpixyusb.sh

2.5. Running the 'hello_pixy' example

2.5.1. Build the example

In the terminal window type:

./build_hello_pixy.sh

2.5.2. Run the example

In the terminal window type:

cd ../build/hello_pixy
sudo ./hello_pixy

The output should look like something below:

Hello Pixy:
Example Version: 0.3
Pixy Firmware Version: 1.0.2
Detecting blocks...
[sig: 1 w: 11 h: 17 x:149 y: 46]
[sig: 1 w: 9 h: 21 x:148 y: 46]
[sig: 1 w: 14 h: 21 x:151 y: 45]
[sig: 1 w: 10 h: 19 x:149 y: 47]
[sig: 1 w: 8 h: 16 x:148 y: 49]
[sig: 1 w: 9 h: 19 x:148 y: 45]
[sig: 1 w: 12 h: 6 x:150 y: 54]
[sig: 1 w: 15 h: 18 x:151 y: 46]
[sig: 1 w: 11 h: 5 x:149 y: 54]
[sig: 1 w: 9 h: 7 x:148 y: 49]
[sig: 1 w: 11 h: 5 x:149 y: 50]
[sig: 1 w: 8 h: 6 x:148 y: 47]
[sig: 1 w: 10 h: 7 x:149 y: 51]

The example does the following