how did sudo command solved can't open device "/dev/ttyUSB0": Permission denied?
-
Please read full
This is the most common or the most probable error you might have seen if you tried coding Arduino, nodeMCU etc in Arduino-ide.
It might happen that when you upload a sketch - after you have selected your board and the serial port -, you get an error Error opening serial port ... If you get this error, we google it and the method to debug it is to set serial port permission.this is the steps we followed to solve it. Even though the error stilled showed sometimes and had to use this code again.
Since I try different distros of Linux sometimes I end up corrupting the old distro and reinstalling it from the beginning.
This time I actually didn't follow these step but installed Arduino from the terminal using sudo apt install arduino command and run the code. The interface was completely different. The image below is the general interface of ide but installing it with sudo command give an ide with same screen but no setup{} or loop() part, a blank screen.
An error popped up about the port issue and solution to add the user to the group was mentioned in the terminal and followed the same command. After which the error never showed. I also snap installed arduino.Now my question is : By installing arduino using sudo command did I install ide or supporting libraries and why did the error stop?
-
- Go to Arduino software
- Download Linnux 64-bit or 32-bit software
- Extract the Downloaded tar.xz file on your home directory.
- Navigate to your extracted file using cd command:
cd arduino-1.8.12-linux64
- Make the install.sh file executable:
sudo chmod +x install.sh
- Install arduino using shell script
sudo ./install.sh
- 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 <username>
I believes it is a better way to solve your problem. Other way you to try to solve problem is install arduino via:
sudo apt-get install arduino-core
-
@arunksoman thanks for the steps
but the thing is I don't have issues with port now, I was curious how it got resolved without going through the usual steps but by using sudo command. -
@Abhay What did you mean by usual steps?
-
@arunksoman by usual steps I meant adding our user to the group.
ie the step
sudo usermod -a -G dialout <username> -
@Abhay I think most probably you might have done this earlier while installing Arduino.
-
@arunksoman thanks,
I will look more into it. Thanks again