Custom Firmware on F-30 ESCs

James Young · May 8, 2012

I just got my new Hobbyking F-30 ESCs for the new quad I’m building.  Now, I specifically picked these ESCs because they are a great candidate for using the SimonK ESC firmware on.  This firmware is custom-written to be suitable for multicopters, and has far superior response characteristics to standard firmware.  The F-30 has a few features which make it a good pick (I think) for this firmware;

  • It has an Atmel processor, and there’s no signs that will be stopping.  The Plush series changed over to a Silicon Labs processor recently, so all new ones will be SiLabs
  • Overpowered for what I need, but it only runs 2 grams heavier than the F-20
  • Has an external oscillator
  • Has programming pads and they’re in a row and quite accessible

You can find a database of supported ESCs and notes about them at the RapidESC Database.  At any rate, I went and cut open my F-30’s, stripped off the heatsink, and what I found was basically exactly what I found at the RCGroups thread about it;

HK F-30 ESC (pic courtesy RCGroups.com)

Fantastic!  So, I went ahead and made up a jig for connecting to the pads using some single-strand copper wire, a hot glue gun, and a clothespeg;

Programming jig - highly professional

As for programming, I wired it all up to my BusPirate, and then ran the following command;

avrdude -c buspirate -P COM8 -p m8 -v -U flash:w:bs_nfet.hex

The .HEX file can be got from the Downloads link at SimonK’s GitHub site.  It was rather fiddly getting all six pads touching at once, but once I got into the swing of it, I got all six programmed fairly quickly.

Then for testing.  For testing, I used a bunch of leads with alligator clips on them, hooked up the ESC to a spare Turnigy 2217-16 motor I have lying around (no propeller!), and then connected the power to a benchtop power supply I’ve got.  I used the benchtop supply because it can’t put out too much current, has short circuit protection, and has an adjustable voltage output (I used 8 volts).  Hook up the ESC servo cable to channel 3 on a cheap receiver, and hold onto your hat.

They all worked.  First power up was with the transmitter off, and the ESC beeped three times (ascending) as expected.  Second power up was with the throttle on maximum.  Three beeps, followed by one extra beep.  Drop throttle to minimum, ESC emits two beeps.  From there, moving the throttle makes the motor fire up and do what you’d expect.  There’s a notable lack of strange clicking sounds like you get with the stock firmware.

Next up is to repeat the same thing on my older Turnigy Plush 25A ESCs, but first I need some heatshrink that I can put on all the ESCs to protect them.  I’m quite looking forward to seeing how the existing quad flies with this new firmware in place.

Twitter, Facebook