Difference between revisions of "Arduino"

From YobiWiki
Jump to navigation Jump to search
m
Line 1: Line 1:
So after the [http://www.brucon.org/index.php/Workshops#Arduino:_how_we_made_the_beerduino Arduino workshop] at BruCON 2009 (pics [http://gallery.yobi.be/v/divers/evenements/brucon2009/IMG_9977.JPG.html here], I was seduced by this little development board.
+
So after the [http://www.brucon.org/index.php/Workshops#Arduino:_how_we_made_the_beerduino Arduino workshop] at BruCON 2009 (pics [http://gallery.yobi.be/v/divers/evenements/brucon2009/IMG_9977.JPG.html here]), I was seduced by this little development board.
   
 
==Links==
 
==Links==

Revision as of 23:04, 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!!