Restore initial mode on specific boards¶
Some sections in this chapter require embedXcode+.
This section provides the procedures for restoring the initial mode on specific boards.
-
Burn the boot-loader on the Adafruit Feather M0 boards to use the standard USB uploader after the programmer,
-
Upload Python to the Adafruit Feather M4 boards to use the standard USB uploader after the programmer,
-
Burn the boot-loader on the Arduino boards to use the standard USB uploader after the programmer,
-
Reset the BBC micro:bit board to factory defaults.
-
Burn the boot-loader on the chipKIT boards to use the standard USB uploader after the programmer,
-
Change the jumpers for the LaunchPad CC3200 WiFi board.
-
Restore the initial WiFi mode with AT commands after using the ESP8266 board with the Wiring / Arduino framework, and
-
Reflash the RTL8720DN MCU as a network-processor for the Wio Terminal board
Burn the boot-loader for Adafruit Feather M0 boards¶
This section requires the embedXcode+ edition.
The programmer may erase all the flash of the Adafruit Feather M0 boards, including the boot-loader. In such a case, you need to burn the boot-loader again to upload a sketch through the standard USB connection.
To burn the boot-loader again,
-
Download the boot-loader file from the Restoring Boot-Loader – Feather M0 or Others page at the Adafruit website.
-
Unzip
featherm0bootloader_160305.hex from featherm0bootloader_160305.zip
. -
Download and install the J-Link Software and Documentation Pack for Mac OS X version 6.00g or later from the Segger website.
-
Follow the procedure detailed at section Install utilities for Segger debugger .
-
Open a Terminal window and launch JLinkExe.
$ /Applications/IDE/SEGGER/JLink_V60g/JLinkExe
Connect and define the interface, device and speed.
J-Link>connect
J-Link>selectinterface swd
J-Link>device ATSAMD21G18
J-Link>speed 400080
Upload the boot-loader and quit.
J-Link>loadfile ~/Downloads/featherm0bootloader_160305.hex
J-Link>exit
You can now upload the sketch to the Adafruit Feather M0 board using the standard USB connection again.
For more information,
- Please refer to the Restoring Boot-Loader – Feather M0 or Others page at the Adafruit website.
Upload Python to the Adafruit Feather M4 boards¶
This section requires the embedXcode+ edition.
To upload Python to the Adafruit Feather M4 boards,
- Follow the procedure Set up CircuitPython Quick Start! at the Adafruit website.
For more information,
Burn the boot-loader after using a programmer for Arduino boards¶
This section requires the embedXcode+ edition.
The programmer erases all the flash, including the boot-loader.
After having used a programmer with the Arduino boards, you need to burn the boot-loader again to upload a sketch through the standard USB connection.
Restore Boot-Loader for AVR-Based Arduino Boards¶
To burn the boot-loader on AVR-based Arduino boards again,
-
Launch the Arduino IDE.
-
Select the board, here the
Arduino Uno
board.

- Select the programmer, here the
USBtinyASP
programmer.

- Click on Burn Boot-Loader.

You can now upload the sketch to the board using the standard USB connection again.
For more information,
- Please refer to the Boot-Loader Development page at the Arduino website.
Change boot-loader for AVR-based Arduino boards¶
The same procedure applies for changing the boot-loader. For example, for using the MiniCore boot-loader on the Arduino Uno board:
-
Launch the standard Arduino IDE.
-
Add the reference to Arduino, as per the procedure Add URLs for new boards .
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
-
Download and install the MiniCore package, as per the procedure Install additional boards on Arduino .
-
Flash the MiniCore boot-loader on the Arduino Uno with USBtinyISP or similar.
On embedXcode,
- Edit the Arduino Uno board or the My Board configuration file, and add
BOOTLOADER = minicore
- Select it.
For more information on the MiniCore boot-loader,
- Please refer to the MiniCore page.
Restore Boot-Loader for Arduino Zero¶
The two boards, Arduino Zero and Arduino M0 Pro, are very similar but require different procedures.
For the Arduino M0 Pro board,
- Please refer to the Restore boot-loader for Arduino M0 Pro procedure.
To burn the boot-loader on the Arduino Zero board again,
-
Launch the Arduino IDE.
-
Connect the board using the USB programming port.
-
Call the from the menu Tools > Board menu and select the board, here Arduino Zero (programming port).

- Call the Tools > Programmer menu and select the programmer, here Atmel EDBG.

- Click on Burn Boot-Loader.

