Arduino Firmware Upload Errors

From Open Source Ecology
Jump to: navigation, search

Introduction

Upload of firmware works differently on different computers. On Dell Precision M6500 - upload to the Arduino does not work. In this case, the port shows as /dev/ttyUSB0. Dellprecisionfirmware.jpg

On another board where upload works, port name includes (Arduino Mega 2560)

The funny thing is that on another computer, both of these boards work. The difference is the operating system. It worked with OSE Linux live USB. So I used the OSE Linux Live USB on the computer where the firmware upload didn't work, and problem was fixed.

This appears to be a simple permission error.

Solution

Open Terminal and type:

ls -l /dev/ttyACM*

you will get something like:

crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

The "0" at the end of ACM might be a different number, or multiple entries might be returned. The data we need is "dialout" (is the group owner of the file).

Now we just need to add our user to the group:

sudo usermod -a -G dialout $USER

then:

sudo chmod a+rw /dev/ttyACM0

You will need to log out and log in again for this change to take effect.

This works. But it will need to be done for each serial address - ttyUSB0 or ttyACM0, etc.