Register | Help | Store Account | FliteTest Dashboard
Results 1 to 6 of 6
  1. #1
    Senior Member
    Join Date
    Jun 2014
    Posts
    1,900

    BLHeli USB Linker interface with Arduino

    This seems to be a pretty standard feature of the BLHeli Suite, but I found very little discussion of it online, so I'm sticking this here in case it helps someone who comes along later.

    If you have BLHeli ESCs that have been flashed with the BLHeli bootloader, then you can flash and program the ESCs via the signal wire, which is awesome. But you need a one-wire interface or a USB linker. The good news is that you can use an Arduino board, which is something that a lot of RC hobbyists may have laying around. And the extra super-duper good news is that BLHeli Suite makes it dead simple.

    Plug in your Arduino board. Then start up BLHeli Suite and go to the "Interfaces for Atmel" (assuming you have an Atmel processor in your ESC). In that tab, go to the "Arduino Interfaces for Atmel" section. Select the type of Arduino board you have and select your COM port. Then click "Make ArduinoUSBLink Interface"

    Click image for larger version. 

Name:	blheli.png 
Views:	102 
Size:	54.5 KB 
ID:	45633

    BLHeli Suite will now flash your Arduino with code that makes it act like a USB Linker. Now connect GND on your Arduino to the ground pin on your ESC's signal wire; connect Arduino pin D2 (digital pin 2) to the signal pin on your ESC's signal wire. DO NOT CONNECT THE ESC'S 5v WIRE TO ANYTHING. If your ESC has a BEC, bad things can happen to your Arduino if you hook it up. Now click the "ATMEL / SILABS" menu and select "Atmel ArduinoUSBLinker Interface." Finally, go to the "Atmel BESC Setup" tab. Power up the ESC, click "Connect" to the COM port, and click "Read Setup". You're good to go!

  2. #2
    Senior Member
    Join Date
    Sep 2013
    Location
    Zürich, Switzerland
    Posts
    397
    Great Tip, thanks.

  3. #3
    Senior Member
    Join Date
    Sep 2013
    Location
    Zürich, Switzerland
    Posts
    397
    Hi Mr Bell,

    I have ZTW Atmel ESC's and I flashed them with BLHeli. When I did, I chose to write the BLHeli bootloader as I thought that is the right thing to do and I wanted the option to program via the servo cable.

    Now I tried your method above and it simply doesn't connect, and after some research I saw some whisperings that the USB linker only works with the SimonK bootloader and the the "single wire interface" works for the BLHeli bootloader.

    Well I tried both, but the documentation is very scarce, so I'm not even sure which pin is used on the Arduino, some say 2, some say 3 and some say 9. Then of course it changes depending on the arduino board used.

    Please shed some light

  4. #4
    Senior Member
    Join Date
    Jun 2014
    Posts
    1,900
    I'm afraid I can't provide any more details than this.

  5. #5
    Posted a thousand or more times C0d3M0nk3y's Avatar
    Join Date
    Jun 2014
    Location
    Missouri, USA
    Posts
    1,716
    I had to use D11 for 1 wire on my Arduino Uno. I believe it's D3 for an Arduino Nano.

  6. #6
    Senior Member
    Join Date
    Sep 2013
    Location
    Zürich, Switzerland
    Posts
    397
    Quote Originally Posted by joshuabardwell View Post
    I'm afraid I can't provide any more details than this.
    No Worries, I ended up flashing again by removing the heatshrink and flashing the SimonK bootloader.
    Now the BLHeli USBLinker works a treat.

    So from what I deduce, for BLHeli with BLHeli bootloader you have to use the "1 wire interface on Pin 11"
    For BLHeli with SimonK bootloaded use "USBLinker on Pin 3"

    Cheers!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •