Problem installing Arduino IDE v2.3.3 (latest) on Linux Mint Cinnamon v21.3 64 bit (latest)

Greetings. My name is David. I am trying to install the Arduino IDE v2.3.3 (latest) on Linux Mint Cinnamon v21.3 64 bit (latest) running on a Lenovo ThinkPad T430 Core i5 Laptop. I follow the download and install instructions to the letter from the Arduino.cc web site using the AppImage download of the IDE. When I first installed the IDE, it started up OK and I can select my version of the Espressif ESP32 Dev Kit module from the Boards Manager. But I never see a COM Port to select in Tools. So I figure that's what the notes at the end of the IDE install instructions are for. So I did as instructed and created and modified the files in /etc/udev/rules.d./ That was easy (I am semi-proficient on Linux). After I made the changes, I did a cold reboot of the laptop, started the Arduino IDE, selected my ESP32 Dev board and plugged it in to a USB port. Now in the Arduino IDE under Tools I see:

Board: "ESP32 Dev Module"
Port: "/dev/ttyUSB0"

Here are the changes I made to Mint to get the serial port to respond in the Arduino IDE. These changes are verbatim from the IDE installation instructions for Linux:

root@drone-ThinkPad-T430:/etc/udev/rules.d# pwd
/etc/udev/rules.d
root@drone-ThinkPad-T430:/etc/udev/rules.d# ls -al
total 12
drwxr-xr-x 2 root root 4096 Nov 23 01:11 .
drwxr-xr-x 4 root root 4096 Jun 22 01:13 ..
-rw-r--r-- 1 root root 0 Jan 9 2024 70-persistent-cd.rules
-rw-r--r-- 1 root root 74 Nov 23 01:11 99-arduino.rules
root@drone-ThinkPad-T430:/etc/udev/rules.d# cat 99-arduino.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", GROUP="plugdev", MODE="0666"

Here is what the serial port looks like:

drone@drone-ThinkPad-T430:~$ pwd
/home/drone
drone@drone-ThinkPad-T430:~$ dmesg | grep tty
[ 0.090447] printk: console [tty0] enabled
[ 1394.731591] usb 3-2: cp210x converter now attached to ttyUSB0

OK, the cp210x is the USB to Serial bridge chip on the ESP32 dev module.

I am running a sketch on the ESP32. I know the sketch is outputting a time-stamp message every second from the ESP32's serial port. I want to see that message in the Arduino IDE. So in the Arduino IDE I open Tools > Serial Monitor and I see this error message eventually pop-up in Serial Monitor:

Port monitor error: command 'open' failed. Permission denied. Could not connect to /dev/ttyUSB0 serial port.

Not only that, every time I open Serial Monitor, I cannot set the baud rate, it's always stuck at 9600, then eventually the Port monitor error mentioned above pops up.

Does anyone know what's going on here? How do I fix the Serial Port? Thank you, David

I dropped my appimage in no particular folder (downloads?) and it runs on Linux Mint (latest LTS) without making any changes.

Search the forum for 'permissions' you have to allow access to the USB or serial, sorry 82 yo memory.

Are you a member of the dialout group?

Not relevant to this specific problem, but v22 was released a few months ago

1 Like

kenb4 said: " Are you a member of the dialout group?"

"dialout group" - gee that's triggering some rusty old brain cells, I haven't fought with the dialout group in ages, but I take you point seriously, I remember the dialout group as a thing long ago when serial ports were a thing in Linux, but haven't we moved on far past that now? Anyway, I'll try adding the dialout group and see what happens.

If those rusty brain cells need a hand, just search the forum for linux permission. My rusty cells are saying there might be another group and they do differ by distro although the more common big boys are all the same.

Adding your Linux user account to the dialout user group remains a valid approach for obtaining write permissions for serial port devices.

However, as you say, the modern approach is the use of udev rules files. This approach allows more fine grained and flexible control over permissions.