Hello all,

Up until today I was blissfully ignorant of the potential problems of using SimonK flashed ESC on larger multicopters with high pole count low kV motors. Maybe others know about this, but I did not. I was browsing the forums and came across this: 


I decided to try and reproduce this on my quad. I was shocked to find how easy it was to get the motor to briefly un-sync! Here is a video of me tilting the quad around in stabilize with only 1 motor connected:


My setup:

Ironman 650 quad

Multistar 690 kV 22 pole motors

4S 5000 mAh battery

12X3.8 APC props

Afro 30A ESC's with the original firmware untouched

Genuine 3DR APM 2.5.2 with 3.1 firmware

Keep in mind I have been flying my quad for 6 months with no issues. Flys great, although I have not flown it in much more than 10 mph winds. This concerns me greatly though.

The motors go unsynced for only an instant and appear to always recover immediately. I *hope* this means it will not crash from this in flight.

My questions to anyone that may have more knowledge of this situation:

1. I read Marco say that the 2012-09-30 SimonK firmware worked better concerning this problem. Is there a change log anywhere of the different firmwares? Does anyone know what changes were made specifically that improve or worsen this issue?

2. Am I tempting fate by continuing to fly my quad like this?

3. What ESC, or firmware, should I run to avoid this?

Thank you! I am scheduled to do some aerial photography this weekend for a group and was ready to go until I read this... now I am nervous. Any insight is much appreciated.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Update!

    I found a person on RCgroups discussing his same problems with the same motor / ESC combo. He alluded to resolving it by advancing the timing. I sent him a PM and he kindly sent me the .hex file that he used. This saved me a lot of time experimenting with modifying the timing in small amounts.

    Just flashed it into all 4 ESCs and it seems to work great! No sync problems. Did a test flight and everything went well too.

    For anyone curious, this was his message outlining the few changes:

    "If you use older  firmware re compile it and flash it with a bit more
    advance of about 24 degrees and lower frequency.
    Also in the file "tgy.asm" change the line that says:
    POWER_RANGE    = 800 * CPU_MHZ / 16 + MIN_DUTY
    POWER_RANGE    = 1200 * CPU_MHZ / 16 + MIN_DUTY

    Attached is the newer version ready compiled with the required changes"

    • Hi,

      could you please post a full diff of tgy.asm against original version?

      I have the same problem with Afro 30A, Tarot 4006/620KV, 4S. The motor keeps getting out of sync on quick throttle-up.


      • David,

        I have attached the .zip file that was given to me and 99% fixed my issues. Flash the afro_nfet.hex to the controller (I use the KKflashtool for this and the Afro USB dongle).

        I have not diff'ed the two versions, but this was the message given to me:

        "If you use older firmware, recompile it and flash it with a bit more advance of about 24 degrees and lower frequency. Also in the tgy.asm change the line that says
        POWER_RANGE = 800 * CPU_MHZ /16+MIN_DUTY

        POWER_RANGE = 1200 * CPU_MHZ /16+MIN_DUTY

        Attached is the newer version ready complied with the required changes. "

        Make sure to flash the correct version or the board can be damaged!

        Good luck.


        • Hi Jonathan,

          thanks for your answer. I got the file, uploaded to ESC, but unfortunately it didn't help. Sync loss problem is still there. :-/ For reference, here is the issue thread I have posted on github: https://github.com/sim-/tgy/issues/50

          Tarot 4006/620KV out of sync on quick throttle-up · Issue #50 · sim-/tgy
          Hello Simon, my setup: Afro 30A ESC (afro_nfet), Tarot 4006/620KV 22-pole motor, 1355 carbon prop, 4S LiPo. All goes smooth after slow throttle chang…
          • I did some more reading about BL heli. Looks like your answer. The Demag compensation is particularly intriguing. As I understand it, you can use the Afro USB tool to flash this easily, too.

            Here's an excerpt from the manual:

            Demag compensation is a feature to protect from motor stalls caused by long winding demagnetization time after commutation. The typical
            symptom is motor stop or stutter upon quick throttle increase, particularly when running at a low rpm. As described earlier, setting high
            commutation timing normally helps, but at the cost of efficiency. Throttle change rate can also be reduced, but at the cost of slower throttle
            The demag compensation is an alternative way of combating the issue. First of all, it detects when a demag situation occurs.
            - Then there is no info on motor timing, and commutation proceeds blindly with a variable advance.
            - In addition to this, motor power is cut off some time before the next commutation.
            - As a third countermeasure, commutation timing is set to high during the demag event.
            These two mechanisms are used to a varying degree as shown below, selected by the demag compensation parameter:
            Demag compensation 1 2 3 4
            Blind commutation advance 15 15 7.5 7.5
            Power off time 0 7.5 7.5 15
            The values are in degrees. A motor electrical revolution is 360degrees, and a commutation cycle is 60degrees.

            • I looks like I meanwhile found the cause of the problem. The manufacturer of motor did a mistake in its datasheet. Recommended 13x5.5 prop with 4S is probably wrong. The motor can't handle this prop on 4S. It should be either smaller prop or 3S battery. I tried 3S from another aircraft and SimonK fw in default setup works only with few red LED blinks. With COMP_PWM=1 option compiled it is almost perfect. It goes after throttle nice and smooth. I'll try it in the air tomorrow.

              Thanks for help anyway.

          • Humm, sorry it didn't work out. For me, once I updated, I was able to get it only very slight out of sync  when I gave the most extreme inputs. I deem it safe to fly and have flown it in 30+ mph winds with no ESC trouble. Granted, that was with 690 kV motors, maybe your motors are more finicky.

            Sounds like you should give BLheli a try.


  • why don't you try different Timing settings (google on how to do it, we had to recompile it)

    We have fried couple of pancake motors this way, going out of sync.

  • The latest SimonK firmware does much better then the firmware that comes on the Afro Esc's stock. I still had issues with syncing with the latest but I am running 580kv motors.

    I chose to flash blheli on them as it is easier to change the settings which can be done after they are flashed through the servo cable. I had to change the settings to be demag to off and timing at medium-high.

    You could try building simonk from source with different settings and flashing it to test. While you might be alright to continue flying I don't think I would until I know for a fact there are no more sync issues. All it will take is a strong gust of wind or a fast maneuver causing one or more motors to ramp up fast enough and go out of sync. As long as it recovers fast enough it might be alright or if it doesn't recover fast enough then it will go down. 

    • Hi George,

      Thank you for the advice. I have a spare controller, maybe I will try flashing the latest Simonk firmware on there tonight and see if it improves.

      I am familiar with how to flash using the KKmulticopter flash tool and the Afro USB programmer. Maybe a stupid question: Can I use this same programmer for flashing the BLheli firmware?


This reply was deleted.