~~NOTOC~~
===== Problems with the Arduino installation on Linux ======
We downloaded the zip archive of IDE version 2.2.1 (Oct. 2023) and encountered the followig problems:
=== esptool cannot find pyserial ====
esptool is a Python application using the serial port (COMx on Windows, ttyUSBx on Linux, etc.) to upload the compiled code to the microcontroller's flash memory. In some cases pyserial is not installed or not found.
Workaround:
sudo apt install pip3
pip3 install pyserial
Try to upload the code from the Arduino IDE to the esp32. It will call esptool in the background. It should work now.
==== ttyUSBx device is not avaliable ====
The reason is that the CH340 usb-to-serial driver collides with the preinstalled **Braille** interface driver **brltty**.
You can check this driver registration problem with
sudo dmesg -w
**Plug in the board** and observe the dmesg output. You will see that the usb-to-serial driver is unloaded in the end. This is the problem. The driver, i.e. the serial communication device, is finally not available.
Workaround:
If you do not need a Braille interface the easiest would be to deinstall the full driver support by
**Remove the brltty driver:**
sudo apt remove brltty
** Alternative: deactivate.**
systemctl stop brltty-udev.service
sudo systemctl mask brltty-udev.service
systemctl stop brltty.service
systemctl disable brltty.service
==== The Linux user is not allowed to use the ttyUSBx interface ====
Solution:
Add the resepective Linux user to the user group dialout:
sudo usermod -a -G dialout
Log out completely and log in again. A restart is not necessary. The Arduino IDE running under user id should now have access to the ttyUSBx interface.