Upload to Specific Boards

Some sections in this chapter require embedXcode+. The following boards and programmers require specific procedures for uploading the sketch:

The next section details the procedure to Restore Initial Mode on Specific Boards .

Upload to Adafruit Boards

This section requires embedXcode+.

The Trinket and Pro Trinket boards from Adafruit require a specific procedure.

For the Pro Trinket, Adafruit recommends to use a standard FTDI programmer for a better reliability. For more information,

Proceed as follow:

  • Plug the Adafruit board in.

  • Launch any of the targets All, Upload or Fast.

  • Wait for the message window:

  • Press the RESET button on the board.

  • The red LED starts flashing.

  • Click on OK.

By default, those boards don't feature a serial-to-USB communication.

For more information,

  • Please refer to the page Programming with AVRdude for the Trinket boards or Setting-Up the Arduino IDE for the Pro Trinket boards.

Upload to ArduCAM CC3200 Board

This section requires embedXcode+.

 The ArduCAM CC3200 board requires a specific procedure.

Proceed as follow:

  • Place the two shunts on FT-RX and FT-TX.

  • Remove the camera from the connector.

  • Plug the ArduCAM CC3200 board in.

  • Launch any of the targets All, Upload or Fast.

  • Plug the camera back into the connector.

Upload to Arduino Yún Using Ethernet or WiFi

This section requires embedXcode+.

Although the Arduino Yún requires no specific procedure, the Ethernet or WiFi network needs to be installed and configured successfully before any upload, and the RSA key fingerprint of the Arduino Yún needs to be known by the Mac.

  • Check that the router has discovered the Arduino Yún and note the IP address.

  • Check the Mac knows the RSA key fingerprint of the Arduino Yún.

  • Also, keep the password of the Arduino Yún at hand.

  • Disconnect all the SPI devices from the ICSP connector as the WiFi module uses SPI to communicate with the Arduino.

It is recommended to proceed with a test of the over-the-air upload with the Arduino IDE, through Ethernet or WiFi, to be sure that the Mac recognises the board and knows the RSA key fingerprint of the Arduino Yún.

Check the SSH Connection

To check the router has discovered the Arduino Yún,

  • Open a Terminal window.

  • Type the command arp -a to list all know hosts.

The Arduino Yún board should appear as arduino.local but often has a different name, as host-001.

The default address should be 192.168.240.1 but may differ according to the settings of the network.

To check the Mac knows the RSA key fingerprint of the board,

  • Open a Terminal window and type the command ssh root@ followed by the IP address of the board, 192.168.240.1 in the example.
$ ssh root@192.168.240.1

If the board is unknown, a message asks for confirmation of the RSA key fingerprint.

The authenticity of host '192.168.240.1 (192.168.240.1)' can't be established.
RSA key fingerprint is 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff.
Are you sure you want to continue connecting (yes/no)? yes
  • Enter yes and validate.

A message confirms the RSA key fingerprint has been added to the list of know hosts.

Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.240.1' (RSA) to the list of known hosts.

root@192.168.240.1's password: 
  • Finally, type in the password to make the connection.
