Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using the Arduino IDE in Ubuntu, and am having issues with the serial port. It has worked in the past, but for reasons that may be unnecesary, I felt the need to change the ownership of some of the files from root ownership to my users ownership.

This made the IDE work correctly, but I lost the ability to use the correct serial port. In the dev folder, the port I need is listed as permission 166. Someone (who is no longer in the area to help me) swapped the permissions to 666, which made it all work gloriously.

However, it reverted back as soon as I restarted my computer, and if I now try to use the command:

sudo chmod 666 ttyACM0

nothing happens. No error messages, but no permission change either.

How can I change it, and how can I get it to change permanently.

I apologize if this question is overly simplistic or unclear, I'm an ubuntu noob, and I wouldn't begrudge feedback!

share|improve this question
sudo chmod 666 /dev/ttyACM0 This was the only suggestion on this page that worked on my 14.04 beta2 live environment. Thanks! – user264842 Apr 3 '14 at 8:01
up vote 27 down vote accepted

The issue with the permissions for /dev/ttyACM0 can be permanantly solved by adding yourself to the dialout group. You will have to logout and then log back in before the group change is recognized.

You can do this with sudo usermod -a -G dialout terrik if terrik is your username.

share|improve this answer
I learnt about this when Arduino IDE asked to give to root to add itself to the "Dailout group". Now I know what it is. – Ufoguy Dec 21 '13 at 18:02

I couldn't get Rinzwind's suggestion to work, because it complained that the user account already exists. Instead, I used this command to add an existing user (terrik) to an existing group (dialout), as described on the Ubuntu Help Wiki.

sudo adduser terrik dialout

Also useful is this command for listing your current groups, although as Rinzwind says, you have to log out and log in before the serial port starts letting you in.

groups terrik
share|improve this answer

I couldn't get Terrik's answer working, but I could if I made this slight adjustment to the path for ttyACM0.

sudo chmod 666 /dev/ttyACM0

Would post as a comment but I don't have the privileges for that yet...

share|improve this answer
The permissions seem to reset when unplugging and replugging Arduino back in. – user1063287 Jan 9 '15 at 13:14
does not work. :( – Freddy Apr 10 '15 at 11:06
it works , well as well. but requires udev rule to re-permit on repplugging – pylover Sep 9 '15 at 9:59

Try going into System / Users and Groups and checkeing the box on your username in the TTY Group.

share|improve this answer
[Errno 13] Permission denied: '/dev/ttyACM0'. As well as tty group, user is also in dialout group. Linux Mint 17.1. – user1063287 Jan 9 '15 at 12:11
@user1063287 Try sudo chmod a+rw /dev/ttyACM0 – Vladimir S. Oct 1 '15 at 4:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.