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. .
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.
The recommend setup is:
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.
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”.
Don't run the “i2c” or “uart” examples. These are other modes of communication and won't work with the included Arduino cable.
Previous versions have issues with SPI communication.
There are lots of Arduino variants out there. The Arduino Uno and its variants and the Due are known to work.