Pre-Flight setup and ESC Calibration

My first question pertains to whether to install the apm.deb package or to build from source myself (outlined here). If I want to modify some driver behavior in the future, would building from source be better for me?

Also, I am having some trouble with calibrating my ESCs (link). I have been reading over the forums and some documentation on how to calibrate them and I can’t seem to get it to work. My Taranis is working and calibrated, and when I run the APM binary, the ESCs beep emit one low beep and one higher beep. However, running APM binary with the throttle high or low does not change the sound my ESCs give, which means it is never going into calibration mode. Is there something that I might be missing here?


For your first try it would be better to install the deb package and as soon as you are ready to make changes to the code try to compile APM from source.

Can you try calibrating your ESCs one by one, connecting them to your receiver 3rd channel?

1 Like

Thank you, I will try this when I get back from holiday :slight_smile:

I have the same problem too that don’t know how to calibrate when ESCs connected to Navio, and I have calibrated ESCs one by one by connecting them to the receiver, but it can’t be taken off.

I calibrated the ESC by plugging it into the receiver, not plugged ESCs into to Navio because I don’t understand how to calibrate while ESCs plugged to Navio. Usually the ESC go into the calibration when it detects the throttle was in MAX position while it was powered on, but when poweron the APM for Navio had not been run, how can it notify the ESC goes into the calibration?

However, I do the ESC calibration again, but that 4 motors does not start at the same time, there are 2 motor start at the same time at first, then raised the throttle more the 3th started, and raised more the 4th started, but not in the same speed, and I can not take it off.

And I found the motor speed does not fully following the throttle position, this behavior is very frightening, do you have this problem?

1 Like

ESC calibration is a very straight forward process

Read this all the way through

All at once calibration is possible on the navio, but a little difficult if you don’t have ardupilot set up to autostart on bootup.

The sure fire way of calibration is one at at time.

The problem you describe above sounds like at classic example of improper calibration.

In the current version of Mission Planner (1.3.34 build 1.1.5836.10557) I was able to calibrate the ESCs without any RC input sequence. That’s much easier than before. Now the ESC calibration screen is completely different with simple instructions, of which these are relevant for Navio:

  1. Setup APM to auto-start in Linux.
  2. Complete Radio Calibration.
  3. Push the “Start” button to enable ESC calibration (it does not reboot as suggested).
  4. Unplug then re-plug battery, so the RasPi of course loses power/reboots at this point.
  5. Wait for Linux and APM to start. ESCs will beep and all lights on when successful (mine beeped whilst starting then gave a long beep and changed LEDs from red to green when finished).
  6. Move the throttle to test (but not necessary for calibration anymore). More important to check motors start to spin and stop at the same time.
  7. Unplug the battery to end test mode. Re-plug of course if you wish to continue with APM setup.

It’s clear the the movement is not necessary because the range from RC calibration is being sent automatically. Neat!

I don’t know if Mission Planner or APM added that, i.e. if it’s required to have a certain APM version or if it works that way in other GCS software. It certainly simplifies setup for Navio.

Maybe that was added earlier but I just found it :sunglasses:

By the way first I had weird ESC behaviour and even one not working in APM but working separately on a servo tester, getting dangerously hot without any green light. That was fixed by re-flashing the ESCs with the current firmware.

The sequence should really include checking/flashing ESCs at the beginning unless you can’t do that or are sure the factory settings/shelf-time were exactly the same.

1 Like

I was able to calibrate the ESCs 1 by 1 by plugging each into channel 3 and doing it manually. I just tried your Mission Planner method @CodeChief, but it gave me an error that I needed version 3.3+. That method would have been pretty cool, but manual calibration will do fine.Also, I have some new tuning issues. :dizzy_face:

When I first arm my motors and push the throttle up a little and leave it, the motors slowly get faster and faster for about 5 seconds, before stabilizing. They don’t ever go fast enough to get off the ground, but I think it’s probably abnormal for this to be happening at low throttle, when I am not moving the throttle stick. Has anyone else experienced this issue?

Additionally, I followed the APM wiring diagram for connecting my ESCs (using X frame)

However, the actual orientations when flying seem to be rotated 90 degrees clockwise. (i.e. forward stick is roll right, right stick is pitch back, etc). Should I just compensate by mounting the Navio rotated 90 degrees clockwise as well and ignore it? Other than some semi-bad drifting, it’s flying fine.

