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¶
- Use the Arduino IDE to flash the Arduino with the ArduinoUSBLinker program.
- Prepare the ESC for firmware flashing:
- Connect a cable from the brown wired servo connector to 'gnd' on the Arduino.
- Connect a cable from the orange wired servo connector to 'digital pin 0' on the Arduino.
- You now need to compile the Blue Robotics version of SimonK Firmware:
- Change into the directory containing the tgy firmware using a terminal window.
- Execute 'make build_afro_nfet_addresses' from the command line. This should build a set of hex files (*id1-16.hex).
- 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).
- Upon success you can remove the Arduino.
- Peel back the heat shrink on the ESC exposing the PCB.
- Solder two electrical leads on the pads labeled SDA and SCL
- Heatshrink the ESC back up for protection.
Job Done!