I just upgraded to a Pixhawk controller from and APM 2.6, previously to the APM 2.6 I flew using MultiWii firmware ported to the 32bit Naze32 flight controller, and I flew with that for some time.
One nice feature of the Naze32 was support for FrSky telemetry with minimal additional hardware between its ARM STM32 and the FrSky D series receiver, just a single transistor used as an inverter worked fine. So a full RS232 chip interface was not needed on that flight board.
The FrSky D series will actually read the telemetry stream fine with an inverted 3.3V signal on the RX-data pin in my experience (however my inverter had a 5V logic output anyway).
When I moved to APM land over a year ago I had to add an Arduino board to convert Mavlink serial data to a FrSky telemetry format so I could get telemetry on my radio again. I used the jD-IO board firmware and an Arduino Mini to do that, and it worked (but never very well IMHO).
Now with the Pixhawk the Arduino converter can be eliminated and just a simple logic inverter be used in-line again (I suspect that if the serial logic can be inverted before being sent from the Pixhawk that we’d need nothing at all in between a Pixhawk and a FrSky D series receiver !).
Back with the Naze32 board and now with the Pixhawk I used a slightly hacked $2.50 Hobbyking item to do the inverting. It’s actually made as a signal level booster for servos, but by removing one transistor (it has two) and shifting a resistor it’s a tiny convenient inverter (and level booster if powered from 5V).
hobbyking.com/hobbyking/sto … v_5v_.html
The pictures show the modification I did, remove the second transistor, remove the 10K, shift fit the 1K in it’s place, strap across the vacant transistor position.
The input wire goes to Pixhawk Telem-2 TX pin 2, 5V is from Telem-2 pin 1, Ground from Telem2 pin 6. On the D series RX side the ground and RX-data are connected, the 5V out fro the inverter is not. I use a FrSky D8R-XP receiver. To connect to the Pixhawk I used a DF13 six pin plug and three wires salvaged from a damaged 3DR Power Module cable, the receiver side is the servo lead supplied with the servo signal booster (but swapped to the output side of it).
I’ve only just got this going on the Pixhawk, but so far the telemetry sent by the Pixhawk is very good and stable, none of the sometimes random values that plagued my more complex APM setup with the Arduino Mavlink-Frsky converter, and more of the values actually work like expected. So far so very good…