I did a search and did not come up with anything in the Udoo forum. If someone already posted this solution, please post a link below. I had a lot of trouble getting the Arduino environment set up in Ubuntu16.04 (the Ubuntu install itself went easy). I managed to install the version 1.8.1 IDE. I then used board manager to install the Curie board. You will need to be sure the following boards are set up in board manager (you can search "101" and "curie" and just install everything that comes up.) Arduino AVR boards Intel Curie Boards At this point, trying to upload a sketch will result in a "Time out" Error in the lower window of the IDE. With the Verbose option set, you will learn that the IDE cant talk to the Curie via the DFU. I am assuming here that you have already verified that you have selected Arduino 101 as the board, and that you selected a COM port similar to dev/ttyACM0 (Arduino 101). You will now want to follow the advice given in the following thread: https://forum.arduino.cc/index.php?topic=368213.0 Essentially, using the ubuntu command line terminal, you need to do the following things, as outlined in the thread (replace yourname with you user name): sudo apt-get install dfu-util sudo usermod -a -G tty yourname sudo usermod -a -G dialout yourname run the create dfu udev rules script (see below) The first two steps essentially add your username (and thus the arduino IDE when you are logged in) to the allowed list of users to access the serial devices. The final step is to run a script which sets up some things for the Device Firmware Update (DFU). The location of the script depends on which IDE version and board versions you have installed. you will need to use "cd" to navigate to discover the location and run the script. Here are probable locations: cd ~/.arduino15/packages/Intel/tools/arduino101load/1.6.9+1.24/scripts cd ~/.arduino15/packages/Intel/tools/sketchUploader/1.6.4+1.14/scripts after going folder by folder, I found that I do not have an arduino101load folder, but do have the sketchUploader folder, and found the create_dfu_udev_rule script there. To run it, type: sudo ./create_dfu_udev_rule With that, my board was now working properly. I make no claims that any or all of the above steps are necessary. The members posting to the original linked thread are the real experts.