Flashing SimonK with Arduino through the signal wire (1-wire)

In this article I will show you how to flash the SimonK firmware with your Arduino through the ESC´s signal wire without removing the shrink tube and using an ISP Programmer.

Important: to flash the firmware through the signal wire, the bootloader of the ESC must be enabled. This is the case if you have bought a SimonK preflashed ESC (like the Afro Series ESC) or you have already flashed the ESC with an ISP Programmer and have enabled the bootloader by yourself.

Needed parts:

  • Arduino board
  • ESC with enabled bootloader

Making ArduinoUSBLinker:

First we need to flash the ArduinoUSBLinker code on the Arduino. If you want to upload it through the Arduino Software, download the source code from github. Open the ArduinoUSBLinker.ino file in the Arduino Software, select the right COM port and upload it to the Arduino board.


You can also use the KKmulticopter Flash Tool for making the ArduinoUSBLinker. Go to the “Tools”-menu and click on “Upload Arduino USB Linker” and select your Arduino board. Wait for the message, that you should connect the Arduino to the PC. Then plug it in and click “Ok”. The Arduino should be detected by the system. If the flashing is successful, the Arduino board is ready.


How-To connect:

Connect the orange wire (signal wire) from the ESC to Digital Pin2 on the Arduino and the brown wire (ground) to the GND Pin on the Arduino. Connect the ESC to an external power.

Flashing the firmware:

Flashing the SimonK firmware through the signal wire is almost like flashing the firmware with an ISP Programmer. The only difference is, you choose as an Programmer the ArduinoUSBLinker. Choose the right controller (without bootloader, as it is already enabled), the right firmware and firmware version and click on the green button on the right to flash it.


If you wish to enable the comp_pwm (aka damped light) function, check how to do it in the article mentioned above.

You can also flash the SimonK firmware using the RapidFlash App for Google Chrome. It looks very similar to the Baseflight/Cleanflight Configurator for the Naze32/CC3D boards. Select the Programmer, COM Port, Firmware and the Firmware version and click flash. On the ”Advanced”-Tab you can enable the comp_pwm function much easier than with KKmulticopter Flash Tool.


If you have any problems, feel free to comment.