I bought arduino leonardo and connect it to Ubuntu 15.04.
With arduino IDE 1.0.5(from Ubuntu official repo) running in sudo, the arduino was recognized as /dev/ttyACM0.
So I tried to upload sample sketch Blink to the port ttyACM0 with settings of Leonardo, but every time I tried to upload IDE said that serial port is wrong. and then actually leonardo was recognized as ttyACM1. If I set ttyACM1 and retry, leonardo moved to ttyACM2; and so on.

So I searched some websites and installed oracle-java7-installer package and Arduino IDE 1.6.5 from official site.
After doing so and several tries, my leonardo finally stopped to be recognized. no ttyACMx appears from that time.
I guessed it's the problem on software environment, so I connected the arduino to Windows7 pc, but device manager also didn't recognize the arduino.

How my leonardo is now

Connecting to PC, "ON" LED have turned on and "L" LED blinks each 1 seconds. I guess it's thanks to default bootloader. So looks not completely broken or bricked, but still can't access from any PC in normal way.

What I want to be taught

Is my leonardo broken? Is there a way to make it work?

reply(20151018) @Chris Stratton
Thank you for suggesting! It's good news for me that it doesn't seem to broken.
I ran lsof | grep ttyACM and found nothing.
And about brltty, Ubuntu has installation of it by default, and sudo service brltty status says its enabled.
So I try sudo service brltty stop and connect my Leonardo, but it still not be recognized. X(

  • First, never run programs like the Arduiono IDE as root! It's insecure, and it can make a mess by creating files which a normal user account can't clean up. Add yourself to the dialout group instead. – Chris Stratton Oct 17 '15 at 15:12
  • The "migrating" USB serial device problem is a behavior of typical Linux configuration (probably udev) - if a device is disconnected (possibly including by simple reset of the target processor) from the USB bus while anything has the device file open, when reconnected it will not be given that same name, but the next one in the sequence of naming rules. This can be quite annoying when doing embedded development, and I've been thinking about trying to change that behavior for select devices. In the meantime, you can use lsof | grep ttyACM to see if something still has the old one open. – Chris Stratton Oct 17 '15 at 15:15
  • And make sure to disable brltty if you have that installed - it can improperly grab serial devices, and it could be something like that which is preventing re-use of the serial device names. It's unlikely your Leonardo is bad - it has to be fairly alive to be given a serial device name. At an extreme you could try reloading its firmware in DFU mode, but that's probably unecessary. Can you use a friend's Mac or Windows box to test it? – Chris Stratton Oct 17 '15 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.