PixHack V5 USART Ports

I am about to send the PixHack back for repair but wanted to check here first if anyone else has had this problem. I cannot get port 2 & 3 to receive or send with my telemetry cable or Lidar sensor connected. Both sensors work on port 4 but the ChiBios UART driver never gets anything in its buffer on ports 2 & 3.

In addition, I cannot get the the Safety switch to work. It flashes 3 time/second but pushing it has no effect. The alarm pin is low which I believe is the problem since, the spec shows it needs to be pulled up and brought low to arm.

I have several V5’s installed in helicopters now with dual telemetry radios (WiFi on one port, CUAV P9 on the other) using ports 2&3 and have not seen that. I have FrSky telemetry on two of them on port 4.

I think the things to check before you send it in would be to make sure you have the right firmware in it. fmuv5 is for Pixhawk4, CUAVv5 is for the Pixhack.

Use the daily build of QGroundControl to install the firmware and select advanced, beta, ChibOS:whatever frame type you have.

The second thing is the SERIALx_PROTOCOL. Make sure it’s set properly or it won’t work. Serial0 is the USB port, Serial1 is UASRT2, Serial2 is UASRT3, Serial3 is GPS1. Make sure you select Mav1 or Mav2 to match the firmware in your radio, etc., and set the BAUD rate properly. Or it will appear the ports are dead. Again, use the daily build of QGC to set this as QGC gives you the user-understandable settings so you don’t make a mistake in setting it.

The last time I looked at MP it does not work to set up a V5 yet. The daily build of QGC does work.

Thanks - The problem I am having is 2 & 3 do not work with any device. If I take that device and move it to 4, it works fine with the same Baud and Protocol settings. I was debugging through the ChiBios UART code for the CUAVv5 and although, the flow control was set which I tried turning off and a number of other config changes, I cannot get Rx to work.

BTW: If I convert UART to I2C using an Arduino, can you configure the code to use I2C for any of the devices which are currently set to use the UARTs?

I made a mistake in my other post - SERIAL3 is actually the GPS1 port, SERIAL4 is the UASRT4 port, so I corrected that.

Did you try reversing the Rx and Tx wires? There was a change from the developer to the production versions with reversing pins, and (I think) UASRT4 was one of the ports affected. I have a Developer Edition Pixhack V5 here and I’m in the process of verifying that vs the production version.

Another issue I ran into is that I got a Craft and Theory telemetry cable for Pixhack. It came wired wrong. I had to reverse the Rx and Tx pins on that to get it to work. There’s little arrows on the board pointing in or out and it was unclear if the arrow pointing out, for instance, was Tx for the board. Does that go to the Rx pin on the UASRT port? Turns out it didn’t. I didn’t get it to work until I reversed those pins.

I’ve gone through your agonies myself! The C&T cable came wrong so, I rewired it and it works fine on SERIAL 4. So does my Lidar RangeFinder, it works fine on port 4. I connected the Lidar to an FTDI to verify the data and, it looks fine (starting w/0x59). The problem is I am missing the 2 serial ports 2 & 3 do not work, except my telemetry works on 2. Also, my Safety switch does not work. The safety pin is low and when you press the button, it is supposed to bring it low which it can’t if it is already low. I have spent countless hours with the code and prototype boarding and keep coming to the same conclusion.

The Safety Switch I don’t have any experience with, as I don’t use them on helicopters. I’d have to some testing on that.

I do have a Here GPS unit that I rewired and have it hooked up to my Dev Ed Pixhack V5. I split out the safety switch wiring for that (it was all in one 8-pin connector) and tested it briefly and it does work, including the red LED on the button on the Here unit. But then I disabled the switch in the settings, as I don’t use it (I fly gas and turbine heli’s).

If the telemetry cable works on Port2, then there’s nothing wrong with the Rx/Tx on that port. It was the I2C pins that were switched around on UASRT4 in the Dev Boards, BUT - my particular Dev Board does NOT have the I2C pins switched. It is the same as the production ones I got here. So it may have been only the first few Dev Boards that were sent out that had that issue.

What firmware are you running? I am running 3.6rc7 in all them right now, but it is my own build. There is several commits in 3.6 since rc7 was out, most of them related to ChibiOS. I assume you are Copter and not Heli, so I did a Copter build for you that you can install to see if it fixes it


Thanks for your help. I ran the UART_test example and determined the 2 ports are bad and will be returning the FC. I think it is a great in spite of the problems and will be ordering another as soon as the 24% sales kicks off in 4 days.