in t f I Design - Develop - Deploy

ZIO Motherboard

Description

ZIO is an IO framework for rapid product development. ZIO Motherboard is a USB device that provides access to IO interfaces like GPIO, Sensor, PWM, I2C and SPI. ZIO comes with an API that can be used to access the IO interfaces provided by the motherboard, from the PC.
ZIO Blocks

Applications

  • Rapid embedded application prototyping
  • Hobby electronics
  • Teaching and learning electronics
  • Building robot prototypes
  • Development of PC based embedded systems
  • Low speed data acquisition
  • Testing and debugging boards, I2C, SPI peripherals, etc.

Features

The ZIO Motherboard offers the following features

  • Connects to PC through USB
  • Powered by TI's Stellaris LM3S3748 (ARM Cortex-M3 core)
  • Interfaces: GPIO, Sensor Input, PWM Output, I2C, SPI
  • Powered by Open Source software.
  • Host-side API for programming the ports
  • APIs available for Java and Python
  • API documentation for easy reference
  • Port interfacing guidelines for common scenarios
  • GUI based Control Panel to explore the board
  • On-field firmware upgrade through USB
  • OS Support: Windows XP/Vista, GNU/Linux - Debian, Ubuntu, Mint, Fedora

RJ12 Ports

RJ12 Breakout Board All the IO interfaces are available on RJ12 ports. ZIO comes along with the following add-ons to simplify working with RJ12 ports.
  1. RJ12 cables
  2. RJ12 to Bread Board (Break-out)
  3. RJ12 to Phoenix Connectors

Documentation

ZIO is backed by extensive documentation in the form of manuals, API reference and tutorials. The currently available documentation is listed below.

I/O Interfaces

GPIO Usage in LED, key input, power control, IR applications The I/O interfaces supported by ZIO, and their usage is listed below.

GPIO

GPIOs can be used for wide variety of purposes
  • Controlling LEDs
  • Digitally controlling switches
  • Reading switch status
  • Creating simple sensors
  • Bit-banging other communication protocols
  • Constructing IR receivers

Sensor and PWM

Sensor module is an Analog to Digital Converter. Simple resistive sensors like LDRs, thermistors, can be easily connected to the Sensor port. It is also possible to connect powered sensors that generate a voltage output.

The PWM module can be used to generate PWM signals. PWM signals can be used for LED brightness control, DC motor speed control, servo motor control.

I2C and SPI

I2C is a bi-directional two-wire (data and clock) serial bus that provides a communication link between integrated circuits. Serial Peripheral Interface (SPI) is an inexpensive chip interconnection bus, popular on circuit boards. Some common I2C and SPI devices are listed below.
  • OLED and LCD Displays
  • IO Expanders
  • Real-time Clocks
  • Hardware monitors
  • Sensors: temperature, pressure, touchscreens, ADCs
  • Memory: NVRAM, Flash, EEPROMs
  • Control Devices: Digital Potentiometers, DACs, PWM controllers
I2C and SPI usage in temp. sensor, RTC, EEPROM, Fan control, LCD

Open Source Software

ZIO is powered by Open source software. We provide source code for all the software components under the GNU LGPL. The various software components and their sources are listed below.
  1. ZIO Java and Python API
  2. ZIO Agent Firware Code
  3. ZIO Control Panel Application

API Support

ZIO currently can be accessed from Java and Python. Moreover the protocol is completely documented and is available as part of the agent source code. So it should be pretty straight forward to implement APIs in other languages. We welcome ZIO users to contribute bindings to their favourite language.

ZIO Control Panel

ZIO comes along with a Control Panel application that allows, most of the functionality to be accessed from within the GUI. The application is written using Python and GTK+. The GUI application allows API discovery by displaying the Java and Python code, corresponding to the last performed operation.

Control Panel Screenshot
(Click for fullview)

ZIO Software CD-ROM