First confirm the RC channels are all mapped correctly. Do you see the correct behaviour of throttle/yaw (left stick if mode 2) and roll/pitch (right stick if mode 2) coming through to Mission Planner’s RC calibration screen? Do you have values ~<=1000 and ~>=2000 detected/calibrated by your movements? e.g. with a Taranis the lower is ~988 and upper ~2012.

Once that is confirmed, then we don’t need to talk anymore about RC input and can focus on the output/ESC/propellers. Did you double-check all motors are spinning the correct directions, and props are the correct way around. Usually that means the writing is on top and you bought different (CW clockwise and CCW counter-clockwise) propellers, installing them on the appropriate motors. On the quad X they should be spinning so that the propellers are pushing against air from the side around into the middle front/back ends of the frame.

Check your ESCs are programmed and no advanced options are enabled. Even if your ESCs don’t support flashing there should be a “programming sequence” or card which enables or disables various settings. All ESCs must have the same firmware and configuration.

Check for dry solder joints if you did custom work on the cables to tidy the build. Use a servo tester on each arm/ESC input to confirm the behaviour is as expected (somewhere near lower PWM start to somewhere near upper PWM full power) and that no excessive heat is generated by the ESC during light/testing operation (bad ESCs and motors are common enough when buying relatively cheap mass produced products).

Check there is absolutely not more than one power input connected to the Navio servo rail. The only device connected to power (output) should be the RC receiver unless you have servos for landing gear/gimbal, etc… Disconnect any other devices from the servo rail until the motor problem is fixed.

Reset all APM settings to default with the current Mission Planner software and don’t use the wizard to configure it. Manually click through the Mandatory Hardware and the Battery Monitor and Motor Test of Optional Hardware. The Motor Test is probably the best point to stop at when it doesn’t work. Then describe the exact behaviour and share the logs at this point (best on DIY Drones forum but we could also try to understand it here) for further diagnosis.

You could also try the master build, then the new simplified ESC calibration should work. But that shouldn’t be necessary because the Emlid apm.deb build is stable for many other people. In case you want to experiment with 3.3.2 “master” this procedure and script will load that easily for you: APM 3.3-rc9 beta testing - #23 by CodeChief

After extensive testing I came across ESC problems after a “successful” calibration…

  1. The automatic calibration had a bit too high an offset before the motors spinned. That leads me to believe that the cailibration was actually not successful and the default 1060 PWM value was being used (STOP_RC_PULS default in RapidFlash).
  2. You have to be very careful if you run any of the Navio test programs, because doing this afterwards caused some of my ESCs to go into a random state where they were no longer calibrated and didn’t even show the normal LED lights and beeps during initialization! Not blaming that on the test programs, they do exactly what they say they do (I think it was caused when I ran the PPM decoding test that outputs each channel and movements of sticks, causing some ESCs to go funny, with some beeps I think they got into programming mode or something)

After that, I have come to this conclusion:

  1. We know the RC values better than APM, either by our transmitter/receiver specification and verified by the Mission Planner RC calibration GUI:
  2. The ESC firmware has the advanced option to both set the STOP_RC_PULS (minimum throttle PWM) and FULL_RC_PULS (max throttle PWM). Just set them directly!
  3. Additionally disable the RC_CALIBRATION option to prevent this calibration from being wiped out by any test tool or initialization error/behaviour in PWM during start-up. It is a hard setting anyway so there is no requirement to leave this enabled except for convenience.

Not saying there is a problem, but it was strange how my ESCs just stopped working and had to be re-flashed to get them back. Maybe this problem was caused by the current development “master” build.

I’m manually programming all my ESCs now, it’s easier and I want to know exactly that it is set to the specification anyway. As my Taranis outputs 988-2012 I decided to set 1000-2000. Here are my settings:

Now on the motor test page they spin at 4%. I could go nearer the limits I suppose, maybe 990 and 2010 or exactly 988 and 2012. I’m following recommendations from a model I had in Cleanflight where people set the PWM range manually just a bit inside of the raw range and it worked very well.

By the way, enabling MOTOR_BRAKE and disabling BEACON are not necessary, just my preferences. I have a lost model alarm already and like snappy performance.

Not suggesting the average user should do this, just my take on it.

Thanks for all the feedback on ESC calibration. I will need to do some more extensive testing. At the moment, I had a crash and need to repair some parts of the frame before I can get it up in the air again. Will report back here when I get to that point. :smile: