Custom firmware and Farmbot OS 8

As of version 8 of farmbot os, custom arduino-firmware is no longer allowed to be selected anywhere. The only way to bundle custom firmware is to build the OS image from source. This is to prevent incompatibilities and failures at runtime. If you are building custom arduino firmware, you will need a development build of farmbot os to debug your changes anyway.

This document outlines how to build farmbot os from source. Here is an outline of extra steps for building custom firmware.

  • Follow steps in linked guide to make sure you can build correctly
    • ensure that you can burn a firmware image
  • change directory into the arduino_firmware git submodule
  • change the git remote to point to your fork of the firmware project
  • build a hex file for your target firmware hardware
  • overwrite one of the existing hex files in the project. the version string in the source must match the hex file name.
    • Example: if you overwrite $FBOS_SRC_ROOT/farmbot_firmware/priv/arduino_firmware.hex, then FARMBOT_BOARD_ID must be set to 0 when building the firmware.
  • if you are attempting to build a new project from scratch, (IE not a fork of our officially supported firmware), you will need to ensure that the protocol is followed exactly the same way as the official firmware. Especially the REPORT_SOFTWARE_VERSION command.
1 Like