Arduino – Uploading Code Error: ‘avrdude: ser_open(): can’t open device “/dev/ttyACM0”: Permission denied’


My OS is Ubuntu 18.04 and arduino was working until now.

Although there are a few solutions, none of them seems to work for me.

I followed these instructions on the arduino website.

Then I tried this on arduino Stack Exchange, which should work in cases where the first solution didn't. The answer says we should create a few rules on /etc/udev/ruled.d/ path.

But none of them worked for me.

I also tested arduino in Windows 10 to see if it was a hardware problem, but it worked fine.

Does anyone have any other ideas on how to solve this issue?


  • My username, sergio, is part of both groups (tty and dialout);
  • I logged out and back in as arduino official tutorial explains;
  • In Arduino IDE, the configurations are correct: Arduino UNO and ttyACM0
  • This is the output of ll /dev/ttyACM0 after running the tutorial commands:

    crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0


I've created a script to solve this:

Best Answer

I had a similar issue when I tried to upload a sketch to Arduino. The issue was connected to the lack of permissions to read/write to the serial port. I was able to fix by using the following command:

To confirm the port exists enter the following from the root directory.

ls /dev/ttyACM0

To set read/write permissions, enter the following

sudo chmod a+rw /dev/ttyACM0
Related Question