I've had trouble to get Arduino IDE up and running on my system. However, I think I solved it and I wanna share my solution with you.
Go to Natty (11.04) : arduino package : Ubuntu
At the right side there are links to binary files listed. That is "arduino-core" and "arduino". Follow the links or if you want to get the 64bit version, go directly to:
Install "arduino-core" then "arduino". This is because "arduino" requires "arduino-core" to be installed before.
That installation was quick, wasn't it? Now you can start up the IDE from Ubuntu's menu Applications > Programming > Arduino IDE.
After that installation I found out that Tools > Serial Port was grayed out.
I found out that /dev/ttyACM0 is the device (Arduino Uno) I wanna talk to. I was able to execute ...
echo "ciao" > /dev/ttyACM0
... and see the RX led blinking. Thus at least there was a reaction, basically a connection was possible.
To cut a long story short ... I tried several ways to get /dev/ttyACM0 visible in that menu. In the end all I needed to change was adding a symbolic link. I created that with ...
sudo ln -s /dev/ttyACM0 /dev/ttyS10
I choosed ttyS10 because ttyS0 was already occupied.
After restarting the Arduino IDE, the menu item Tools > Serial Port became enabled and I had /dev/ttyS10 as an entry in there. Then I uploaded "Examples > Basics > Blink" and Arduino started blinking.
Please respond if this short description helped you too.
Your instructions worked! The only issue I have is I have to run sudo ln -s /dev/ttyACM0 /dev/ttyS10 every time I start the Arduino software. I'm new to Linux and not sure what the work around would be for this.
noisybit@noisybit-desktop:~$ uname -v
#55-Ubuntu SMP Mon Jan 10 23:42:43 UTC 2011
purza, you're right. After rebooting the link was gone. Creating the link / alias automatically right after plugging in Arduino Uno may be solved with some udev rules - but frankly I've no idea how it works. But wait until you read next paragraph ...
Now I downloaded and installed the package that mellis pointed to. And ... it worked! I now can see the /dev/ttyACM0 as menu item. So there is no need anymore to have the workaround with the symbolic link.
I had the same problems when I started with Ardunio this weekend (using openSuse 11.3/64).
Creating a symbolic link using option -S will forget it on reboot. But making a permanent in in this system controlled directory is not advisable.
Creating static symbolic links in /dev is a bit hokey these days, of course, so I moved across to udev and created a new rule for the UNO in a file called /etc/udev/rules.d/80-arduino-uno.rule
dead simple: if a new device pops up in the kernel named ttyACMsomething, and it has a USB product ID string starting Arduino (which mine does, I checked using the command usb-devices), add another symlink to it at ttyUSBsomething, thanks. Result:
Dec 21 19:18:50 agrippa kernel: [21501.209012] usb 1-1.1: new full
speed USB device using ehci_hcd and address 17
Dec 21 19:18:50 agrippa kernel: [21501.303198] cdc_acm 1-1.1:1.0:
ttyACM0: USB ACM device
andyp@agrippa:/etc/udev/rules.d$ ls -l /dev/ttyU*
lrwxrwxrwx 1 root root 7 2010-12-21 19:18 /dev/ttyUSB0 -> ttyACM0
It would seem I just need to download the latest version "rxtx_2.2pre2-3.debian.tar.gz" and then install it. But from where... and how... I've done this before, but having trouble remembering exact procedure.
Thanks.
Working on this stuff as a hobby in my spare time... when I'm not doing my real jobs, servicing electron microscopes and keeping up the household.
mellis:
There's an updated version of the RXTX package for Debian / Ubuntu (rxtx (2.2pre2-3)) that adds support for the /dev/ttyACM* devices.
..
I'm not sure if it's been backported to any of the shipping distributions yet or what you'd need to do to install it.
With 64-bit Ubuntu 10.10, it works, but that may be because of the library with the Arduino version 21 and 22:
WARNING: RXTX Version mismatch
Jar version = RXTX-2.1-7
native lib Version = RXTX-2.2pre2
I did have problems with Arduino 21 and Unos on 32-bit Ubuntu, but my solution was just to use Duemilanoves
For Arduino 22 on 64-bit Ubuntu, it is currently necessary to copy the arduino-0021/lib/librxtxSerial.so from the 64-bit version of Arduino 21 to arduino-0022/lib/, overwriting the (32-bit) .so currently there.