Troubleshooting and FAQ for the Arduino* IDE

This guide contains troubleshooting information and answers to common questions about programming your Intel® Galileo or Intel® Edison board using the Arduino* IDE. For steps to install the Arduino IDE, see Installing the Arduino* IDE.

For general troubleshooting help for the Arduino IDE, see Arduino Troubleshooting.

Resolving common issues with the Intel® Galileo and Intel® Edison boards

Resolving error messages

"Retry 0: Got TIMEOUT" message when trying to connect using the Arduino IDE

This is most commonly an issue when porting over a simple Arduino example or running the AnalogReadSerial or DigitalReadSerial examples from the IDE, as the Intel® IoT platforms share the USB connection with the Serial Monitor (unlike a standard Arduino platform). Log in to the board using an SSH or serial session, then delete or rename the /sketch/sketch.elf file. Reboot the board or (at minimum) kill the sketch.elf process.

Another solution:

This solution is for Mac* OS X* specifically. Systems with Windows* may have a similar issue if you are using the wrong COM port. If you are using the Arduino IDE with either an Intel® Galileo or Intel® Edison board and you are getting the "Retry 0: Got TIMEOUT" error, it is likely that your IDE has automatically selected the wrong serial port by default.

In Arduino, choose Tools > Serial Port > /dev/cu.usbmodemXXXX. There may be several entries with the same naming convention; try a couple of them with the Blink sketch to find the proper one.

Don’t try to use the serial port with the naming convention /dev/cu.usbmodel-XXXXXXX (8 characters and a dash).

"Retry 0: Timeout on pathname" or "Transfer Incomplete" messages

You may have the wrong serial port selected in Arduino. Choose Tools > Serial Port > /dev/cu.usbmodemXXXX. There may be several entries with the same naming convention; try a couple of them with the Blink sketch to find the proper one.

Don’t try to use the serial port with the naming convention /dev/cu.usbmodel-XXXXXXX (8 characters and a dash).

These errors may also occur if you plugged two micro USB cables in to the Arduino breakout board. The first cable (when plugged into the middle micro USB port) will reveal a number of ports specifically for use with Arduino. If you plug in a second cable, you will get two more ports, which are useful for getting terminal access to your board but can cause issues with the Arduino IDE. Try removing the second USB cable.

Unable to deploy code using the Arduino* IDE on a system with Windows*

Be sure to select the Virtual COM Port and not the standard COM Port in the port drop-down list. If you are using a 12-V adapter to power your board, be sure that your micro USB cable is connected to the USB port closer to the center of the board. For full setup instructions, refer to the step-by-step tutorial video.

"Failed to initialize Arduino board TriState" message

If you are getting a "Intel Edison Failed to initialize Arduino board TriState, check i2c devices! FATAL" message, your copy of libmraa is out of date or not installed. In a serial communication session with your board, run the following commands:

echo "src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/mraa-upm.conf;
opkg update
opkg install libmraa0
opkg upgrade

Unable to select port or serial ports are greyed out

If you unable to select serial ports, make sure that you are running Arduino with the sudo command.

"Failed to update the firmware" message

Make sure that the directory path is shorter than 140 characters. When updating your firmware, be sure to follow the appropriate instructions for your board and operating system, as follows:

For the Intel® Edison board, see Using Flash Tool Lite.

For the Intel® Galileo board, see the appropriate link below:

Why I can't upload my programs to the Intel® Edison board?

There are many pieces involved in getting a program onto your board. They include: the drivers for the board, the board and serial port selections in the Arduino software, access to the serial port, the physical connection to the board, the firmware on the board, and more. The first step to try is a complete reboot of the board and your computer. When rebooting the Intel® Edison board, unplug the power instead of using the "reboot" button on the board. If a full reboot does not solve your issues, try the troubleshooting suggestions below:

