Pixfalcon configuration and use

I have a Pixfalcon on a quad copter and was having a lot of trouble getting Arducopter to work, so I’m posting here to provide some help for other people starting out. There’s very little info out there on the Pixfalcon and what works and what doesn’t, I couldn’t tell if I was making mistakes or if only particular versions of Arducopter worked with the Pixfalcon.
Some of this info I’ve posted over on the PX4 forums, but more of a PX4 focus.

I had 3 problems:
1. Could install Arducopter firmware, could calibrate everything except power module/battery voltage. I figured I could set it to ignore the voltage and still work for testing purposes.
2. Could sometimes arm, but motors would be operating randomly, one or two spinning instead of four, sometimes they’d start going to high RPM for no apparent reason. ESCs had already been calibrated and working with PX4. Takeoff was impossible/
3. Flight modes, channel 5, ORX T6 transmitter - need I say more?

Symptoms had me thinking that late versions of Arducopter wouldn’t work with the Pixfalcon. There were reports around of people using AC 3.3.3 and earlier with the Pixfalcon, but I couldn’t seem to download the earlier version to try it. I wasn’t up to building it from source yet. PX4 firmware would just install and work, indicating there was nothing wrong with the Pixfalcon.

Fixes:
1. After installing the latest AC firmware and calibrating, I found that selecting a power board style of “Other” (or whatever suits your setup) I had to reboot the Pixfalcon for it to be possible to then calibrate the voltage in Advanced. Prior to the reboot there was no battery voltage reading. The difference being with PX4 the readings are immediately available and calbration works - this made me think Arducopter was not working properly.

2. For arming and motors to run as expected, I had to recalibrate ESCs, even though they had previously been calibrated manually and via QGC/PX4. and were working OK with PX4.

3. We’re using a Orange RX T6 (Tsix) transmitter and Orange RX R615 receiver. There’s no issues with the receiver. The TX only has a two position flight mode switch on Channel 5.
I was able to set up the ORX T6 to suit flight modes in Arducopter firmware by mixing channel 5 and 6 and output to channel 5 - Arducopter will ONLY use channel 5 for flight modes. With the two switches in combination Arducopter would pick up 5 modes using this method, might get 6 modes with a bit more fiddling.
I’ll see if I can post somewhere else with the details of that channel 5 and 6 mixing.

So really, all traps for new users, not actual faults with arducopter or the Pixfalcon. I’m now on AC 3.5.2 and basic flight testing is OK. We’re yet to get into more advanced flying and tuning.
I can’t work out how to get Autotuning completed by just changing flightmodes, since there’s no separate autotune switch I can use on the TX.

I’ve also changed the firmware parameter to turn off the internal buzzer for flight mode changes, so as not to interfere with accelerometers. I cant say the vibration was an issue, but figured it cant hurt to disable the buzzer anyway.
http://ardupilot.org/copter/docs/parameters.html#ntf-buzz-enable-buzzer-enable

Since I’ve got a Linux laptop, I’ve found it best/easiest to use QGroundControl for firmware installs, config and calibration. I use APM2 for missions (Auto mode) since it handles the Spline waypoints and advanced features better than QGC. Also I noticed in QGC you cant select “Simple” next to the flight modes, so APM2 is good for that.

I was having a issue with the measured voltages varying rapidly by about 3 volts, the Vsense coming from the PDB, yet the digital multimeter didnt show those variations - only in the logging in the Pixfalcon. It was impossible to correctly calibrate the voltage reading.
This was causing battery failsafe (and land) when it shouldnt, or NOT doing a battery failsafe when it should continuing to fly and drain the battery.
I tried PX4 firmware and different versions of Arducopter. Turned out to be some sort of wiring issue and possible ground loop after we hurredly added a FPV camera and radio - so that issue is now all solved.

I really just wanted to update that since all that voltage/wiring/firmware testing we’re now using AC 3.5.3 successfully and there was minimum setup. Since paying close attention to the frame and motor alignments, and level horizon during calibration, we’ve had no need to do any trims or even autotune. And of course ESC calibration! And level horizon!
Did I mention level horizon?

