Navio+ and RangeFinder LeddarOne

Hi, I have been trying to make LeddarOne rangefinder to work in Navio+, but It just doesnt work. Have anybody make it work?. It works perfectly in Pixhawk.

Thanks a lot.


did you have a look at this thread?

Hi Benedikt,

Sorry for the late reply, I spent some time re-experimenting… Yes I had already checked all the related posts about serial ports. However, I re-read them because you mentioned them and I thought that probably i missed something.

Before I had already tried
"sudo ArduCopter-quad -A udp:x.x.x.x:14550 -C /dev/ttyAMA0 " , and i configured the serial port 1. I tried all letters (B,C,D,…) And configure all the serial ports (except serial0, because it handles telemetry). I also added the right configuration for the LeddarOne, but it did not work.

So after your answer, I decided to try an USB-SERIAL converter, as some users did with other sensors. I used PL2303 Serial Port, and everything seems to be correct (running “lsusb” i can see it) and it appears as “ttyUSB0” in “/dev/”

I ran "sudo ArduCopter-quad -A udp:x.x.x.x:14550 -C /dev/ttyUSB0 " , again changing the lletters, and configuring the serial ports, but it just doesnt work.

Any other suggestion?. Thanks a lot in advance.

if you use usb to serial you need to point to -C /dev/ttyUSB0 (if USB0 is your usb to serial adapter);
serial protocol 9;
baudrate 115200;
rngfinder_type 12;
more info here

Upss, i just copied the line above, i meant that i used: “ttyUSB0”. my mistake. And I indeed used that config for the leddar one

can you confirm cables are connected correctly by seeing the RX led on PL2303 blinking accordingly?
you don’t see any values for your sonarrange in missionplanner?
(i actually never had a leddar one - i am only trying theoretical setup)
could you try another switch like -F /ttyUSB0 (serial 5)?(and change values for serial 1 to rule out any potential error)

Agree with @panky. Just did a build with a SF 02 LIDAR using USB to serial from SparkFun on Serial 5 (-F /ttyUSB0 flag). Works great; much better than ADC with long wire runs. And further second to make sure your RX/TX are going to TX/RX between LIDAR and serial adapter.

1 Like

Hi, Benedikt and Coby.

I confirm that cables were correct. It was the first thing i checked. I also monitor values of sonarrange in missionplanner, they are zero. The LED of PL2303 does not blink. I decided to test with another USB-Serial. (the one I got in the kit to test the sensor) but the result is exactly the same.
I tested Serial 5, as suggested, but i got no good result. Actually, if I connect the LeddarOne, with no (TX, RX), the program works as usual, but not rangefinder of course. But, if I plug TX, RX, then after few minutes it crashes the whole raspberry. Probably there is a bug in the comm protocol implementation, and it waits too much.
I have tested several sensors in two different pixhawks and they work fine. Probably my Rasberry 2B, is the problem. I went to a weird process to make NAVIO+ and raspberry work (Navio+ Stuck in booting (rainbow screen) (partially-SOLVED)).

Probably the problem is the Rasberry, but i dont think so. I also tested on another one. I was even able to fly the drone.

I am expecting anytime to receive some RBerry3 + Navio2, i will test there as well.

Any thoughts?

Could you lease try the latest beta? This might solve some of the issues.

Sorry @reyesrios, I don’t have the hardware to duplicate your setup and test. Sounds like your troubleshooting is solid. If RPi/Navio2 and/or latest Beta does not work then I am out of ideas.

Hi, George, Coby, yesterday I tried also the Beta version, with identical results.
I see that the last time LeddarOne was updated on Ardupilot was
2) Minor Improvements:
a) LeddarOne driver robustness improvements

2) Bug Fixes:
a) …
b) LeddarOne driver busy-wait fix

(ardupilot/ReleaseNotes.txt at d3d6099540855917601f84d8fa547dcae91f0473 · ArduPilot/ardupilot · GitHub)
Does current beta version of Navio, includes those changes?.

Here’s the change log for Navio. Should be at Copter 3.4.4rc, so those changes should be in there.