Flash ESC with 1-Wire Bootloader Interface – Via Signal cable – SN20A with BLHeli

As explained previously about what ESC bootloader does, we can use so called “1-wire” interface to flash and configure your ESC firmware settings.

Basically that means you can just plug your ESC signal and ground wire into your USB linker programmer, or Arduino board, and no need to rip apart the heatshrink to access the Atmel chip any more.

If you have SimonK Bootloader on the ESC already (safe to assume so if you already have SimonK Firmware on the ESC), you can use 1-wire flashing for both BLHeli and SimonK. If you have BLHeli Bootloader, you can only use 1-wire with BLHeli firmware.

Flashing ESC directly on the chip, using flash tool.

how-to-flash-ESC-with-atmega-flash-tool-orientation

Flashing ESC using one-wire interface through signal cable.

arduino-nano-flash-esc-configure-one-wire-blheli-linker-programmer-sn20a

Let’s Get Started

With 1-wire flashing, you can either use a dedicated USB Linker programmer, which are designed for 1-wire flashing, or you can setup yours with Arduino UNO or Nano board. In this post I will show you how to do this with both Arduino boards.

Setup Arduino for 1-Wire

First, prepare your Arduino for one-wire interface – Choose the correct Arduino board and COM port, then press “Make Arduino 1-wire Interface”.

flash-esc-one-wire-blheli-linker-programmer-software-gui-1

Connection between Arduino and ESC

For both cases, you need to power the ESC with your lipo. Don’t let the motor wires touch each other. It doesn’t matter if you have connected the ESC to motor or not, it should still work for 1-wire.

Arduino Uno

Using Pin 0 (RX) and GND on the Arduino to connect to the signal/GND pins on the ESC. (BLHeli Bootloader 1-wire)

(Note for SimonK bootloader and ArduinoUSBLinker (in BLHeliSuite), you need to use Pin 2 to connect to Signal.)

arduino-uno-flash-esc-configure-one-wire-blheli-linker-programmer

Arduino Nano

All you need to connect is the GND and D3.

arduino-nano-flash-esc-configure-one-wire-blheli-linker-programmer

Connecting on BLHeli Suite GUI

Before connecting, choose the ATMEL 1-wire bootloader Interface in the dropdown menu.

flash-esc-one-wire-blheli-linker-programmer-software-gui-2

And choose the correct COM port down below, and you should be good to connect. :)

Flashing DYS SN20A ESC with BLHeli

It’s quite amazing that the BLHeli version of DYS 20A ESC got sold out almost everywhere, but not the SimonK version.

In fact, you can flash the SN20A ESC with BLHeli firmware, using the 1-wire programmer, and you have the exact same ESC as BL20A!

