My Arduino isn't receiving data from Pixy

1. Check the Arduino cable.

Make sure the Arduino cable is plugged into the ICSP connector on your Arduino correctly. It's possible to plug in the cable backwards and shifted over forward/backward or left/right. Make sure the cable is plugged in as shown in the picture below. .

2. If you have a pan/tilt mechanism, unplug the servos, just in case.

The servos don't affect Arduino communications, but a defective servo might. Unplug the servos from your Pixy just to make sure they are not causing problems.

3. Use the recommended setup (for now)

The recommend setup is:

  1. Pixy plugged into USB
  2. Arduino plugged into USB
  3. Both USB cables plugged into your computer
  4. Arduino and Pixy connected by the supplied Arduino cable

With this configuration both your Pixy and Arduino are being powered over USB and no other power sources are being used. There are lots of ways to power Arduino and Pixy, but use this setup until your Arduino and Pixy are communicating nicely together.

4. You need to be running the "default program".

The "default program" is the program that's run by default when Pixy powers up. This program detects objects and sends the corresponding information out of the SPI port to your Arduino. If you're running PixyMon and running the "Pan/tilt demo" or are in "Raw" or "Cooked" modes, no data will be send out of the SPI port.

You will know that your Pixy is running the default program when the LED on your Pixy glows when it detects objects, or you see a black background on PixyMon with white rectangles. If the LED isn't glowing / you don't see black rectangles, either Pixy isn't detecting objects at the moment (or it hasn't been taught an object) or Pixy isn't running the "default program".

5. Run the "hello_world" example on your Arduino.

Don't run the "i2c" or "uart" examples. These are other modes of communication and won't work with the included Arduino cable.

6. Make sure you're running the Arduino IDE version 1.0.5 or later.

Previous versions have issues with SPI communication.

7. Make sure the "Data out port" in the Config Parameters dialog under "Interface" is set to "Arduino ICSP SPI".

See the picture below.

8. What Arduino flavor are you using?

There are lots of Arduino variants out there. The Arduino Uno and its variants and the Due are known to work.

9. Inspect the Arduino cable.

We test all Arduino cables, but it may be worthwhile to inspect it and make sure the it's correct or not damaged. Compare your cable to the pictures below.