The XO Laptop comes with the drivers you need to talk to an Arduino board, but you need to do a few things before you can run the Arduino environment. Once you get it running, though, it works just fine. The first step is to install Java. To install Java on the XO Laptop, check out these instructions (the version of Java that you download will be different from what’s listed on that page, so you’ll need to modify the commands slightly to take that into account).
Once you’ve got Java up and running, you need to install the GNU C and C++ compilers as well as the LIBC for the AVR chip that the Arduino uses. To do this, open up the Terminal activity, su to root, and install avr-gcc, avr-libc, and avr-gcc-c++ using yum:$ su # yum install avr-gcc avr-libc avr-gcc-c++
While you’re root, you may as well make one of the changes you need to make; add the olpc user to the lock and uucp groups. To do this, edit the /etc/group file with the /usr/sbin/vigr command and add the olpc user to the end of the lock group:lock::54:olpc
and to the end of the uucp group:uucp::14:uucp,olpc
After you exit vigr (which is just a script that starts vi to safely edit the group file), decline its offer to edit the gshadow file, and type exit to get back to a normal (non-root) shell):# /usr/sbin/vigr You are using shadow groups on this system. Would you like to edit /etc/gshadow now [y/n]? n # exit exit $
Next, make sure you’re in your home directory, download Arduino (there may be a more recent version of it, so check the Arduino page to be sure. Extract Arduino in your home directory (you’ll be running it out of your home directory as well):$ cd $ wget http://www.arduino.cc/files/arduino-0010-linux.tgz $ tar xvfz arduino-0010-linux.tgz
Now, you’re all Arduino-fied. To run it, cd to the arduino-0010 and run the arduino script:$ cd ~/arduino-0010 $ ./arduino
There is one last trick: you’ll likely find that the Arduino user interface misbehaves quite a bit. To get it to work right, press the screen rotate button four times to get a nice 360 degree rotation. Arduino will redraw and start behaving itself as shown in the screenshot.
Update: As Seth points out in the comments, the Update.1 build that is coming out this month will do away with the su command, so you should use
sudo -sinstead of
su(or simply prefix each superuser command with
Update 2: If you use JRE 5 from the Java technology archive instead of JRE 6, you won’t need to use the screen rotation trick.