A simple I2C library for ESCs using the Blue Robotics version of SimonK's TGY firmware (https://github.com/bluerobotics/tgy). This library supports the BlueESC, but also the Afro Nfet 30A. I2C is an alternative interface for micro-controllers, rather than using PWM (as a servo) -- this provides some additional features like temperature level, RPM, etc.

Dependents:   SimonK_I2C_ESC_Example

Configuring Your Afro 30A ESC

IMPORTANT!

The firmware below is specifically for setting these ESC's up for the use in marine vehicles; do not depend on it for multi rotors! (wrong timings can damage motors!).

For reference the Turnigy DST-700 motors were used in combination with these ESC's; no other motor has been tested.

Requirements

  • Clone / Download this Arduino program: https://github.com/c---/ArduinoUSBLinker
  • Arduino (Uno) and Arduino IDE
  • AVRA installed on OSX / Linux (brew install avra or sudo apt-get install avra)
  • Clone / Download this repo: https://github.com/bluerobotics/tgy
  • Afro 30A ESC (other Afro ESC's, e.g. the 12A , are not compatible as they do not have the i2c ports on the board)
  • Soldering iron, etc.

Procedure

  1. Use the Arduino IDE to flash the Arduino with the ArduinoUSBLinker program.
  2. Prepare the ESC for firmware flashing:
    1. Connect a cable from the brown wired servo connector to 'gnd' on the Arduino.
    2. Connect a cable from the orange wired servo connector to 'digital pin 0' on the Arduino.
  3. You now need to compile the Blue Robotics version of SimonK Firmware:
    1. Change into the directory containing the tgy firmware using a terminal window.
    2. Execute 'make build_afro_nfet_addresses' from the command line. This should build a set of hex files (*id1-16.hex).
  4. Now flash the ESC with the firmware using 'avrdude -c stk500v2 -b 9600 -P [arduino com port] -p m8 -U flash:w:afro_nfet_id1.hex:i' (If you wish to communicate with multiple Afro/BlueRobotics ESCs make sure you flash each ESC with a different numbered hex file).
  5. Upon success you can remove the Arduino.
  6. Peel back the heat shrink on the ESC exposing the PCB.
  7. Solder two electrical leads on the pads labeled SDA and SCL
  8. Heatshrink the ESC back up for protection.

Job Done!


All wikipages