Programming ESCs - GaryA/antweight-esc GitHub Wiki

Once you have constructed an Arduino-based programmer or obtained a Silicon Labs ToolStick you are ready to program ESCs.

The following sections describe the general set-up and specific connections for each target.

General Set-up

When programming ESCs, power them from a current-limited supply, not from a LiPo battery! If by any chance the code is not configured correctly, it could cause the ESC to short the power supply. Not too much of a problem for the ESC - its FETs are probably man enough for the job - but you could easily end up with a LiPo fire on your hands, not much fun.

There are only three connections needed between the ESC and the programmer, the two signals of the Silicon Labs C2 interface and a common 0V reference. There are generally 4 pads on the ESC, the forth one is (usually) the 3.3V power rail.

The Arduino/ATMega328 pinout is as follows:

C2CK = Pin 17 = Port PB3 = Arduino pin D11
C2D  = Pin 18 = Port PB4 = Arduino pin D12

The connections to the ESC are detailed in the following sections.

HobbyWing FlyFun 6A

Programming Connections

With the board held so that the programming pads are nearest you on the top side, the pads are arranged as follows:

0V   3.3V   C2CK   C2D

(Picture to follow)

Motor Connections

With the board held so that the motor wires are towards you, with the FETs on the top side, the connections are arranged as follows:

MOTOR+   MOTOR-   SPARE

(Picture to follow) The spare wire can be unsoldered to prevent any confusion in the future.