Linux USB Configuration
1. Introduction
On Linux systems, the USB subsystem needs to be configured with the proper permission settings to be used for embedded development.
The dialout permission has to be enabled for tools such as the Arduino IDE and Esptool to have full access to serial USB ports.
This is needed for the Arduino IDE to upload application firmware to the device, and to flash core firmware using Esptool to devices such as the Arduino Uno R4.
2. Procedure
Add your user account name to the dialout group to ensure full access to serial ports. By adding your user account to this group you will have the necessary permissions for Arduino IDE to communicate on the serial ports.
Open a terminal and enter the following command:
sudo usermod -a -G dialout $USER
Then restart your computer for changes to take effect.
The above will add the current user to the dialout group (the variable $USER evaluates to the user name).
If you wish to explicitly name the user, use a command on the following form (replace
sudo usermod -a -G dialout <username>
3. Troubleshooting
If you experinece any errors, read the following guide on the Arduino web site for further advice: Fix port access on Linux