The quadcopter is generic X, aluminium 23mm square section arms, 510mm wheelbase, 4 1000KV NTM Propdrive, 10x4.5 Gemfan props. Pixfalcon, Micro M8N GPS, Holibro PDB (https://hobbyking.com/en_us/13005-pdbosd-v1-1.html)

Edit: also I haven’t disabled the internal beeper, and flights are good, no issues or sudden altitude changes with vibes from the beeps.

I noticed during some flight tests checking failsafes, that RTL wasnt working - the quad would hover as if holding position.
Some WPNAV paramaters were set to 0 where they should have had default values. I added in reasonable values and RTL now works OK.
I had previously increased some Loiter jerk and accell values, so there’s the outside chance the zero values were due to some sort of mouse/scroll mistake, but I generally use QGC and it’s very hard to accidentally change values.

I think I might have found my varying voltage problems.
Vcc and battery voltage had been showing varying levels in the arducopter logs and on QGC - sometimes!
It had become impossible to calibrate voltage accurately and had to disable voltage monitoring to arm and fly. The variations were not present on the voltage alarm or with multimeter.

I’d just tried going back through a few versions of saved params files and no luck, no changes to any parameters affected the 3 or 4 volt variations - thought I’d best rule that out first.

I’d set up the quad on the bench with a reasonable quality variable bench PSU, a Fluke multimeter and QGC to start checking things out.

At first no news, voltage variations still present. I pulled out the tiny PM connector from the pixfalcon and measured the voltages, all as expected and highly stable, the vsense varied correctly with PSU voltage. Vcc didn’t vary at all and stayed Rock steady on about 5.08 volts.
So I plugged it back together and powered everything up again - voltage now stable and QGC showing the correct readings from arducopter!

Now I’ll be embarking on a mission to solder the power wires to the PDB and the pixfalcon directly, bypassing the original tiny DF13 connectors. I’ll probably fit a higher reliability connector between the two so I can still seperate them if needed.

I’ll update here again once I’ve got that all done and working.

Note: this is not the same issue as the Vcc and battery voltage showing variations in logs aligned to FailSafe conditions.

Well calling these connectors DF13 is being generous (and wrong!). There’s a real 3 pin DF13 for SPK/DSM next to the 3 pin RC In connector and the DF13 is physically twice the size of the RCIn connector. I’m not sure what they are all called, but apart from the SPK/DSM and USB connectors, all the others are the tiny little ones.

But anyway…
I’ve managed to remove the PM connector from the board - this is NOT a job for the faint hearted, and you’d have to be fully prepared to throw away your Pixfalcon and buy a new one if you’re going to attempt this !!!
I’ve now got clean tinned (microscopic) solder pads where the PM connector used to be, time to try and join wires onto them, and probably get a bunch of hot-melt glue over the wires if they work.

Edit:
Wires joined on and working, Pixfalcon powers up and measures voltage and current from PDB. Voltages stable.
Once again, not something to attempt “just because…” , you’d need to be having PM connector problems, and even then I’d probably try gluing the connector in or something before I did this exercise again.

Vibrations and the Pixfalcon:
I’ve got the Pixfalcon mounted on 4 small blocks of the foam that it came with. According to Arducopter doco the vibes are just within limits (I think) but not great. I was a bit worried about the vibe level, but it didn’t seem to be affecting flight.

I’ve grabbed an old fishing sinker (lead weight) from out of the fishing tackle box, bashed it around with a hammer until it’s a nice neat little rectangular prism and stuck it to the top of the Pixfalcon with some thin double sided tape so all the LEDs are still visible.
The Pixfalcon was about 18 grams, the lead weight I added is 25 grams - now vibes are approximately halved in Arducopter logs judging by the most recent flights versus logs from flights before I attached the lead.

I have had to disable the Pixfalcon internal buzzer, it was causing jumps in altitude when switching flight modes. Making that change in parameters fixed the problem. One rainy day I might see if I can remove the buzzer and mount it external.

NTF_BUZZ_ENABLE

I’ve also got NTF_LED_BRIGHT set to 1 (for LOW) to minimise voltage variation on the 5volts Vcc.

I updated the Pixfalcon from Arducopter 3.5.4 to 3.5.5 and all tested OK

Update on power issues I’d previously had:
I removed the Holibro PDB since it had an unreliable Vsense signal (and the OSD section died) and went back to the original PDB supplied in the Hobbyking Pixfalcon kit.
It’s got test points on the underside near the power connector, so I was able to:

  • solder wires to the test points
  • join those new wires into the wires from the original connector
  • add an in-line electrolytic capacitor, no room on the board since I also added an electrolytic across the B+ and B-
  • add an MPX connector between the new PDB wires and the Pixfalcon (which already has wires soldered direct to it)
  • Set NTF_BUZZ_ENABLE=1 and now it doesn’t cause so much variation on the Vcc (+5v)

No more power issues - so far!

Thanks Shawn. Very helpful. I may retrieve the 2 pixfalcons I threw at the bin! I read something about the firmware having problems accessing memory. Lost me at the stage of needing a new bootloader. Your solutions sound way more practical. Thanks.

BRD_TYPE is 2 (Pixhawk)
Firmware: fmuv2
It’s easy to do a bootloader update via MissionPlanner or QGC, only takes a few seconds.

Keep NTF_BUZZ_ENABLE = 0 to disable the onboard buzzer, it just causes vibrations and voltage fluctuations.

Our Pixfalcon is still going strong with the latest stable Arducopter on a 450mm wheelbase quad with 9x5 props/1175KV/3S5200 . It’s very acrobatic and so stable in wind you’d swear you were looking at a photograph.
Harmonic Notch filtering and Yaapu telemetry are the order of the day! We don’t have Dshot and ESC telemetry on this one since the motor outputs will only do PWM, but you wouldn’t know it from the performance. We ditched the OSD data (in favour of the yaapu telem) and just use a standard unadulterated 5.8GHz video FPV when required.

Every now and then (particularly after a bumpy ride in the car) the GPS goes crazy and it’s microscopic connectors all need a disconnect/reconnect.
Updating the GPS made a big difference to the 3Dfix time and reliability.