I got the 3D Robotics optical flow device few weeks back. Yesterday I soldered the connecters and loaded the sketch " AP_OpticalFlow_test.pde" to an Arduino mini pro. I selected digital pin 10 to be the chip select pin (NCS).

  This does not work for me as I get the error message "Failed to initialize ADNS3080".  In the library I see that the byte returned should be 0x17. However when I print the value returned, I see that the value returned is 0xFF. As the device is unable to initialize, the error message is reported. Has anyone else faces this issue? How can I rectify this? A picture of my setup is attached. I had the feeling that my wires are too long for the 2Mhz signal to travel from the sensor to the arduino. So I slowed the SPI clock, still I see the same behavior. I would appreciate any help on this.

Views: 2617

Reply to This

Replies to This Discussion


I have the same issue with APM2 and flow sensor.

I have the same error "Failed to initialise ADNS3080". When I print the config it says:

Config: 11111111,11111111
    product id:     FF (hex)
    frame rate:     366 (manual)
    resolution:     1600
    shutter speed:  65535 (manual)

I tested the conectivity with a multimeter and all wires are connected properly.

Anybody with the same problem/solution?

I'm having the same problem too. Connected to an APM2 as directed in the wiki, but fails to initialise.

AH HA! Just been poking around the comments on the wiki. Looks like for the APM2 you'll need to comment line 22 and uncomment line 23. Looks like it's doing something now.

I'm having the exact same problem. And I did comment out the APM1 line and uncommented the APM2 line in the test sketch. I uploaded the code directly to the APM2 with sensor attached exactly as described. HELP!

Ok, mine works now after the same initial problem that you had. After doing the line 22 / 23 commenting thing it seems that Arduino was still uploading the old version of the program. Not sure why -- it's like the equivalent of forgetting to do "make clean" or something! Anyway, I flashed a different program on the board, restarted Arduino, flashed the optical flow program, and then everything worked fine... Still confused about how this could happen, but glad it's working!

By the way, I am using Arduino 1.0, without the relax patch.

This is embarrassing for me. It works fine now. I was connecting MISO at sensor side with MOSI at arduino side and vice versa. Once I fix the connection it works fine.


Hi  Cool Dude and the others,

I am a newbie with arduino. I am trying to setup the Optical Flow sensor on an Arduino Uno Board. I believe this is really similar to your configuration, since the "Arduino mini pro" is a different version of the "Arduino Uno". I am trying to compile the "AP_OpticalFlow_test.pde", but I am having a lot of errors.

I have basically copied all the libraries from the "ardupilot_mega" folder to my arduino/libraries directory. This has corrected many compile errors, but I am still getting errors from the "SPI3" library.

How did you manage to compile get the "AP_OpticalFlow_test.pde" code working on the Arduino mini pro?


Could anyone help with connection pinout and working example of Optical flow with any arduino (mini, nano, mega). 
 All my afforts end with: "The sensor not initialised"

Thank you!".

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service