38 thoughts on “Flash ESC with 1-Wire Bootloader Interface – Via Signal cable – SN20A with BLHeli

  1. Austin Chopra

    Hi Oscar
    Can you re do this post, or update it, i am having so many problems with mine not even connecting to the arduino.

    Reply
  2. Shaun

    Hi Oscar,

    Thanks for this post, I was able to successfully connect to my Little Bee 20’s using this method and an Arduino Nano.

    Reply
  3. TempleClause

    Hi Oscar

    Is it correct that sislab ESC’s do not support 1 wire interface?
    When I flashed my ATMEL ESC’s I was asked if I want to put BL Heli Bootloader on it.
    But when I flashed my sislab ESC’s I saw no option for this…

    Thanks

    Reply
    1. Oscar Post author

      I guess you mean Siblabs?
      no they should work, my RG20A and Littlebee 20A both working fine.
      They don’t ask because Siblabs only support BLHeli bootloader not SimonK, due to memory issue.

      Reply
      1. TempleClause

        Hi Oscar

        Whoops, yes I meant Siblabs! Hmm strange, would you mind updating this tutorial for the newest version of the BlHeli Suite? The context menus have changed a lot and I can’t get it working.

        Thanks a lot

      2. EquinoxFPV

        Hi Oscar. You said this work with littlebees escs? I can’t get it to work with my chinese UNO board. I’m going to put 14.2 on so I can access them through betaflight (Seems you need 14.2 to do that in latest betaflight).

  4. Fuzz

    Hi,

    Can this method be used to install the BLHeli Bootloader onto DYS20A ESC’s? I have a couple that have the SimonK firmware and I want them to have the BLHeli Bootloader firmware. Thanks.

    Reply
    1. Oscar Post author

      no.. to change bootloader you will need to connect the soldering pads next to the processor to an Arduino ISP programmer…

      Reply
  5. Qamal

    Hi Oscar,
    Nice write up.
    I was having trouble flashing my DYS BL20A from BG with Arduino Uno using your guide i.e. interface with ATMEL BLHeli Bootloader USB/Com. Must have tried it half a dozen times using different pins on the Uno for the ESC signal cable.
    Fortunately I read your note highlighted in RED regarding the SimonK bootloader and ArduinoUSBLinker.
    Set-up the interface to ArduinoUSBLink SKBootloader and connected ESC signal to Pin 2 and the whole flashing thing WORKS. Now my ESC is flashed with BLHeli rev:14.0.
    Thanks and regards.

    Reply
  6. jhawk

    Hi Oscar

    I setup the Arduino Uno board, followed the steps.
    Connect the Afro Esc 12A, but got error message on screen as follow.
    Stk500v2 connection to ESC at COM8 failed.
    Error:”CMD_SIGN_ON: read=>Yimeout(no answer)

    uno board malfunction ?

    Reply
    1. Oscar Post author

      might be a bootloader issue?
      What bootloader do you have on the ESC?
      What pin are you using on the ARduino to connect to signal on ESC?
      What Arduino Interface did you use on BLHeliSuite?

      Reply
      1. jhawk

        Hi Oscar

        The Afro ESC is 12A with FW afro_nfet.hex should have the SK bootloader enabled. Bought it 2 weeks ago from Hobby King. In BLHeilSuite (14003) I selected ArduinoUSBlink in the “make Arduino interface boards” . this part is success.
        Connect ESC signal to pin 2 (the 3rd one above TX )/gnd to gnd on Uno board.
        The interface chosen was ATMEL SKbootloader (arduinoUSbLinker).
        select correct com8 and connect. Any idea ?

      2. Oscar Post author

        sounds correct to me!
        and you press “connect” or “read setup” before you connect the lipo battery?
        have you also got the ATMEL chip flash tool just in case 1-wire doesn’t work for you?

  7. Gryffin

    Hi Oscar,

    I need to flash my sn20a’s with new firmware. (a couple esc’s are glitchy and incidentally they are the 06.2015 batch, which have supposedly been recalled for bad firmware. I cannot find where to get an arduino nano locally, and really don’t want to wait for international shipping. I do however have a teensy lying around, and was wondering if I could use the teensy instead. Do you know if I can do this, and if I can, what pins do I have to use?

    Thanks

    Reply
    1. Oscar Post author

      sorry i am not familiar with the Teensy. BLHeli has only written the interface software for Arduino anyway so i doubt it will work…

      Reply
  8. Hans

    Hi Oscar, thanks for your blog and this article, i really like it. I want to configure my ESC via the 1-wire interface, but with the latest version of the BLHeliSuite (14.0.0.2) there is no button “Make Arduino 1-Wire interface”.
    abload.de/image.php?img=interfacebuilder_30.0ebu4w.png
    I tried to get your version, but google didn’t help and i could’n find a source for downloading your version.
    Can you help me?

    Reply
    1. Oscar Post author

      it’s changed in version 14. depends on what the ESC bootloader you have got.
      SimonK bootloader => ArduinoUSBLinker
      BLHeli bootloader => Arduino BLheli bootloader

      Reply
      1. hulandy

        I have tried the same pin as UNO. Even set the pin by manually doesn’t work either. So I buy a UNO, It’s seems very smooth..

  9. Matt

    The first picture shows (I think) a blue series HK ESC. Can this be used instead of the expensive ATMEL cable to flash those particular ESCs? I’m guessing not as they won’t have the SK bootloader, but I’d love to be pleasantly surprised

    Reply
    1. Oscar Post author

      if they come directly from Hobbyking? no… you can only use 1-wire if they have previously flashed with SimonK or BLheli :)

      Reply
  10. Ernesto

    Hello Oscar, greetings from Cancun Mexico.
    Thank you for this great site full of usefull information!
    I have a question, is it possible to do this 1 wire flashing using a more “generic” adapter, say like a FTDI or USBASP card?
    You see, I bought 4 emax 20A “simon” (ibe read they actually have blheli, not simonk) ESCs, and all 4 of them are defective, but i suspect their problem is faulty firmware. The store is replacing them under warranty, but i would like to try to “revive” them if possible.
    I dont have an arduino board, but i do have an FTDI adapter i use with my minimOSD, and a USBASP i used to flash my flyshky9x.
    Maybe i can use one of those? if so, do you have any idea of where would i connect the ESC signal cable?

    thanks in advance.

    Reply
    1. Oscar Post author

      I don’t know to be honest. I Guess is no as it’s not using two wire RX/TX serial communication clearly. Get yourself an Arduino, or dedicated one wire USB linker, worth the investment :)

      Reply
    2. Jeremy

      Oscar , thanks for this great article. I had some trouble with SN30 programing. I have 1 ESC without any motor connected, worked like a charm with my arduino.

      My others ESCs are already soldered with my motors and when I try to connect them , I had a beeping motors , and Blhelis suite won’t connect.

      Have you got an idea ? thanks a lot !

      Reply
      1. Oscar Post author

        sorry i am not so sure, mine works like a charm with or without motors connected. Make sure you press “connect” before plug the battery?

  11. Jason Dalli

    Hi, I am having an issue with the DYS SN20A. Mine are ready with BLHELI but I am thinking that they came with the BLHELI bootloader. I am trying to read the parameters but I am having issues. Do I need to use the 1-wire procedure? Do I need to get an Arduino Nano or UNO? I have the duemilanove which is an old version of Arduino.

    Can someone help me please?

    Thanks
    Jason

    Reply
    1. Oscar Post author

      SN20A comes pre-flashed with SimonK, so i assume they have SK bootloader.
      So yes you should be able to use 1-wire interface to change settings.
      you should be able to use any USB linker programmers i think… but I have only used Arduino so far…

      Get yourself a new Arduino Uno :) they are good tool and good investment!

      thanks
      Oscar

      Reply
  12. teralift

    Hi.
    I always enjoy reading and referencing your entries; they are so educational and useful!

    For this entry, I just wanted to point out two things:

    1. At the beginning, it sounds like it is going to show us flashing on SK bootloader AND BH bootloader, but the actual procedure described is, I believe, for the BH bootloader only.

    2. I’m not sure if the arduino 1-wire interface programmed by BLHeliSuite 13.1 on uno uses the RX pin for signal. Many others including OP documentation suggest the use of Digital pin #2.

    Happy flying!

    Reply
    1. Oscar Post author

      Thanks :)
      1. I think I did point out how you can flash SK/BH bootloaders in the first link in this article, maybe you missed it :) (flash ESC directly on the chip)
      2. not sure, I didn’t see any documentation that mentioned the use of pin2… pin0 just works for me.

      Reply
      1. teralift

        Thanks for the comment.

        Oh, one more thing. Isn’t it better to substitute “Arduino USB Linker connections” in your pic with ” `Arduino 1-wire interface’ connections” (even though they may be identical) ? The “Arduino USB Linker” refers to an interface for flashing BLHeli on top of SK boot loader in the BLHeliSuite context.
        I may be too picky, but there were great deal of confusion when I did this my self for the very first time and eventually finding out that the “Arduino 1-wire Interface” and the “Arduino USB Linker Interface” are actually both 1-wire.

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).