:: Imaguino ::
The Imaguino is an Arduino-compatible board designed by the design consultancy Imagination for physical computing at its many shows.
Its features are
At Imagination, we were impressed by the ease of use of the Arduino, especially its development environment and wide body of hardware interfaces. However, there were a number of issues for our applications. As we would always be using them with the Ethernet sheild, we'd like that built in. And we almost always need opto-isolation to drive our equipment, which would typically be motors, lights, relays and similar. We wanted 12V available, as well as the 5V required for the Arduino. To get the best deployment, we really, really, want power-over-ethernet, which gives us single-cable installation and remote reboots. Lastly, if we had all that, we'd like DHCP and flash via TFTP in the manner of a diskless workstation. So we built it!
An ancilliary goal was to have the boards be able of easy modification, so we decided against surface mount. We had to make a small daughter board for the W5100 Ethernet controller chip, which is only available in surface mount. We decided to use a eurocard format, 160 x 100 mm, in order to have easily-available boxes and mounting hardware.
Imagination's work is very frequently under high-pressure public event conditions such as motor shows. We needed easy-to-use and robust units. This led to many design choices, for example the opto-isolated interfacing can be either inputs or outputs by simply moving the opto-isolators from one socket to another. All the inputs and outputs have their own monitor LED, and the connections are presented on big, screwdriver-friendly industrial Weidmuller connectors.
The Ethernet standard 802.3af specifies how to send 13W of power down the twisted pair cable of Ethernet, predominantly to drive VOIP phones and wifi access points. We wanted to use this to power the Arduino, and potentially small items such as LEDs, speakers, relays.
The POE specification is considerably more sophisticated than simply putting power on the (usually) unused pairs of the twisted pair cable: it can send the power down the data lines, and still works with full-duplex Ethernet where there are no unused pairs. The powering device, normally the Ethernet switch, sends short detection pulses, and the powered device responds with characteristic resistances which are recognised the the powering device. It then switches on full power. (In fact, it can negotiate the amount of power required.)
In order to get POE, we had to basically reimplement the Arduino Ethernet Shield, with slightly differences. Basically we need to use different pulse transformers, which are built into the Mag Jack on the Ethernet Shield. We use another Mag Jack product designed especially for this purpose, which has the appropriate centre-taps on the pulse transformers. Then we add a POE module from Silver Telecom, which is very easy to use. This has all the circuitry necessary to interface with the powering device, negotiate the power, and a switch-mode voltage converter to take the POE voltage of 48V and drop to 12V, which is what we required on board.
We have had good experience with the Silver Telecom products on previous projects and had no difficulties with them.
As we would almost always be driving relays, motors or other equipment, we needed opto-isolation. For some of our equipment, we only need a little 12V for a relay, and so if our Imaguino can supply that we'll save a whole power supply.
So we decided to have 12V supply from the POE module, dropped to 5V regulated for the main supply for the Arduino circuity, and a small 3.3V regulator just to drive the Ethernet chips.
The opto-isolators are TLP 627 photo-darlingtons, and we put an LED in series so we can always monitor their inputs.
In the days of diskless workstations, circa 1985, the standard practice was for the diskless machine to get its IP address and other configuration from BOOTP and then find its operating system files by the file transfer protocol TFTP. (This practice has been essentially recreated as PXE, the preboot execution environment.)
We wanted this functionality so that we could have potentially dozens of Imaguinos installed, and program them in situ over the Ethernet, and so we developed the appropriate bootloader for the Atmega 168 which gets its network configuration from DHCP and then finds its image over TFTP. It programs itself if the new code differs, and then runs.
In practice many of our systems use the normal Arduino bootloader as many developers prefer a serial interface.
The Arduino has no power-on reset circuitry, relying instead on the internal power-on reset of the Atmega CPU. However, the W5100 ethernet controller has no power-on reset, and requires an external reset. Most users add a capacitor to achieve this. However, this interferes with the DTR reset from the serial interface, which is used to initiate a download.
We addressed this with a reset controller chip implemented in an 8-pin ATtiny CPU.
We often want our systems to be used in decorative plinths or built into furniture, buried under floors and so on. As a result, we need reliable industrial connectors and chose the Weidmuller 5.08 range. These are a two-part plug and socket with screw terminals.
In order that we don't require custom housing, we chose a standard Eurocard format for our PCB, which is 160 x 100 mm.
The serial interface is presented as an RJ45 socket, pin compatible with the console ports of Cisco routers and similar equipment. This means that all of our existing serial cabling will plug straight in.
We used Eagle CAD for the hardware design of both the main Imaguino and the W5100 surface-mount daughter board. The boards were produced at PCB Pool.
The design was done by the Production Technology department of Imagination. If there is interest we will be happy to publish the circuit diagrams and other details of these boards.
Hi, this is really interesting and exciting work! Just wanted to say, if you could publish your Eagle files it would be a big help to the Arduino community, and greatly appreciated by me personally.