For more information,
- Please refer to the Restoring Boot-Loader – Arduino Zero page at the Adafruit website.
You can now upload the sketch to the board using the standard USB connection again.
Restore boot-loader for Arduino M0 Pro¶
To burn the boot-loader on the M0 Pro board again, a first option relies on the Arduino IDE, very similar to the Restore Boot-Loader for Arduino Zero procedure.
-
Launch the Arduino IDE.
-
Connect the board using the USB programming port.
-
Call the from the menu Tools > Board menu and select the board, here Arduino M0 Pro (programming port).
-
Call the Tools > Programmer menu and select the programmer, here Atmel EDBG Programming Port.
-
Click on Burn Boot-Loader.
For more information,
- Please refer to the Burning the Boot-Loader with Arduino IDE page at the Arduino website.
In case this first option fails. try and use the Atmel Studio, available on Windows only.
-
Launch the Atmel Studio IDE.
-
Follow the procedure available at Burning the Boot-Loader with Atmel Studio page.
For more information,
- Please refer to the Burn the Boot-Loader Using Atmel Studio page at the Arduino website.
Depending on the version of OpenOCD, a bug may prevent from restoring the boot-loader. The bug is referenced under issue 137 on the Arduino Git repository. In that case,
You can now upload the sketch to the board using the standard USB connection again.
Reset the BBC micro:bit board to factory default¶
This section requires the embedXcode+ edition.
To reset the BBC micro:bit board to the factory default with the out-of-the-box demonstration program,
-
Download the
OutOfBoxExperience-v2.hex
file from the Reset the micro:bit to factory defaults page on the BBC micro:bit website. -
Follow the procedure How do I transfer my code onto the micro:bit via USB on the BBC micro:bit website.
Burn the boot-loader after using a programmer on chipKIT boards¶
This section requires the embedXcode+ edition.
On the chipKIT boards, the programmer erases all the flash, including the boot-loader.
After having used the chipKIT programmer, you need to burn to boot-loader again in order to upload a sketch through the standard USB connection.
To burn the boot-loader again,
-
Download and unzip the boot-loaders from the GitHub repository PIC32 AVRdude Boot-Loaders .
-
Connect the programmer to the Mac and the chipKIT board.
-
Launch mplab_ipe.

- Select the MCU corresponding to the board.
Board | MCU |
---|---|
Uno32 | PIC32MX320F128H |
Max32 | PIC32MX795F512L |
uC32 | PIC32MX340F512H |
- Select the
.hex
file for the boot-loader. Make sure you’ve selected the relevant boot-loader, here thePIC32-avrdude-bootloader-master/bootloaders/chipKIT-Bootloaders/dist/Uno32/production/chipKIT-Bootloaders.production.hex
for the chipKIT Uno32 board.

-
Press Program.
-
If you wish to verify, press Verify.
-
Remove the programmer and connect the board to the Mac.
You can upload the sketch to the board using the standard USB connection again.
For more information,
- Please refer to the document Debugging chipKIT™ Sketches with MPLAB® X IDE .
This procedure also applies for updating the boot-loader.
Restore initial WiFi mode on ESP8266 boards¶
The ESP8266 boards act as WiFi peripheral with AT commands as well as fully programmable boards with the Arduino framework.
However, once the boards have been used with the Wiring / Arduino framework, the WiFi peripheral initial mode is no longer available. It needs to be restored.
To do so,
-
Connect GPIO0 to ground to enter program mode.
-
Plug the board in.
-
Download the ESP8266 SDK from the Download section of the Espressif forum
-
Open the
.zip
file. -
Check the ReadMe file: it provides the list of the binary files to upload and the addresses to target.
download:
boot_v1.2+.bin 0x00000
user1.512.new.bin 0x01000
blank.bin 0x3e000 & 0x7e000
- Locate on the sub-folders the different binaries mentioned on the
ReadMe
file.

- Open a Terminal window and launch the upload command.
$ esptool.py --port /dev/tty.usbserial-12345678 --baud 115200 write_flash 0x00000 esp_iot_sdk_v1.0.0/bin/boot_v1.2.bin 0x01000 esp_iot_sdk_v1.0.0/bin/at/user1.512.new.bin 0x3e000 esp_iot_sdk_v1.0.0/bin/blank.bin 0x7e000 esp_iot_sdk_v1.0.0/bin/blank.bin
-
In case the binary files and target addresses are different, adapt the upload command accordingly.
-
Power-cycle the ESP8266 board.
The ESP8266 can now be used again as a WiFi peripheral with AT commands.
For more information,
Please refer to the procedure described on the Espressif support forum.
Reflash the RTL8720DN MCU as a network-processor for the Wio Terminal board¶
To reflash the RTL8720DN MCU back as a network-processor on the Wio Terminal board,
-
Please refer to the Update the Wireless Core Firmware - CLI Methods page on the Seeed Studio website.
-
Get the RTL8720 firmware command line utilities on the Seeed Studio website.