How to Run BLHeliSuite on Mac OS X

UPDATE – BLHeli Configurator

Recently an open source project called BLHeli Configurator was pushed to the Google App store. This is great news for Mac users! Just download the app and you are ready to configure or flash your BLHeli and BLHeli_S ESCs.

Introduction

Most FPV pilots nowadays are running ESCs with BLHeli firmware. Whether they are Little Bees, Angry-Beast or even SN20A’s they all have one program in common, and that is BLHeliSuite. BLHeliSuite is a Windows based application that connects to your ESCs either through One Wire or now through your flight controller running Betaflight and allows you to configure important settings on the ESCs.  If you are like me and run a Mac both at your workbench and in the field, you may have figured out that you are unable to run BLHeliSuite. Up until recently I have been running a Windows VM on my Mac to get BLHeliSuite working. Although this does work, I can’t really say that it is all that convenient, and it can be quite a pain to map through the USB port. This post explains my latest solution and why I prefer this method. But first…. a warning….

Warning

This is a hack! Yup, I have to be completely honest, this is not the easiest solution out there, but it works for me. What I like about this solution is that you do not need to run a Windows VM on your Mac. What I don’t like about this solution is the time it takes to map the USB port through to BLHeliSuite. If you are not comfortable using the Terminal on your Mac this is not the solution for you.

What You Will Need

Instructions

Part 1 – Building the BLHeliSuite Application

You will only need to build the application one time. If you have already completed part 1 you may proceed to part 2.

  1. Download and install WineBottler
  2. Download and Extract BLHeliSuite
  3. Run the WineBottler App

  4. Go to the Advanced tab

  5. Under “Program to install” click the “select File…” button
  6. Navigate to the extracted BLHeliSuite folder and select the BLHeliSuite.exe file

  7. Select the radio button labeled ‘This is the actual program, copy it and all files that are in the same folder”

  8. Check the box labeled “Include Wine binaries, so the app can run without prior install of Wine”

  9. Click “Install” at the bottom of the page
  10. Here you will be prompted as to where to save the new application. Save the app as BLHeliSuite. For this demo I will be saving it to my desktop. (IMPORTANT: Do not save the new application in the extracted BLHeliSuite folder. This will cause an infinite loop and take up all of your hard drive space)

  11. Click “Save” and give it some time to complete
  12. Once complete you can run the application to test it out

Part 2 – Mapping the USB Device to BLHeliSuite

This will need to be performed almost every time you plug in a new USB device to configure an ESC.

  1. Close out of the BLHeliSuite application if it is open
  2. Unplug the USB Programmer or flight controller if it is plugged in
  3. Open Terminal

  4. Run the following commands in terminal
    1. cd /dev
    2. ls > /tmp/before.txt
  5. Plug in your USB programmer or flight controller (You may need Cleanflight Configurator open, but not connected if are using passthrough)
  6. Run the following commands in terminal
    1. ls > /tmp/after.txt
    2. diff /tmp/before.txt /tmp/after.txt
  7. The output should look something like this

  8. The device you want typically starts with “cu”. In my case the device is located at /dev/cu.SLAB_USBtoUART
  9. Link the device to your newly created instance of BLHeliSuite by running the following command
    1. ln -s <Path to Your Device> <Path to Your BLHeliSuite App>/BLHeliSuite.app/Contents/Resources/dosdevices/com1
      Here is an example command from my environment:
      ln -s /dev/cu.SLAB_USBtoUART ~/Desktop/BLHeliSuite.app/Contents/Resources/dosdevices/com1

  10. You can now launch the BLHeliSuite application and connect as you normally would using the Com1 port

15 Responses to “How to Run BLHeliSuite on Mac OS X

  • Step N. 9
    you write once …/dosdevices/com1 and then in the example of your environment …/Resources/dosc
    Which one is correct? That’s the only step that doesn’t work for me. Thanks for your help!

    • In step 9 you are creating a symbolic link from the actual com device to a location in the wine package. It should look something like: ln -s /BLHeliSuite.app/Contents/Resources/dosdevices/com1 . Replace the carrot sections with the actual paths on your computer.

  • So close… I’m running El Capitan so the newest version of WineBottler has to be used. Seems there is a slight directory structure change and missing the COM1 file or folder. :(

    This is the command I’m typing in:
    ln -s /dev/cu.SLAB_USBtoUART /applications/BLHeliSuite.app/Contents/Resources/winprefix/dosdevices/com1

    I get an error “No such file or directory.”

    Notice the addition directory layer of /wineprefix/…
    But I open the BLHeliSuite bundle and I can’t see the “COM1” file or folder in the /dosdevices/ folder. I only see the drives like C, D, etc.

    Is there any way to add the COM1 file/folder? Like is it an option during the creation of the Wine App, to forcibly include the COM port?

    • The ‘ln’ command should create the com1 linkage for you. If you are getting “No Such file or directory” it is more likely that your directory path to dosdevices is incorrect or your /dev/cu.SLAB_USBtoUART device is not actually mounted. Double check both of these and let me know if you are still having any issues.

    • I’m having the same issue, Please update if you have a solution.

    • lol, try this:
      ln -s /dev/cu.SLAB_USBtoUART /applications/BLHeliSuite.app/Contents/Resources/wineprefix/dosdevices/com1

      instead of this:
      ln -s /dev/cu.SLAB_USBtoUART /applications/BLHeliSuite.app/Contents/Resources/winprefix/dosdevices/com1

  • any idea why i’m getting a permission denied message when i’m try and link my device to coms? i am an admin on my system and i also tried doing it as root with same result.

  • Did it all, and it all looked good. But no joy.

    When I try to connect in BLHeli I get:

    “Unable to open com port
    System Error. Code:2.
    File not found”

  • HELP: when I type cd/dev it says “No such file or directory” and if I type /dev it says “is a directory”. Now, when I type /tmp/before.txt it says “Permission denied”. I can’t figure out what to do from there

  • There is some key pice of information this article is lacking that I cannot figure out. I think it might be how to find the actual path on the computer.

  • I can’t get it to work right, it keeps saying “No Such file or directory” and I already tried a lot of things. But to what should I link if there are only C, D and Z drives?

Leave a Reply