Saturday, October 1, 2011

Here are some notes about my experience with the new (summer 2011) Arduino-Ethernet.

Created: October 1, 2011

Last Updated: December 12, 2011

Arduino Ethernet is a single board which integrates a basic Arduino UNO with Wiznet Ethernet shield.
The board is obviously more integrated, and the components are much smaller.

The board has a MicroSD slot, like the newest Ethernet Shields, but does not have anymore a direct USB interface, like the Arduino Classic boards.

Arduino Ethernet supports a POE addon that allows Power Over Ethernet. I did not buy that too.

To program it, it is needed a small component (also manufactured by the arduino factories, but sold separatedly) called Arduino USB2SERIAL light, that plugs on a 6 pin connector on the board.

This component also can power via USB the whole Arduino. Once programmed, and once ethernet communications are setup, this component is not necessary anymore and can be disconnected, but then Arduino must be powered via the power plug, or via POE.

Here is a picture of the two connected, and with a micro-SD card inside the socket:

You can also program Arduino using a standard serial RS232 interface, connected to GND, RX (digital pin 0), TX (digital pin 1).

Manufacturer
My Arduino Ethernet is manufactured by Smart Projects srl.
I was pleased to find a nice booklet inside the package, with 6 small cool adhesives. Here is the introductory note:

Connection Problems
I was surprised not to be able to connect to my new Arduino thru the standard software already available in my PC (from which I was working on my other Arduino 2009 boards).
The latest (as of oct 1, 2011) distribution package arduino-22 does not support this board, and the USB2SERIAL drivers are simply not there.
My environment is Windows 7 64bit.

With this driver and with the boards.txt update, Arduino Ethernet was correctly identified and i was able to download and run sketches on it.

Available I/O: Caveats
Since Arduino Ethernet is actually and Arduino embedding Wiznet 5100 Shield, some pins are not available, because used by the ethernet interface.Here is a good description of the Arduino Ethernet architecture, which is based on ATMEL ATMega328.

Digital I/O 10,11,12,13 are not available, since used for ethernet interfacing (exactly like in the Ethernet shield).
Digital I/O 4 is used for interfacing with SDcard.
Digital I/O 0,1 are used for serial interface (native or via USB2SERIAL connector)

So, the available Pins are:

7 Digital I/O: 2,3,5,6,7,8,9

of these, PIN 2,3 can support interrupt triggering, to detect an asynchronous change in a signal, like detecting an edge (see AttachInterrupt()) and for example could be used for pulse counting.
PIN 7 is a normal digital I/O