Customized Optiboot bootloader allows reflashing Moteino/AVR boards from an external serial FLASH memory chip. This makes it possible to wirelessly program a Moteino remotely by first transferring the compiled HEX binary wirelessly (ex. with an RFM69 transceiver), then restarting the board to allow the bootloader to pick it up and reflash the atmega's program area. Copyright Felix Rusu (2013-2019), lowpowerlab.com/contact More at: http://lowpowerlab.com/Moteino
This Optiboot version is modified to add the capability of reflashing from an external SPI flash memory chip. As configured this will work with Moteinos provided a SPI flash chip is present on the dedicated onboard footprint.
The added code will result in a compiled size of just under 1kb (Originally Optiboot takes just under 0.5kb)
To compile copy the Optiboot.c and Makefile files where Optiboot is originally located, mine is at: arduino-install-dir\hardware\arduino\bootloaders\optiboot\ Backup the original files andbefore overwrite both files.
Then compile by running:
make atmega328
make atmega1284p
make atmega328 AVR_FREQ=8000000L BAUD_RATE=57600
GPL 3.0. See License.txt file.