Circuit Lake

Electronic Project and Circuit Collection

Modular User Interface System

07/11/2010 Category: AVR, Interfacing, Microcontroller, Project

The IOSTRING is a modular physical user interface system which consists of a series of three basic board modules designed around the Atmel AVR AtMega88 MCU. Each module type can handle switches, pushbuttons, rotary selector switches, rotary shaft encoders, potentiometers, LED’s, LCD displays, and an alphanumeric LED display. Dual footprints are provided on each board to accommodate a large variety of combinations and device types.

image of module user interface using AVR


Designers simply assemble IOSTRING modules together in a daisy-chain configuration to form an arbitrarily complex user interface panel. The best part of it is that the host only needs a single serial port to interface to all the IOSTRING modules. Each module handles its respective user interface details and communicates its status to the host using the IOSTRING serial networking protocol. A fully portable ANSI C library called IOSLIB is provided for the host to interface to the various IOSTRING modules. Once setup and running, a user defined callback function inside the host is called each time a user presses or releases a button, rotates a knob, etc. This AVR based modular physical user interface system is designed by Eric Gagnon from Canada.

module diagram

Modular User Interface
Project Detail and Documentation
circuitcellar.com