I’m using ArduCopter 3.7 with GPS+Compass Mateksys MQ8-5883. When I connect this sensor, if LiDAR is connected, the compass is not detected. The LiDAR is a Pololu VL53L1X, connected on the same i2c port as compass. My FC is a Kakute F7 AIO. If I connect the LiDAR alone, it works okay. If I connect the GPS+Compass alone, it works okay too. The problem is when I connect both together. It seems a i2c issue. Any tips are very welcome. Thanks.
-maybe the 2 I2C devices have same ID?
Hmm… Is there a way to check this?
Check the documentation of the sensors, there should be written somewhere what id they use.
From Mission Planner go to Mandatory Hardware>HW ID and connect each one individually and it will tell you. Looks like the ToF sensor is deafult 0x52
I didn’t find any info about ID, only address, and they use different addresses. I will try with TFMini LiDAR, because it is connected using a serial port. Would be better if VL53L1X works, but I have a deadline to finish this project. Maybe it’s a firmware issue…
Thanks! I will try that…
I tried this. When only LiDAR Pololu VL53L1X is connected, it is not showed in the HW ID list, but it works and if you press Ctrl+F you can check it is okay (Laser Position), as well as the “sonar range” status value in the “Status” window, as you can see in the images below.
Now, if I keep the LiDAR and connect the Mateksys MQ8-5883, the GPS is detected and LiDAR keeps working, but the compass isn’t detected, as can be seen in the pictures below.
Now, if I disconnect the LiDAR and keep the GPS+Compass connected, both GPS and compass are detected and works okay, as showed in the picture below.
If I can’t solve this until the end of the day, I will have to change the LiDAR to Benewake TFMini. It is 4.5g heavier (this is relevant to me), but it uses UART, so I hope it will work okay.
Any other tip will be very welcome!
I guess it only looks for a compass on external I2C in that report. If you are in a hurry you could try a post over on the Gitter chanell. There is a lot of discussion of F4/F7 boards there.
@maroquio - try adding 4-5k pullup resistors to 3.3V .
Thanks for your tip.
I will have to try it later, because I don’t have any resistor here now. Btw, what is the effect of a resistor in this case? It will step down the voltage a bit?
As I have a close deadline, I’ve just changed the LiDAR Pololu VL53L1X (i2c) by the Benewake TFMini (UART) and everything seems to work okay. The pictures below show my prototype assembly and the sensors status in Mission Planner:
The HW ID of LiDAR is not showed by Mission Planner. I think @rmackay9 could confirm that for us. Thanks!
An easy test you can do for conflict is pull the VL53L1X XSHUNT pin to ground, hence disabling the chip but leaving the module 10k Pull- Up resistor active.
If you dont see the Compass appear then you have a problem with the I2C pull-up of the VL53L1Xthat is ‘‘hiding’’ the line to the Compass.
If that’s the case you can remove the 10K resistors , but you have to know what you are doing…
Oh, man… Thanks a lot!
I changed the VL53L1X by TFMini and it is working, but I really prefer the VL53L1X, because of its weight. I will use more of them for obstacle avoidance in a near future, so, for a micro-quad, 20g is a huge difference.
So, I will do my best to understand your explanation and make this test as soon as I can. Thanks a lot, friend!