Arduino Software

  • Make sure that you have selected the proper board from the Tools > Board menu depending on the board you are using (Intel® Edison, Intel® Galileo Gen 1, or Intel® Galileo Gen 2 board).
  • Check that the proper port is selected in the Tools > Serial Port menu (if your port doesn't appear, try restarting the IDE with the board connected to the computer). On a system with Mac OS X, the serial port should be something like /dev/tty.usbmodem1a123. On a system with Linux, it should be /dev/ttyACM0 or similar. On a system with Windows, your port will be listed as a COM port, but you'll need to check in the Device Manager (under Ports) to see which one. If you don't seem to have a serial port for your board, see the Drivers section below.
  • If you are having trouble with the Arduino IDE on a system with Linux, make sure you have Java installed. To check, open a serial communication session with your board, type jjava, and press Enter. If you get a "The program 'java' can not found..." message, enter the command: sudo apt-get install default.jre. Follow the on-screen instructions to enter your password and install Java.

Drivers (Windows only)

  • Drivers provide a way for software on your computer (in this case, the Arduino IDE software) to interact with your hardware. Driver installation is only required if you are using a system with Windows to program the Intel® Edison board. To check if you have all the drivers installed, open Device Manager (Open the Windows Start menu and type Device Manager into the search bar) and check to see if you have any entries for unknown devices. If you do, go to the Driver Software section on the Intel® Edison Board Software Downloads page to download the latest standalone drivers for Windows.
  • On a system with Linux, the Intel® Edison board may show up as a device of the form /dev/ttyACM0. This device is not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu* package (for 11.04), which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.

Access to the Serial Port

  • On a system with Windows, if the software is slow to start, crashes on launch, or the Tools menu is slow to open, you may need to disable Bluetooth® serial ports or other networked COM ports in the Device Manager. When you run Arduino or open the Tools menu, the Arduino software automatically scans all the serial (COM) ports on your computer. These networked ports can sometimes cause delays or crashes.
  • Check that you're not running any programs that scan all serial ports, like USB Cellular Wi-Fi Dongle software (for example, software from Sprint or Verizon), PDA sync applications, Bluetooth-USB drivers (for example, BlueSoleil), virtual daemon tools, and so on.
  • Make sure you don't have firewall software that blocks access to the serial port (for example, ZoneAlarm*).
  • You may need to quit Processing, PD, vvvv, and similar programs if you're using them to read data over the USB or serial connection to the Arduino board.
  • On a system with Linux, you can try running the Arduino software as root. To do this, open a terminal window, navigate to your Arduino IDE install folder, and enter sudo ./arduino to run Arduino. You will have to enter your password.

Physical Connection

  • First, make sure your board is powered on (the green LED is on) and connected to the computer. If your board is not connected properly, see Assembling and connecting your board.
  • Try uploading your code with nothing connected to the board except for the USB cable. This includes shields, sensors, and motors.
  • Make sure the board isn't touching anything metallic or conductive.
  • Try a different USB cable to ensure that you are not using a faulty cable.

Firmware

Make sure the firmware on your board is up-to-date. To flash the latest firmware, see Using Flash Tool Lite.

If you are still experiencing problems, ask for help in the Intel® Edison board forums. Please include the following information:

  • Your operating system
  • What kind of board you have
  • Whether or not you were ever able to upload to the board. If so, what were you doing with the board before/when it stopped working, and what software have you recently added or removed from your computer?
  • The messages displayed when you try to upload with verbose output enabled. To do this, hold down the Shift key while clicking the Upload icon in the toolbar.

Why I can't upload my programs to the Intel® Galileo board?

There are many pieces involved in getting a program onto your board. They include: the drivers for the board, the board and serial port selections in the Arduino software, access to the serial port, the physical connection to the board, the firmware on the board, and more. The first step to try is a complete reboot of the board and your computer. When rebooting the Intel® Galileo board, unplug the power instead of using the "reboot" button on the board. If a full reboot does not solve your issues, try the troubleshooting suggestions below:

Arduino Software

  • Make sure that you have selected the proper board from the Tools > Board menu depending on the board you are using (Intel® Edison, Intel® Galileo Gen1, or Intel® Galileo Gen2 board).
  • Check that the proper port is selected in the Tools > Serial Port menu (if your port doesn't appear, try restarting the IDE with the board connected to the computer). On a system with Mac OS X, the serial port should be something like /dev/tty.usbmodem1a123. On a system with Linux, it should be /dev/ttyACM0 or similar. On a system with Windows, your port will be listed as a COM port, but you'll need to check in the Device Manager (under Ports) to see which one. If you don't seem to have a serial port for your board, see the Drivers section below.
  • If you are having trouble with the Arduino IDE on a system with Linux, make sure you have Java installed. To check, open a serial communication session with your board, type jjava, and press Enter. If you get a "The program 'java' can not found..." message, enter the command: sudo apt-get install default.jre. Follow the on-screen instructions to enter your password and install Java.

Drivers (Windows only)

  • Drivers provide a way for software on your computer (in this case, the Arduino IDE software) to interact with your hardware. Driver installation is only required if you are using a system with Windows to program the board. To check if you have all the drivers installed, open Device Manager (Open the Windows Start menu and type Device Manager into the search bar) and check to see if you have any entries for unknown devices. If you have an unknown device, likley called "Gadget Serial v2.4", you will need to manually update the driver software. To do this:
    1. Right-click the unknown device and select Update Driver Software....
    2. Select Browse my computer for driver software.
    3. In the search bar, type C:\arduino-1.5.3\hardware\arduino\x86\tools and click Next to install the driver.

      Note: If you did not unpack the Arduino IDE into C:\, you will have to navigate to your unpack location.
  • On a system with Linux, the Intel® Galileo board may show up as a device of the form /dev/ttyACM0. This device is not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu package (for 11.04) which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.

Access to the Serial Port

  • On a system with Windows, if the software is slow to start, crashes on launch, or the Tools menu is slow to open, you may need to disable Bluetooth serial ports or other networked COM ports in the Device Manager. When you run Arduino or open the Tools menu, the Arduino software automatically scans all the serial (COM) ports on your computer. These networked ports can sometimes cause delays or crashes.
  • Check that you're not running any programs that scan all serial ports, like USB Cellular Wi-Fi Dongle software (for example, software from Sprint or Verizon), PDA sync applications, Bluetooth-USB drivers (for example, BlueSoleil), virtual daemon tools, and so on.
  • Make sure you don't have firewall software that blocks access to the serial port (for example, ZoneAlarm).
  • You may need to quit Processing, PD, vvvv, and similar programs if you're using them to read data over the USB or serial connection to the Arduino board.
  • On a system with Linux, you can try running the Arduino software as root. To do this, open a terminal window, navigate to your Arduino IDE install folder, and enter sudo ./arduino to run Arduino. You will have to enter your password.

Physical Connection

  • First make sure your board is on (the green LED is on) and connected to the computer. If your board is not connected properly, see Intel® Galileo Board Assembly using Arduino*.
  • Try uploading your code with nothing connected to the board except for the USB cable. This includes shields, sensors, and motors.
  • Make sure the board isn't touching anything metallic or conductive.
  • Try a different USB cable to ensure that you are not using a faulty cable.

Firmware

Make sure the firmware on your board is up-to-date. To flash the latest firmware, follow the steps for your operating system:

If you are still experiencing problems, ask for help in the Intel® Galileo board forums. Please include the following information:

  • Your operating system
  • What kind of board you have
  • Whether or not you were ever able to upload to the board. If so, what were you doing with the board before/when it stopped working, and what software have you recently added or removed from your computer?
  • The messages displayed when you try to upload with verbose output enabled. To do this, hold down the Shift key while clicking the Upload icon in the toolbar.

What if my board doesn't turn on (the green power LED doesn't light up)?

Make sure that you are powering your board on correctly. For steps, see the appropriate link below:

For the Intel® Edison board, check the following:

  • Make sure that the switch near the USB ports is flipped toward the direction of the micro USB ports.
  • Your computer may not be supplying enough power through the USB port. Try powering your board using a power supply (7 volts for the Intel® Galileo Gen 1 board and 12 volts for the Intel® Galileo Gen 2 and Intel® Edison boards).

Why does my sketch appear to upload to my board successfully but not do anything?

  1. Check for a noisy power supply. It's possible this could cause the board to lose its sketch.
  2. If the power LED on the board is flashing or flickering, the system is resetting and cannot run any sketches.
  3. IIf you are using a battery to power the Intel® Galileo Gen 2 or Intel® Edison board, make sure it is above 7 volts.
  4. If you are running off of USB power and have multiple sensors/servos plugged into your board, the board may not have enough power. Try powering your board using a power supply (7 volts for the Intel® Galileo Gen 1 board and 12 volts for the Intel® Galileo Gen 2 and Intel® Edison boards).
  5. Unplug the sensors or servos or plug your board into the wall through the barrel jack and try loading the sketch again.

Why don't I get a PWM (an analog output) when I call analogWrite() on pins 6, 9, 10, or 11 on the Intel® Edison board?

The Intel® Edison board is only capable of outputting a PWM on four pins at a time. By default, the swizzler jumpers (J11 and J12) are set so that pins 3, 5, 6, and 9 are capable of PWM output. You can switch this to pins 3, 5, 10, and 11 by moving the swizzler. However, you will not be able to output more than 4 PWMs at a time. For more information about the pins and adjusting the swizzler, please see: http://www.emutexlabs.com/project/215-intel-edison-gpio-pin-multiplexing-guide.

Getting a "Permission Denied" message when trying to upload a sketch on the Intel® Edison board

  1. On a system with Windows, be sure to select the Virtual COM Port and not the standard COM Port in the port dropdown.
  2. If you are using a 12V adapter to power your board, be sure that your micro USB cable is connected to the USB port closer to the center of the board.
  3. You can follow this step-by-step tutorial for proper setup.

Getting a "Permission Denied" message when trying to upload a sketch on the Intel® Galileo board

This error usually occurs when a sketch that is running on your Intel® Galileo Gen 2 board is interfering with uploading new sketches. Try the following:

  1. Unplug the USB cable from your computer.
  2. Unplug the power supply from the wall.
  3. If you have an SD card inserted into your board, remove it.
  4. Follow the steps for your OS, outlined in Step 1 of Getting Started with the Intel® Galileo board, to install a new image on your SD card:
  5. Plug the SD card back into the board.
  6. Plug the power supply and USB cable back in. You should now be able to upload new sketches to your board.

“C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp/core.a: No such file or directory Error compiling.” message when compiling a sketch for the Intel® Galileo board

This is a known issue affecting Intel® Galileo boards when working with the 1.6.8 version of the Arduino IDE. To resolve this issue, open the Boards Manager and select the entry for Intel i586 boards. From the Select version drop-down list, select 1.6.2+1.0. Click Install. The older Intel® Galileo board definition, which is compatible with Arduino 1.6.8, is installed. You can now compile your sketches normally for the Intel® Galileo board.

For more complete information about compiler optimizations, see our Optimization Notice.