How to compile a modded firmware for your V2 controller

Hello and welcome!

If you have a V2 controller and you want to tweak the firmware, here is a guide on how to set everything up to compile and upload yours.

  1. First of all you’ll need the Arduino IDE to compile, or the Visual Studio Code with the Arduino environment set-up.
    In our Gitlab repository you will find the libraries and hardware folders. Both need to be placed inside your Documents/Arduino folder.
    Then open the IDE and go to Tools -> Board -> Board Manager and install the latest version of the Arduino SAMD boards package.

  2. After this download t* (or any other version) folder from our repo containing the controller’s code and open it with the IDE.
    You can tweak or add whatever you want. Make sure you don’t add too much overhead to the controller’s loop time so the hardware scanning doesn’t degrade too much.
    If you open the serial monitor, and press send the letter ‘t’ at 250.000 bps you can enter test mode and with the ‘m’ command you can print loop time. This should be kept under 2.5 ms or 2500 micros.

  3. To compile the firmware, go to Tools -> Board and always select Yaeltex Kilomux and not the Yaeltex Kilomux (test) version.
    Then go to Sketch -> Export compiled binary and if the compiling succeeds, you will see the binary file inside the ytx-controller folder.

  4. To upload the firmware, check this guide: How to update firmware for v2 controllers using the desktop loader
    DO NOT PRESS UPLOAD on the Arduino IDE if your controller has v0.14 of the Yaeltex firmware. It will corrupt bootloader and hell will rise on Earth.
    v0.15+ will include a safeguard to prevent this.

This should get you all set to start building and uploading firmware!
If you have any doubts or ideas you’d like to share about specific feature implementation, we’ll be glad to see them on this forum :wink: