Arduino
Arduino: Microcontroller Programming for Anyone
The official Arduino site is here
Some awesome getting started projects, written in a very fun and approachable style are at the Adafruit site. (She [they] also sell components, etc. Awesome site.)
A few more tutorials can be found at the Hacktronics site.
Another great site is curiousinventor, oh what fun to be had.
And then there is the hackmod top 40 Arduino projects.
And here is a free Arduino book with even more projects.
Once you install avr-libc [below] you can also see it's great documentation, located somewhere like:
file:///usr/share/doc/packages/avr-libc/user-manual-1.6.2/index.html
(Also note there are man pages for many of the functions in this library.)
The forums at Hacktronics and Adafruit are also pretty great.
Things like Arduino
There are lots of other products like the Arduino, which I'll add here:
Parallax has some cool controllers, including the Propeller - an 8 core, 32 bit one as well as some basic robotics kits.
Maker Shed has a variety of cool projects
Instructables is also a source of cool project ideas.
Arduino Software
In addition to Java, the Arduino software requires packages like:
Ubuntu:
sudo apt-get install gcc-avr avr-libc
Weird issue with Ubuntu - the IDE does not always close the serial port if you have used the serial monitor windows. If so, you will not be able to see out put with cat /dev/ttyUSB0 - although the IDE serial monitor will still work. Weird. To resolve, attach using screen and then kill screen which will properly release the port. This solution is from here Example
screen /dev/ttyUSB0 Terminate with crtl-a then k cat /dev/ttyUSB0 should now work
Suse: (See this page here for more:)
zypper install java-1.5.0-sun cross-avr-gcc cross-avr-binutils avr-libc modprobe ftdi_sio modprobe usbserial
NOTE: If using an Arduino ATmega328p you have to use cross-avr-gcc43 or higher. If you use cross-avr-gcc44 from the Suse Build server, it will actually uninstall avr-libc. You can either download and force install a version that will work, or download an install cross-avr-gcc43. Even if your programs compile, you will not be able to sync with the Arduino ATmega328p unless you are using a later version of cross-avr-gcc.
Set some permissions:
Callandor:~ # ls -ld /var/lock/ drwxrwxr-t 8 root uucp 4096 Mar 26 11:52 /var/lock/ Callandor:~ # chmod 777 /var/lock Callandor:~ # ls -ld /var/lock/ drwxrwxrwx 8 root uucp 4096 Mar 26 11:52 /var/lock/
Callandor:~ # ls -ld /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 Apr 2 00:29 /dev/ttyUSB0 Callandor:~ # chmod 777 /dev/ttyUSB0 Callandor:~ # ls -ld /dev/ttyUSB0 crwxrwxrwx 1 root dialout 188, 0 Apr 2 00:29 /dev/ttyUSB0
Set symlinks per the Suse article above, and also add:
ln -s /opt/cross/bin/avrdude avrdude
Ensure you have libusb-0_1-4 installed
If you have brltty installed, remove it as it may conflict with Arduino.
OpenSolaris
Here are some great reference on getting Arduino to work on OpenSolaris:
http://hub.opensolaris.org/bin/view/Main/arduino
From the above site" "The device drivers needed to communicate with the board were integrated in build 113 so you'll need to be running that build or later." (If you are running an earlier build you will need to
http://blogs.sun.com/nick/entry/getting_arduino_duemilanove_to_work
http://www.edplese.com/arduino-on-solaris.html
(The above came from the Arduino forum here.)