Difference between revisions of "Arduino"

From YobiWiki
Jump to navigation Jump to search
m
Line 37: Line 37:
 
ln -s /usr/bin/avrdude
 
ln -s /usr/bin/avrdude
 
ln -s /etc/avrdude.conf
 
ln -s /etc/avrdude.conf
  +
'''DON'T USE AVRDUDE FROM YOUR DISTRO!'''
What you should do is either recompile avrdude ''from the Arduino sources'' for the 64bit platform or, if you have the ia32-libs package, you've nothing to do as the binary provided in arduino-0017 will work out-of-the-box
+
<br>What you should do is either recompile avrdude ''from the Arduino sources'' for the 64bit platform or, if you have the ia32-libs package, you've nothing to do as the binary provided in arduino-0017 will work out-of-the-box
   
 
Now let's try to launch the script arduino-0017/arduino
 
Now let's try to launch the script arduino-0017/arduino
 
Tools/SerialPort/"/dev/ttyUSB0"
 
Tools/SerialPort/"/dev/ttyUSB0"
 
Tools/Board/"Arduino Diecimila, Duemilanove or Nanoe, w/ Atmega168"
 
Tools/Board/"Arduino Diecimila, Duemilanove or Nanoe, w/ Atmega168"
  +
 
===avrdude bug===
 
===avrdude bug===
 
Now trying the very first code:
 
Now trying the very first code:

Revision as of 23:53, 20 September 2009

So after the Arduino workshop at BruCON 2009 (pics here, I was seduced by this little development board.

Links

Arduino and Linux

Installation

Main instructions are here

As I'm using a Debian AMD 64bit, here is what I did:

Installing java from Sun and making sure it will be called by the tools. It might be that other java suites are working but at least java-gcj is missing a GtkLookAndFeel component that Arduino GUI is using
So if you don't have it yet:

aptitude install sun-java6-jre


Then if it's not the one by default, change it: (maybe "java" is enough but let's be consistent)

update-alternatives --config java
update-alternatives --config jar
update-alternatives --config keytool
update-alternatives --config orbd
update-alternatives --config rmid
update-alternatives --config rmiregistry
update-alternatives --config serialver

Other dependencies:

aptitude install avr-libc gcc-avr

Arduino tools, here v0017:

wget http://arduino.googlecode.com/files/arduino-0017.tgz
tar xzf arduino-0017.tgz

Arduino tools are coming only for 32bit but it contains only a few executables so let's install the 64bit version of those executables

aptitude install librxtx-java
rm arduino-0017/lib/librxtxSerial.so

Initially I also did this but it was a mistake! See below, avrdude bug

aptitude install avrdude avrdude-doc
cd arduino-0017/hardware/tools
mv avrdude avrdude.disabled
mv avrdude.conf avrdude.conf.disabled
ln -s /usr/bin/avrdude
ln -s /etc/avrdude.conf

DON'T USE AVRDUDE FROM YOUR DISTRO!
What you should do is either recompile avrdude from the Arduino sources for the 64bit platform or, if you have the ia32-libs package, you've nothing to do as the binary provided in arduino-0017 will work out-of-the-box

Now let's try to launch the script arduino-0017/arduino

Tools/SerialPort/"/dev/ttyUSB0"
Tools/Board/"Arduino Diecimila, Duemilanove or Nanoe, w/ Atmega168"

avrdude bug

Now trying the very first code:
See this tuto
Well when I tried to upload the bin to the board (menu -> Upload to I/O board), I got the following message:

Binary sketch size: 896 bytes (of a 14336 byte maximum)
avrdude: Yikes!  Invalid device signature.
       Double check connections and try again, or use -F to override this check.

Then I tried to inject the -F option to avrdude, it flashed the chip, gave me still errors:

Wrong microcontroller found. Did you select the right board in the Tools > Board menu?
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA168 is 1E 94 06

But the code was apparently correctly uploaded to the board as I got my blinking LED...

UPDATE bug solved!
Actually apparently the version of avrdude which is part of the arduino-0017 release is a patched version as it says:

Version 5.4-arduino

While the version in Debian Squeeze is:

Version 5.8

So apparently we need absolutely to use the special arduino version.
I was about to compile it from sources as I'm running a 64bit but because I've also the 32bit common libraries, the binary avrdude provided in arduino-0017 is working out-of-the-box!!