<< return to Pixycam.com

Cannot get the Pixy to communicate with Arduino

Hey everybody, hope you guys are all doing well. I searched the forum and found some similar issues to the one I am having, but nothing has worked to resolve my problem. Here is what is going on:

My lab partner and I are working on a lab project where we have a Pixy CMUCam 5 hooked up to an Arduino Nano (or Uno R3, we tried both) via the Arduino’s ICSP SPI pins. Here’s the setup we are using:

  • We have the newest version of PixyMon (2.0.9 I believe) and also the new Pixy libraries
  • The arduino is connected to computer via usb
  • The Pixy is connected to computer via usb, and PixyMon works just fine
  • The Pixy is connected to the Arduino Nano via the supplied cable and plugged into the ICSP pins on the Nano.

I checked the orientation from the pictures on charmed labs’ website, and we have the cable plugged in to where the ribbon faces outward, so the notched side of the ribbon faces the interior of the Nano. I checked this against the Uno pinout, and it lines up as far as I can tell.

So here is what happens when we try to run the Hello World sketch:

Using the Arduino IDE with the Nano, I can upload to the board ONLY if the pixy is unplugged. If I have the pixy plugged in, the IDE never uploads the sketch and will get stuck on the part where it says “uploading…”. This is no problem though, I think it is an issue with the serial communication of the Arduino vs. the ICSP pins used by the camera.

So once the sketch is uploaded, I attach the camera via the included ribbon cable, and open the Serial monitor. The monitor will not show anything, not even the first line which says “Starting…”, and I checked the baud rate and it matches what the Serial communication is initialized at in the sketch (I tried 9600 and also 19200, since the pixy uses 19200 baud.) However, if I leave the camera unplugged, again, the serial monitor WILL print the line that says “Starting…” which makes me think that there is a conflict between the serial communication pins of the Arduino, and the ICSP pins used by the Pixy.

We tried the code in this video: “https://www.youtube.com/watch?v=DV4YK_Kk5IY&t=142s” listed in the first comment, and it also gave us an error with the “type” object where it said something like “type object not an element of such and such class” or something similar to that. I think this is a smaller issue though, and if we could just get the Pixy hooked up and communicating with the Arduino, our problems would be solved.

I have read the forum and also looked at the user manuals and things, and did not find any instructions on communicating via the I2C or UART protocols between the Nano and the Pixy. Is this an option?

Any help is very much appreciated, and you guys have a great weekend!

Hey Chris,

I’ll let Edward or somebody else comment on the Arduino issue - I’m not super knowledgeable about potential conflicts there.

We do have an epic porting guide doc, for every possible way you can communicate with Pixy. You can definitely use I2C or UART between Nano and Pixy. Here’s the doc: http://cmucam.org/projects/cmucam5/wiki/Porting_Guide

Hope this helps!

Best,
Jesse

Was anybody ever able to solve this problem? We have the exact same thing going on.

Sammie

Hey Sammie,

can you tell me how you have the devices connected? The order should be USB from computer to Arduino, then Arduino to Pixy with the cable that comes with Pixy.

Thanks,
Jesse

We did get it to work. We had misplaced the cable that connects the Arduino to the Pixy; so we were making our own and finally got the right pins connected. Thank you though!

Sammie

Great! Thanks for the update, glad you got it working :slight_smile:

Cheers,
J