BusyBox v1.19.4 (2013-08-07 16:16:02 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@Arduino:~# 

The Terminal window s displays the splash screen of the Arduino Yún.

BusyBox v1.19.4 (2014-04-10 11:08:41 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 ----------------------------------------------------

Enter IP Address and Password

During the first compilation, embedXcode looks for the Arduino Yún board and checks the password.

If the Arduino board isn't found on the network, a window asks for the IP address.

  • Enter the IP address of the Arduino Yún board.

  • Click on OK to validate or Cancel to cancel.

A message box asks for the password.

  • Enter the password of the Arduino Yún board.

  • Click on OK to validate or Cancel to cancel.

When validated, the IP address and the password are saved on the board configuration file Arduino Yún (WiFi Ethernet) in the project.

The IP address and the password are only asked once.

  • To erase the IP address, just delete the whole line.

  • To edit the IP address, just change the left part after SSH_ADDRESS = on the corresponding line.

Please note the password is not encrypted.

  • To erase the password, just delete the whole line.

  • To edit the password, just change the left part after SSH_PASSWORD = on the corresponding line.

For more information about the Arduino Yún installation and over-the-air upload,

Upload the Sketch

Once the checks have been successfully performed, proceed as follow:

  • Connect the Arduino Yún board to the network through WiFi or Ethernet.

  • Launch any of the targets All, Upload or Fast.

Upload a Website to the Arduino Yún

embedXcode can upload a website automatically to the Arduino Yún.

There are three requirements. First, upload is done through Ethernet or WiFi connection. Second, the project has a folder named www with at least a file named index.html. Third, the Arduino Yún has a microSD-card inserted on the slot.

During upload, the content of the www folder is copied to the microSD-card automatically and made available with a browser at the address /sd/TemperatureWebPanel.

Once upload is completed, embedXcode open the browser at the website main page.

The TemperatureWebPanel project contains a www folder.

For more information,

Upload to Arduino M0 Pro

 The Arduino M0 Pro has two USB connectors: one called native and another called programmer. Both can be used to upload a sketch.

However, the programming port offers a better stability and is required for debugging.

Programming port left, native USB port right

When using the programming port, a windows asks for confirmation.

  • Click on Allow to proceed.

Upload to Arduino Zero

 The Arduino Zero has two USB connectors: one called native and another called programmer. Both can be used to upload a sketch.

However, the programming port offers a better stability and is required for debugging.

Programming port left, native USB port right

When using the programming port, a windows asks for confirmation.

  • Click on Allow to proceed.

Upload to chipKIT Boards using a Programmer-Debugger

This section requires embedXcode+.

To upload to a chipKIT boards with the optional chipKIT PGM programmer-debugger.

Proceed as follow:

  • Plug the chipKIT programmer into the board.

  • Plug the cable into the USB port.

  • Launch any of the targets All, Upload or Fast.

embedXcode builds and links the project, and then opens one Terminal window.

The Terminal window hosts the programmer-debugger. The tool first connects to the board, then uploads the executable, and finally runs the project.

To quit the session,

  • Type quit and press the Enter ⏎ key.
>quit

Halting...
Target Halted
  • Always quit the Terminal window.

Please note that using the programmer-debugger erases the boot-loader. To upload again without the programmer-debugger, follow the procedure Burn the Boot-Loader After Using a Programmer on chipKIT boards.

Upload to Digistump Boards

This section requires embedXcode+.

 The Digistump boards require specific procedures.

Upload to Digispark board

To upload to a Digispark board, proceed as follow:

  • Unplug the Digispark board.

  • Launch any of the targets All, Upload or Fast.

  • Wait for the message window:

  • Plug the cable from the Digispark board into the USB port.

  • Wait for the final message.

You can also monitor the upload with the Log Navigator.

  • Open the Log Navigator.

  • Wait for the message Plug in device now...
Running Digispark Uploader...
Plug in device now...
  • Plug the cable from the Digispark board into the USB port.
> Press CTRL+C to terminate the program.
> Device is found!

The uploader connects, erases and then writes the sketch on the Digispark board.

connecting: 20% complete
erasing: 80% complete
> Starting to upload ...
writing: 80% complete
Wait for the final message.
Writing: 100% complete
>> Micronucleus done. Thank you!

For more information,

Upload to Oak

This section requires embedXcode+.

To upload to an Oak board, proceed as follow:

  • Power the Oak board on.

For more information,

Upload to LaunchPad C2000

The LaunchPad C2000 boards use a new upload procedure with Energia 17.

Prepare LaunchPad C2000 F28027

Proceed as follow:

  • Unplug the LaunchPad C2000 F28027 board.

  • For the LaunchPad C2000 F28027, configure S4 SERIAL on.

  • Configure S1 BOOT on-on-on or up-up-up.

  • Plug the LaunchPad C2000 board in.

  • Launch any of the targets All, Upload or Fast.

The project is uploaded into flash.

Prepare LaunchPad C2000 F28069

Proceed as follow:

  • Unplug the LaunchPad C2000 F28069 board.

  • Remove jumper J6 and place jumper J7.

Configure S1 BOOT on-on-on or up-up-up.

  • Plug the LaunchPad C2000 board in.

  • Launch any of the targets All, Upload or Fast.

The project is uploaded into flash.

Prepare LaunchPad C2000 F28069

Proceed as follow:

  • Unplug the LaunchPad C2000 F28069 board.

  • Configure S1 BOOT on-on-on or up-up-up.

  • Plug the LaunchPad C2000 board in.

  • Launch any of the targets All, Upload or Fast.

The project is uploaded into flash.

Upload to LaunchPad CC3200 WiFi

 The LaunchPad CC3200 WiFi board requires a specific hardware configuration.

For a normal upload, proceed as follow:

  • Unplug the LaunchPad CC3200 WiFi board..

  • Remove the JTAG J8 jumper and the SPO2 jumper.

  • Place a wire from JTAG J8 (emulator side) to SOP 2 (CC3200) side.

Uploading requires TCK connected to SOP 2

  • Plug the LaunchPad CC3200 WiFi board.

  • Launch any of the targets All, Upload or Fast.

The project is uploaded into flash and is kept even if the power is disconnected.

For a debugging session, proceed as follow:

  • Unplug the LaunchPad CC3200 WiFi board..

  • Remove the wire from JTAG J8 (emulator side) to SOP 2 (CC3200) side.

Place the JTAG J8 jumper.

Place the SOP 2 jumper.

Debugging requires TCK and SOP 2 jumpers placed on

  • Plug the LaunchPad CC3200 WiFi board.

  • Launch the target Debug.

The project is uploaded into SRAM and is lost in case the power is disconnected.

Upload to LaunchPad MSP430F5529 and MSP430FR5969

The LaunchPad MSP430F5529 requires Energia release 10 and the LaunchPad MSP430FR5969 the release 12.

Some versions of the LaunchPads MSP430F5529 and MSP430FR5969 may require an update of the firmware.

To do so,

  • Download Energia release 14 or later.

  • Launch Energia.

  • Create a new basic sketch, for example the blinky sketch.

  • Select the board LaunchPad with MSP430F5529 or LaunchPad with MSP430FR5969

  • Upload the sketch to the LaunchPad.

If the firmware needs to be updated, a window pops-up.

In that case, follow the instructions.

  • Call the menu Tools > Update programmer.

  • Check that the upload of the sketch works correctly.

  • If necessary, repeat the update of the programmer.

  • Close Energia.

Upload to LightBlue Bean using Bluetooth

This section requires embedXcode+.

The LightBlue Bean offers two options for uploading. The LightBlue Bean Loader requires a manual intervention while the Bean Command Line Loader is fully automatic.

The latter option is enabled automatically when embedXcode+ detects Bean Command Line Loader has been installed and is available.

Upload with the LightBlue Bean Loader

To upload a sketch to a LightBlue Bean board using Bluetooth:

  • Check Bluetooth 4.0 or BLE is turned on.

  • Launch any of the targets All, Upload or Fast.

The new application LightBlue Bean Loader shows the boards available.

  • Right-click on the line of the board and select Connect.

Once the board is connected, right-click again and select Program Sketch.

A final message confirms the end of the operation.

The application LightBlue Bean Loader provides other services.

For more information,

  • Please refer to Upload to Bean with Bean Loader for OS X page at the Punch Through Design website.

Upload with the Bean Command Line Loader

If embedXcode+ detects the Bean Command Line Loader is available, it opts for this option automatically

During the first compilation with a Fast or All target, embedXcode+ scans for LightBlue boards. This process can take up to one minute.

---- Scanning for LightBlue boards ---
myBean+
---- LightBlue boards scanned ---

In case more than one LightBlue boards are detected, a dialog box asks to choose among the first two.

The name of the LightBlue board is saved on the board configuration file LightBlue Bean (Bluetooth) or LightBlue Bean+ (Bluetooth) in the project.

BEAN_NAME = myBean+

Once the upload is completed, embedXcode+ opens a Terminal window with the serial console of the LightBlue board.

For more information,

Upload to Microsoft Azure IoT DevKit

This section requires embedXcode+.

The Microsoft Azure IoT DevKit offers different options for uploading the sketch to the board.

Upload to Microsoft Azure IoT DevKit Through USB Port

Proceed as follow:

  • Connect the Microsoft Azure IoT DevKit board to the computer.

  • Select the Microsoft IoT DevKit (USB) board.

  • Launch any of the targets All, Upload or Fast.

Upload to Microsoft Azure IoT DevKit Through Mass Storage Device

Proceed as follow:

  • Connect the Microsoft Azure IoT DevKit module to the computer.

A new volume called AZ3166 appears.



  • Select the Microsoft IoT DevKit (MSD) board.

  • Launch any of the targets All, Upload or Fast.

During the upload process, a warning notification may appear.



  • Click on Close to close the notification.

Upload to NodeMCU 1.0 Board

The NodeMCU 1.0 board requires a specific procedure.

Proceed as follow:

Plug the NodeMCU 1.0 board in.

  • Launch any of the targets All, Upload or Fast.

  • Wait for the message window:

  • Press the RESET and FLASH buttons on the board.

  • Release the RESET button first.

  • Release then the FLASH button.

  • Click on OK.

For more information,

Upload to ESP8266 NodeMCU Boards using WiFi

This section requires embedXcode+.

Although the ESP8266 and NodeMCU boards require no specific procedure for an over-the-air upload, the WiFi network needs to be installed and configured successfully before any upload.

Over-the-air upload requires that a sketch based on the ArduinoOTA library has been installed previously and is currently running. Otherwise,

  • Build and upload the the BasicOTA example using the Arduino IDE.

Before uploading, please

  • Check that the router has discovered the NoteMCU board and note the IP address.

  • It is recommended to proceed with a test of the WiFi connection. Either try pinging the board on the Terminal, or uploading a sketch from the Arduino IDE.

Check the Running Sketch

The over-the-air process is managed by the sketch itself, based on the ArduinoOTA library.

If the ArduinoOTA object isn't running,

  • Build the BasicOTA example.

  • Upload using an USB connection as per section Upload to NodeMCU 1.0 Board.

Also, please note the sketch requires twice its size.

Check the WiFi Connection

To identify the IP addresses of the ESP8266 or NodeMCU board,

  • Open a Terminal window.

  • Run the following command.

$ arp -a
esp_a1b2c3 (192.168.1.209) at 12:ef:34:a1:b2:c3 on en0 ifscope [ethernet]

The address 192.168.1.209 gives access to the board.

  • Test the board is connected with ping.
$ ping 192.168.1.209

Enter IP Address

During the first compilation, embedXcode looks for the ESP8266 or NodeMCU board.

If the ESP8266 or NodeMCU board isn't found on the network, a window asks for the IP address.

  • Enter the IP address of the ESP8266 or NodeMCU board.

  • Click on OK to validate or Cancel to cancel.

When validated, the IP address is saved on the board configuration file NodeMCU 0.9 ESP-12 (WiFi) or NodeMCU 1.0 ESP-12E (WiFi) in the project.

The IP address is only asked once.

  • To erase the IP address, just delete the whole line.

  • To edit the IP address, just change the left part after SSH_ADDRESS = on the corresponding line.

Password isn't implemented.

Upload Wiring / Arduino Sketch

 Once the checks have been performed successfully, proceed as follow:

Connect the ESP8266 or NodeMCU board to the network through WiFi.

  • Launch any of the targets All, Upload or Fast.

A window may ask for allowing incoming network connections.

  • Click on Allow to proceed.

Please note the sketch requires twice its size.

For more information about the installation and use of the over-the-air upload,

Upload to panStamp Boards

This section requires embedXcode+.

Upload to the panStamp boards is done with the panStick USB programmer.

For more information,

Upload to panStamp AVR Board

The panStamp AVR board requires a specific upload procedure.

  • Plug the panStamp AVR on the panStick.

  • Slide the selector to AVR close to the RESET button.

  • Connect the panStick to the USB port of the computer.

  • Launch any of the targets All, Upload or Fast.

For more information,

Upload to panStamp NRG Board

The panStamp NRG board requires a specific upload procedure.

Proceed as follow:

  • Plug the panStamp NRG on the panStick.

  • Make sure the 5 pins opposite to the antenna are connected between the board and the programmer.

  • Slide the selector to NRG away from the RESET button.

  • Connect the panStick to the USB port of the computer.

  • Launch any of the targets All, Upload or Fast.

For more information,

Upload to RedBear CC3200 Boards

This section requires embedXcode+.

 The RedBear CC3200 boards require a specific upload procedure.

Proceed as follow:

  • Plug the RedBear CC3200 board.

  • Launch any of the targets All, Upload or Fast.

After the upload, a window asks you to press on the button on the board to reset the board.

  • Press the RESET button on the RedBear CC3200 board.

  • Click OK on the message window.

Upload to RedBear Duo Board

This section requires embedXcode+.

The RedBear Duo board offers different options for uploading the sketch to the board.

Upload to RedBear Duo Through Native USB Port

Proceed as follow:

  • Connect the RedBear Duo board to the computer.

  • Select the RedBear Duo (Native USB Port) board.

  • Launch any of the targets All, Upload or Fast.

The serial console uses the Serial port.

Proceed as follow:

  • Place the RedBear Duo board onto the RBLink module.

  • Connect the RedBear RBLink module to the computer.

A new volume called RBLink appears.

  • Select the RedBear Duo (RBLink USB Port) board.

  • Launch any of the targets All, Upload or Fast.

A window may ask for allowing incoming network connections.

  • Click on Allow to proceed.

When disconnecting the RBLink board, a warning notification may appear.

  • Click on Close to close the notification.

A safer way consist on ejecting the volume first.

The serial console uses the Serial1 port.

Upload to RedBear Duo Through WiFi

To upload a compiled sketch using the Particle Cloud,

Be sure the RedBear Duo has been claimed and configured as described in the Install the Particle Platform procedure.

  • Power the RedBear Duo board.

  • Check the RedBear Duo is connected to the Particle Cloud with the LED breathing cyan.

  • Optionally, open a Terminal window and list the boards available.

$ particle list
  • Check your board is online.
Checking with the cloud...
Retrieving cores... (this might take a few seconds)
myDuo (aabbccddeeffaabbccddeeff) is online
  • Select the RedBear Duo (WiFi) board.

  • Launch any of the targets All, Upload or Fast.

The upload may take a while, with the LED blinking magenta then green, and finally breathing cyan.

Upload to Robotis OpenCM9.04 Board

This section requires embedXcode+.

The Robotis OpenCM9.04 board requires a specific upload procedure.

Proceed as follow:

  • Plug the Robotis OpenCM9.04 board.

  • Launch any of the targets All, Upload or Fast.

Before the upload, a window asks you to press on the button on the board to start the process.

  • Press the RESET button on the Robotis OpenCM9.04 board.

  • Click OK on the message window.

Upload to Teensy Boards

The Teensy boards based on an ARM MCU require a specific procedure. The procedure applies to the Teensy 3.0, 3.1, 3.2, 3.5 and 3.6 boards.

Proceed as follow:

  • Disconnect all the SPI devices as programming is done through the SPI pins.

  • Plug the Teensy board.

  • Launch any of the targets All, Upload or Fast.

During the first upload, a new window asks you to press on the button on the board to start the process.



  • Press the button on the Teensy board.

A final message confirms the end of the operation.

The following uploads no longer require this manual operation.

Manage Error Messages

In case the wrong board has been selected, the uploader displays an error message.



  • Click OK, select the correct board following the procedure Change the Board and start again.

The uploader may display another error message.

  • Check and edit the code accordingly.

  • Click OK and start again.

Upload to TinyScreen+ Board

This section requires embedXcode+.

 If the TinyScreen+ board is unresponsive, the serial port isn’t listed or the upload fails, the board may require to be reset.

To reset the TinyScreen+ Board,

  • Power the board through either an USB cable of a battery.

  • Turn the board off.

Then,

  • Press the button ➀ closest to the USB port and maintain the button ➀ pressed.

  • While maintaining the button ➀ pressed, turn the switch ➁ on to power the board.

  • Release the button ➂.

For more information on resetting the TinyScreen+ board,

Upload to Udoo Neo Board

This section requires embedXcode+.

 Compiled sketches can be uploaded to the Udoo Neo board through an USB connection or using WiFi.

Upload Through USB Connection

To upload a compiled sketch through USB connection,

  • Plug the Udoo Neo USB cable.

  • Launch any of the targets All, Upload or Fast.

Upload Using WiFi

The procedure is the same except the IP address has changed.

  • Be sure the Udoo Neo board is connected to the WiFi network.

  • Edit the Udoo Neo (M4) board configuration file and change the IP address for the new one.

BOARD_PORT = 192.168.7.2
  • Check your board is online.

  • Launch any of the targets All, Upload or Fast.

Open a Serial Console

By default, no serial console is opened. The Serial port form the Cortex-M4 MCU is connected to the /dev/ttyMCC on the Cortex-A9 MPU.

To display the serial console,

$ ssh udooer@192.169.1.23
$ ssh udooer@udoo.local

In this example, the IP address of the board is 192.169.1.23 and its name udoo.

  • Launch the following command
$ cat /dev/ttyMCC