20

I am new to Ubuntu (And I love it). I want to burn a code to my Arduino Uno. When uploading the code, there's an error message saying, Serial Port COM1 not fount found. Did you select the correct one from tools -> serial port menu?. Now, visiting the tools, I can't select serial port because it is disabled. I am attaching a screen-shot of how it looks. I have done something similar in windows. How to find the serial port on Ubuntu?

enter image description here

7 Answers 7

12

In my case this error was because in the newer versions of Ubuntu the built in braile reader (brltty) was grabbing the port. I could see this when I used the command

sudo dmesg | tail -f

this showed the tty being disconnected from the port

[ 771.927380] usb 2-1.1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1

[ 771.928207] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0

explained very well here:

/dev/ttyUSB0 not present in Ubuntu 22.04

the actual fix I applied was

sudo apt remove brltty   (nb plug and replug the arduino afterwards)

...as suggested by Jarosław Jaryszew in the thread above .. many thanks to him BTW

1
  • Why the hack a "braile reader" is preinstalled on Ubuntu?? I have the same issue
    – Nathan B
    May 30, 2023 at 11:10
5

As far I see you are using the version 1.0.5 of arduino IDE, I assume that you installed the one in the apt repositories.

You can either try to install one from the snapcraft or the one from arduino's website.

Personally I used the latter one and anything worked like a charm.

Also either the case you can try to loon on Tools->Port if exists a port that is not a /dev/ttyS0 one. Try to play with these options. Finally by searching on dmesg you can find out which port has been located for arduno as well.

Finally an another approach is to unplug your arduino plug it again and type the following command:

dmesg | tail

In order to record the last event as the one that happens when arduino is plugged in to a usb port. The command above will show you the correct port.

For better results you can use the following:

  dmesg | tail -f

And continioulsy plug and unplug the arduino from the usp port till you see any arduino related message. The -f parameter allows to show realtime the new logs.

2
  • 1
    That really helped, because for me it was actually the usb cable which didn't work. Only noticed by watching dmesg. After the change I only needed to add my user to the dialout group.
    – Wipster
    Oct 20, 2019 at 13:22
  • I get: ch341-uart converter now disconnected from ttyUSB0
    – Nathan B
    May 30, 2023 at 11:08
4

COM1 is a Windows(TM) designation - it will look like /dev/ttyACM0, /dev/ttyUSB0 or similar in Linux.

Greyed out port tends to mean you haven't set the board type first - go through the settings in arduino Tools menu & set board to 'Uno', you should see the 'port' enable & auto-fill as well, most likely.

3

Your user account probably doesn't have permission to use the serial port.

Two ways to address this:

  • Easiest, but not advised: Run the Arduino IDE as root (eg launch from the command line using sudo).
  • The second, more advisable way to do it is to add your user to the dialout group, which has permission to use the serial port. Use the command sudo adduser $USER dialout. You will need to log out then log back in for it to take effect though (or try this). To list groups of current user use groups or id -Gn.

Once this is done, when you select the correct serial port (as others have mentioned maybe /dev/ttyUSB0) you should be able to write, allowing you to program the Arduino.

3

use this

sudo chmod a+rw /dev/ttyACM0  

or

sudo chmod a+rw /dev/ttyUSB0
2
  • The OP is just asking for the Linux equivalent of COM1, nit that he cannot see /dev/ttyxyz...
    – Fabby
    Jun 13, 2019 at 13:03
  • Thank you. For me it was: sudo chmod a+rw /dev/ttyUSB0
    – Nathan B
    May 30, 2023 at 11:14
1

For serial stuff I would actually recommend using something like minicom it's easy to use and you actually see the /dev/tty to which it is bound. It's usually something like /dev/ttyS0

Edit: So it's not only a link answer dmesg | grep tty that's how you see which port your TTY is - see the link above for reference.

3
  • I went to serial port setup and found dev/tty8. Now what should I do? Jun 13, 2016 at 9:22
  • And also my Arduino IDE 's tools -> serial ports is disabled. Jun 13, 2016 at 9:23
  • Did you type into the terminal the dmesg | grep tty ? Can you post the output of it?
    – Ziazis
    Jun 13, 2016 at 9:27
1

I had this same problem and struggled to fix it for a while. I tried the usual suggestions about adding myself to the dialout group and was frustrated that none of those tips helped. In the end, I realized I was using a backrev version of the Arduino IDE software, and once I upgraded, the problem went away.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .