After some intensified research, I am pretty sure, that my desired OTA (MySensor sketch directly to MCU flash without requiring external flash (DualOptiBoot requires flash) and being transport-agnostic (not MYSBootloader uses RF24)) with a 2560 can be done with the optiboot-fork bootloader by MCUdude (for the ATMega 2560 the variant is called "MegaCore", see The MegaCore provides some macros for the SPM (storage programable memory) functions, which are passed to the bootloader like __boot_page_fill_short, __boot_page_write_short and __boot_page_erase_short. The repository comes with precompiled bootloaders as .hex files and a nice Arduino GUI integration (see wiki). My next step is to integrate the example sketch SerialReadWrite.ino into MySensors/core/MyOTAFirmwareUpdate.[c|h]. Currently I am still a bit confused about the used defines. As far as I understand the #define MCUBOOT_PRESENT represents the MySensors bootloader by Tekka, the #else or #ifndef MCUBOOT_PRESENT branches are for the DualOptiboot bootloader (which is somehow deprecated). It looks like several defines are declared in #include "generated_dts_board.h", but I cannot find the file. Also there must be some kind of #include towards the dualoptiboot or mysensors specific bootloader header files, right?