Skip to content

Commit cf8a7d2

Browse files
committed
README - about generic SD upload
1 parent cf91a20 commit cf8a7d2

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ The library is a modification of the Arduino WiFi101OTA library.
2727
* Arduino SAMD boards like Zero, M0 or MKR and the new "Nano 33 IoT"
2828
* nRF5 board supported by [nRF5 core](https://github.com/sandeepmistry/arduino-nRF5).
2929
* boards supported by ESP8266 and ESP32 Arduino boards package
30+
* any board with MCU with SD bootloader
3031

3132
## Supported networking libraries
3233

@@ -54,6 +55,8 @@ For ESP8266 and ESP32 boards, platform.local.txt from extras folder need to be c
5455

5556
ATmega boards require to flash a modified Optiboot bootloader for flash write operations. Details are below.
5657

58+
For other MCU upload over SD card is possible if the MCU has SD bootloader which can bootload the update bin from SD card. See the ATmega-SD example. Some MCU can use a second stage SD bootloader linked to the sketch as a library similar to SAMD package's SDU library. For upload the 'fake OTA programmer' technique can be configured.
59+
5760
## OTA Upload from IDE without 'network port'
5861

5962
Some of the supported networking libraries don't have the UDP.beginMulticast function and can't start a MDNS service to propagate the network port for Arduino IDE. And sometimes the MDNS port is not detected for the good libraries too. Arduino IDE doesn't yet allow to enter the IP address.
@@ -79,13 +82,13 @@ In advanced section of examples you can find examples of sketch update over down
7982

8083
## ATmega support
8184

82-
The size of networking library and SD library limit the use of ArduinoOTA library to ATmega MCUs with at least 64 kB flash memory.
85+
The sizes of networking library and the SD library allows the use of ArduinoOTA library only with ATmega MCUs with at least 64 kB flash memory.
8386

84-
*There are other network upload options for here excluded ATmega328p: ([Ariadne bootloader](https://github.com/loathingKernel/ariadne-bootloader) for Wiznet chips, [WiFiLink firmware](https://github.com/jandrassy/arduino-firmware-wifilink) for the esp8266).*
87+
*Side note: There are other network upload options for here excluded ATmega328p: ([Ariadne bootloader](https://github.com/loathingKernel/ariadne-bootloader) for Wiznet chips, [WiFiLink firmware](https://github.com/jandrassy/arduino-firmware-wifilink) for the esp8266) or [AvrDudeTelnet](https://github.com/jandrassy/lab/blob/master/AvrDudeTelnet/AvrDudeTelnet.ino) upload (Linux only).*
8588

86-
For upload over InternalStorage, Optiboot bootloader with [`copy_flash_pages` function](https://github.com/Optiboot/optiboot/pull/269) is required. MegaCore 2.0.2 bootloader source has `copy_flash_pages` functions. (The build hex files do not contain it.)
89+
For upload with ArduinoOTA library over InternalStorage, Optiboot bootloader with [`copy_flash_pages` function](https://github.com/Optiboot/optiboot/pull/269) is required. MegaCore 2.0.2 bootloader source has `copy_flash_pages` functions. (The built hex files do not contain it.)
8790

88-
Most common ATmega board with more then 64 kB of flash memory is Arduino Mega. To use it with ArduinoOTA library, you can't use it directly with the Arduino AVR package, because the package doesn't have the right fuse settings for Mega with Optiboot. You can download [my boards definitions](https://github.com/jandrassy/my_boards) and use it [to burn](https://arduino.stackexchange.com/questions/473/how-do-i-burn-the-bootloader) the modified Optiboot and to upload sketches to your Mega over USB and over network.
91+
The most common ATmega board with more then 64 kB of flash memory is Arduino Mega. To use it with ArduinoOTA library, you can't use it directly with the Arduino AVR package, because the package doesn't have the right fuse settings for Mega with Optiboot. You can download [my boards definitions](https://github.com/jandrassy/my_boards) and use it [to burn](https://arduino.stackexchange.com/questions/473/how-do-i-burn-the-bootloader) the modified Optiboot and to upload sketches to your Mega over USB and over network.
8992

9093
For SDStorage a 'SD bootloader' is required to load the uploaded file from the SD card. There is no good SD bootloader. 2boots works only with not available old types of SD cards and zevero/avr_boot doesn't yet support USB upload of sketch. The SDStorage was tested with zevero/avr_boot. The ATmega_SD example shows how to use this ArduinoOTA library with SD bootloader.
9194

@@ -185,7 +188,8 @@ Does the OTA uploaded sketch have ArduinoOTA?
185188
* esp8266
186189
- Wemos D1 mini
187190
* esp32
188-
- ESP32 Dev Module
191+
- ESP32 Dev Module
192+
* STM32 Blue Pill - tested only upload to SD card, without the final bootload
189193

190194
## Contribution
191195

0 commit comments

Comments
 (0)