+++++ EZIO ++++++

The EZIO board is a serial I/O device for building interfaces between external devices (sensors, lights, motors, etc.) and a PC or Mac. You can use it with Hypercard, Max, Director, or just a straight C/C++ program. It was developed by Michael Rodemer and Ed Bennett, and is now manufactured and distributed by NIQ. The serial protocol for using it is very straightforward, making it easy to use with applications in C/C++, Java, MAX/MSP, PD, or any other language or application that can access a serial port. For instance, we've also written a plugin for the Ygdrasil programming language to use the EZIO board as an interface in CAVE-based Virtual Reality environments.

EZIO With Processing

ezio.pde is a Processing class that handles communication with the EZIO. Include this with each sketch that you want to use with the EZIO board. this class uses the processing.serial library, so read the reference documentation for that for troubleshooting information with getting access to the serial ports, file permissions, etc.


listing serial ports: println (Serial.list());
This prints out a list of the available serial ports; for example, "/dev/ttyUSB0" or "COM1" or "/dev/ttyS1".
Initializing the board: ezio = new EZIO (this,"/dev/ttyUSB0"); // or whatever the name of the port is
Reading Digital Input Lines: d = ezio.readline(n); // n is from 0 to 9; returns 0 or 1
Reading Analog Input: a = ezio.a2d(n); // n is from 0 to 7; returns 0..255
Writing Digital Output: ezio.writeline(n,v); // n is from 0 to 9; d is 0 (off) or 1 (on)
Pulse-Width Modulation: ezio.pwm(n,v); // n is 1 or 2; v is from 1 (off) to 1023 (full)


ezio.pde : R-click and save-as. Copy it into the folder for your sketch.

EZIOXtra : EZIO Board with Director

Compatibility: Mac OS 8,9, OSX 10.2+, Win32, Director 7,8,8.5,MX,MX2004

You can also use the EZIO Board with other general purpose Serial Port Xtras, such as the one from PhysicalBits. To do this, just read up a little on Michael Rodemer's documentation pages for the protocol the board expects. The only advantage to using the EZIOXtra is that all the specifics of the serial communication are built-in, so all you need to use are a few new Lingo commands.

The EZIOXtra is projector-ready: just include it in your movie's Xtra list, and it will work fine. It is not Shockwaveable, as Shockwave limits your ability to access files and devices on the client machine.


EZIOXtra MacOSX (.sit)
EZIOXtra Mac (BinHex)
EZIOXtra Win32

Documentation (HTML)
Wiring Diagrams (PDF)
Keyspan USB Twin Serial Adapter
Drivers for the Keyspan
Buy the EZIO Board
Michael Rodemer has more documentation and in-depth technical details, including the serial protocol commands for using the board.

EZIOXtra Source (Mac OSX) Codewarrior 7 Project and source for OSX, including serial port library and XDK.
EZIOXtra Source (Mac OS9). Codewarrior Project and source for OS9. You'll need the Director 8.5 XDK from Macromedia to build it.
EZIOXtra Source (Win32). Source and Visual Studio project for Win32.

Example Director Movies

EZIO Example Movies (936K, .sit)
EZIO Example Movies (975K, .zip)

Digital Input:Print out digital input line 1 in the message window
All Digital Inputs:read all the input lines, turn sprites on and off
Analog Input:print out analog line 1 in the message window
Multiple Analog Inputs:change height of sprites from analog ins
Analog to Blends:each analog input controls the blend of a sprite
Digital Output:a few examples of digital output control