USB Digital I/O and Analogue I/O Modules

USB Digital I/O and Analogue I/O Modules for PCs (Windows) - FAQ

What do they do?

In a bygone age you could hang a few bits of wire off the printer port and using OUT instructions you could toggle digital outputs on and off. And with an IN instruction or two, you could read the states of some digital inputs. Unfortunately, we now run Operating Systems - specifically Windows 98 through XP - which (for better or worse…) stop us affecting the real world with our PCs - the barriers between the user and the PC hardware are now colossal.

If you want to do something simple with PC hardware nowadays it's just too hard software-wise. You need to design a device to hang off one of the PC's busses (e.g. PCI, USB, ISA) then program Windows, and the bus controller, to handle your device. And then write an application to access them. If you're a Hardware Engineer this is all trivial - because you don't have to do it (or perhaps you're going to try - good luck?!). To do the software you're going to have to learn the Windows Driver Model and the Windows kernel - an immense feat - then implement a fully-blown WDM driver... just to turn a digital output on and off. It's not worth it.

So… a solution. The Red Earth Systems Digital Input/Output and Analogue Input/Output Modules are tiny hardware modules which allow you to control and read digital and analogue devices using your PC. The modules are USB (so you need a USB port!), but you don't need to worry about writing a driver, delving into Windows kernel programming, or even making some interface hardware for the PC - we supply sample applications, a (fully documented) programming API, a USB cable, and a little I/O board off which you can hang the circuits you want to control. For example, right now you could click a button on your PC and the +5V digital output over there goes on and off… simple.

What Operating Systems?

Windows 98SE, Windows Me, Windows 2000, and Windows XP - plus any variant (Home, Professional, SP2) on them.

What hardware is required?

A PC with a USB1.0 port. The modules will work with better - i.e. USB1.1 or USB2.0.

What I/O have they got on them?

Right now we have 8-Line Digital I/O modules: each one has 8 lines of +5V/GND digital output, and 8 lines of digital input. We call this a "DIO8" module - be warned that others call this a "DIO24", for some reason. Others are in the pipeline but this is the first one planned for release. Future modules will include analogue inputs, for example, but the priority of different models depends on demand. So register an interest.

What do they cost?

At the time this page was written we don't have a price, but they won't cost the likes of National's I/O products. The intention is to make them cheap enough to be trivial.

What do I get?

·        RESIO Module to the specification ordered (e.g. RESDIO8 for 8-lines discrete input and 8 lines discrete output).

·        Windows 98SE & Windows Me driver

·        Windows 2000 & Windows XP driver

·        Example application ResTalk. This allows you to turn on and off discretes immediately, and to read a status back from the module(s).

·        RESTalk User Guide, a copy of which is available for browsing here.

·        Win32 (Microsoft Visual C++ 6.0) static and dynamic libraries (.lib, .dll) for you to develop your own code with

·        RESIO API Specification to describe how to read and write the RESIO module(s). A copy is available for browsing here.

How are these different from the competition?

They're small, and USB. And cheap. These modules complement rather than rival other manufacturer's products (e.g. National's), since they are targeted at low-cost, USB, small I/O applications. The few competitors out there concentrate on high-cost, heavy-industrial, bespoke PCI-based I/O cards. Why buy 120 digital outputs when you only need 8?

Can I buy just one? / Is this only for commercial customers?

An individual may buy one module if he or she wants one - and thereby return to the days when you could make electronics for control by your home computer.

When will they be available?

These modules exist, the API exists, the driver exists, the test tools exist, and the documents are all written. And they work. If you exert pressure (i.e. express an interest, or send money!) then they will be available sooner, because currently there is "… an unknown market for them…" so it's not top priority.

If you're willing to accept the software on amateur CD-Rs with bubble-wrapped modules without cases then the modules will get to you quicker, because they won't have to go through full formal production. There's also the opportunity for prototype testing and Beta-releases, although this may yet be skipped because the product is already more mature than this.

What should I do to get one?

E-mail us with "I/O Modules" in the subject (so you're not regarded as spam), at the address shown below. Tell us what I/O you need and when you need it, and whether you'd be prepared to accept pre-release versions and give us feedback.


Sherlock Consulting Limited, Malvern, Worcestershire, UK WR14 3AZ


Last update: 17 Nov 2004