Pixhawk 4 I2C not working

Hi guys,

I have been working on a project to transition our flight stack from APM to PX4. I haven’t had a lot of exposure to it so far.

I purchased a Pixhawk 4 board (from Holybro) and I’ve been trying to setup a px4flow and a TeraRanger Evo 60m via I2C. I have tried to connected them at the same time, separately, and to both I2CA and UART/I2CB ports of the pixhawk in every possible combination.

I know the px4flow is working because I can see it on QGC but I don’t seem to be able to get any messages on the Pixhawk from either one.

When I run

pxflow start

only response I get is something like " scanning for I2C devices " but no output after that.

Does anyone have any experience with this issue? I read somebody suggesting reset all parameters to force the i2C bus to start on boot but it did not work out for me.

I flashed the FW from QGC using the latest PX4 1.8.2 available. Out of curiosity, I configured the board with APM Copter and then tried to hook up the sensors, just to rule out SW differences but it doesn’t work with that either, so I’m pretty sure there is something wrong with the bus.

I’d love to hear any ideas/suggestions on the matter since I couldn’t find any other info.


Ok, I purchased another board as I thought the issue was in the hardware.

The new board worked beautifully with both the TeraRanger Evo and the PX4Flow. I noticed the new board shipped with px4 v1.9 alpha.

So I flashed the dev version onto the old board and voila, everything works.

Apparently a problem with v1.8.2?! Anyone knows appropriate channels to provide feedback for developers?

For example The speed sensor (i2c) is connected to the Holybro Pixhawk 4 in Port A by QGC https://www.youtube.com/watch?v=EjHPLvG_XCI . And airspeed sensor 4525D is connected to Port B tested by H Pixhawk 4 ArduPlane V3 9 4 https://www.youtube.com/watch?v=0j0S4UuJcSk&t=22s . Digital airspeed sensor 4525D 5 with PCA9306 dual bidirectional I2C−bus voltage−level translator https://www.youtube.com/watch?v=05s3bGiqvVU&t=38s

1 Like


I am having the same issue where I can get no comms on my I2C even by scoping the SDA and SCL lines they are dead with nothing being transmitted or received.

Been looking for the V1.9 you spoke about cant seem to find it. Do you have a link for the firmware to download?

Ok managed to find the software but now how to install custom? The custom firmware is looking for a .px4 file while the download is a large folder? Any assistance.

On the firmware tab of QGC when you select the PX4 option there is a dropdown menu that lets you pick stable, beta, developer version of the firmware or custom version.

I’m not on my computer now so I’ll send screenshot later but you just have to select either the beta or the developer version and you should be good to go.

I wanted to provide feedback to the dev community but not sure what’s the best channel, do you?

Hope that solves your issue!

Hi Thanks yes thats the easy bit you said you loaded the V1.9 onto your PX4 but in the advanced tab under custom firmware the file downloaded from Github does not come up on the list! But was assisted by another user who sent me some docs to read about having to compile the files before we can load. Have not had a chance to read those yet but will let you know if I come right as just cannot get these I2C sensors to work or register at all?

I am not sure I understand where you are having difficulties.

Can you see the dropdown in your version of QGC?
If that is the issue try using a slightly older version of QGC.

I didn’t have to compile anything. I just selected either the Developer Build or Beta Testing options and they both recognized the I2C rangefinder and px4flow for me.

In those cases QGC will download the .px4 files for you.

The custom firmware option is only if you’ve compiled your own firmware or downloaded an available one from Releases.

Good luck.

Ok I see a little confused though in your earlier posts you said that V1.8.2 did not work for you and you used the V1.9 I could not find that on the releases but did find a V1.9 on Github. This is however a non compiled version which I was curious on how to get this onto the Pixhawk.

Hopefully by doing as you did I could get my I2C to function. No way of checking (software QGC) to check the I2C?

v1.9 is still in beta, so if you choose the Beta version in the drop down menu, it’ll download and install the latest beta version available.

Good luck.

Hi there!
I also have the same issue, so I’ve already asked a question about this, but there are no answers:

Hallo i am from Austria.
My english is very bad.
Can you tell me if the terrarenger evo 60m with I2C should work with softwareversion px4 v1.9.0 ? It does not work for me.
Thank you

Hi Franz,
My pixhawk 4 is running v1.9.0 and I can see both optical flow and altimeter messages from QGC console. If you give me a bit more information on your setup I might be able to help.

Thank you, now it works
but i have the next problem.
I have updated the the holibry 433mhz 500mW with qgroundcontrol and now it do not work.
Before it works good
Do you now what is the problem
Thank you from austria

I can’t really say without any more information. Did you narrow down the problem to the software. Are you certain the hardware is not faulty? On way to be sure is to re-install v1.8x on the board and check if the radio works.