Products Overview

Processor Modules

I/O Expansion Modules

Ruggedized Systems

Enclosures & Accessories


Custom Products

Board Level Solutions

System Level Solutions


Custom Ruggedization





Industrial Automation




Support Overview

Technical Resources

Contact Technical Support

Request an RMA

About Diamond Systems

The Diamond Advantage

Markets & Applications


Career Opportunities

3.5" Form Factor
COM Express
Single Board Computers
I/O Modules
Power Supplies
COM Express
ARM SBCs and Baseboards
Single Board Computers
I/O Modules
Power Supplies
I/O Modules
Single Board Computers
I/O Modules
Single Board Computers
Single Board Computers
PCIe MiniCard
PCIe MiniCard
PCIe MiniCard
COM Express
PCIe MiniCard
PCIe MiniCard
I/O Modules
Single Board Computers
I/O Modules
I/O Modules
you are not logged in:
login | signup
lost password?

Conduction Cooling for Stackable SBCs

COM-based SBC Benefits

Benefits of Autocalibration

EmbeddedXpress Form Factor

Application Articles

Building Automation
Paper Processing
Train Controller
Wind Instrument
Lung Simulator
Gas Analyzer
Weapon System

Visit our Markets & Applications page.

Products   >   I/O Expansion Modules   >   Digital I/O Modules   >   Onyx-MM Digital I/O Module
48 digital I/O lines
3 16-bit counter/timers
3 PC/104 bus interrupt lines
On-board 4MHz clock oscillator
Programmable counter and interrupt sources
Can generate bus interrupts at programmable intervals
Software and technical manual included
-40C to +85C extended temperature
Customers who use this product also use:
50-pin Data Acquisition Cable
Counter / Timer Cable

This product can be customized and ruggedized. Click here for more information.
See Onyx-MM Digital I/O Module Technical Resources
Request Product information
Request Technical Support
Onyx-MM Datasheet
(.pdf, 136.5 kb)
Onyx-MM Manual v1.4
(.pdf, 607.9 kb)
Universal Driver 6.02 Release Notes
(.pdf, 141.3 kb)
82C55 Digital I/O IC Datasheet
(.pdf, 275.4 kb)
82C54 Counter/Timer IC Datasheet
(.pdf, 181.8 kb)
Onyx-MM Example Programs for UD 5.91
(.zip, 314.9 kb)
Universal Driver Software
Universal Driver 6.02 for DOS
(.zip, 176.5 kb)
Universal Driver 6.02 for Windows CE
(.zip, 106.7 kb)
Universal Driver 6.02 for Windows XP
(.zip, 331.8 kb)
Universal Driver 6.02 for Linux
(.bz2, 148.7 kb)
Universal Driver 5.92 for WinCE
(.zip, 97.4 kb)

Onyx-MM Digital I/O Module

Programmable Counter/Timer, Interrupt, and Digital I/O PC/104 Module

Onyx-MM Digital I/O Module
click for a larger image
Counter Configuration
Interrupt Configuration
Free Software
I/O Header Pinout
Get an online quote
Customize Me


Extensive software control of features is the highlight of this digital I/O module featuring 48 digital I/O lines, 3 16-bit counter/timers, and 3 independent PC bus interrupt inputs.

The 48 digital I/O lines on Onyx-MM are based on 2 82C55 ICs. They can be programmed for input or output in groups of 8 lines. Direct as well as strobed (latched) I/O modes are supported, and all I/O lines are connected to 10K Ohm pull-up resistors.

The 3 16-bit counter/timers are based on an 82C54 IC. They are controlled through a configuration register on Onyx-MM (in addition to the standard 82C54 configuration register). The counter inputs can be switched between external signals, the on-board 4MHz clock oscillator, or counter outputs, all under software control. By using one counter's output as another counter's input, you can cascade counters in software to create a 32-bit or 48-bit counter.

Onyx-MM also features programmable interrupt operations. A second software-controlled register on board configures up to 3 interrupt lines on the PC bus. Interrupts can be generated by the counter/timer outputs, digital I/O lines, or an external input line. This allows you to use a counter to generate bus interrupts at a programmed periodic rate, generate hardware interrupts under software control, or generate interrupts in response to an external event.

Counter Configuration

Counter/timer I/O Header

IN 0 1 2 IN 1
GATE 0 3 4 GATE 1
OUT 0 5 6 OUT 1
IN 2 7 8 EXT INT
OUT 2 11 12 GROUND
+5 13 14 GROUND

Onyx-MM provides an control register to configure the counter/timers. This register is separate from the 82C54 configuration register. This register allows you to select the source of each counter as shown below.

Bit Definition
7 -
6 -
5 -
4 S21
3 S20
2 S11
1 S10
0 S0
  • S21, S20 Counter 2 input select:
    00=In 2, 01=4MHz oscillator, 1X=Out 1
  • S11, S10 Counter 1 input select:
    00=In 1, 01=4MHz oscillator, 1X=Out 0
  • S0 Counter 0 input select:
    0=In 0, 01=4MHz oscillator

Interrupt Configuration

A unique feature of Onyx-MM is its interrupt control. The board has three separate interrupt circuits, each with its own level select jumper block. A control register (shown below) allows you to select each interrupt's source from among counter outputs, digital I/O lines, or a dedicated external interrupt input line. You can also individually enable and disable each interrupt. All interrupt circuits are tristate / active high with jumper-enabled 1KOhm pull-down resistors to implement interrupt sharing in accordance with the PC/104 specification.

Bit Definition
7 -
6 -
5 SRC2
4 SRC1
3 SRC0
  • SRC2 Interrupt 2 source:
    0=External interrupt pin
    1=Counter 2 output
  • SRC1 Interrupt 1 source:
    0=Digital I/O line C0 on connector J4
    1=Counter 1 output
  • SRC0 Interrupt 0 source:
    0=Digital I/O line C0 on connector J3
    1=Counter 0 output
  • INTE2-0 Interrupt enable bits:
    0=disabled, 1=enabled

Digital I/O Operation

Onyx-MM has 48 digital I/O lines using 2 82C55 ICs. Each chip has 24 I/O lines organized as three 8-bit ports, A, B, and C. All I/O lines are connected to 10KOhm pull-up resistors, and on power-up or system reset, all ports reset to input and are pulled high. A control register on the 82C55 chip allows you to program each port for input or output and for different operating modes, including basic I/O, strobed I/O, and bit set/reset.

Mode 0 operation provides basic input and output operations. No handshaking signals are used. This is the most common method of digital I/O and is useful for reading status signals, turning switches on and off, etc. All three ports can operate in Mode 0.

Mode 1 operation provides strobed I/O on ports A and B with handshaking signals provided on port C. In input mode, one signal acts as a strobe to latch data into the port, a second signal acts as an acknowledge output, and a third signal acts as an interrupt request. In output mode, one signal indicates that the CPU has written new data to the port, a second signal acts as an acknowledge input, and a third signal is used as an interrupt in response to the acknowledge input. This interrupt signal can be routed to one of the PC bus interrupt circuits on Onyx-MM through proper programming of the Onyx-MM interrupt configuration register described elsewhere on this page. Thus you can generate PC bus interrupts in response to new data being latched onto the board.

Mode 2 operation allows the use of Port A as a bi-directional data bus, with port C lines used for handshaking. Port A is normally in tristate mode. When the CPU writes new data to port A, an output signal indicates new data is available. In response, the external circuit strobes an acknowledge input signal, thereby enabling the output buffers on Port A. The external circuit can also latch new data into Port A with an input data strobe signal. Both input and output operations can be used to generate interrupts.

Bit set/reset mode enables individually setting (1) or resetting (0) any bit on Port C without having to read Port C and worry about masking or protecting unaltered bits. Note: The driver software shipped with Onyx-MM allows you to easily perform bit set and reset operations on any bit of any port.

Free Software

Onyx-MM comes with free driver software compatible with C and Basic languages. Example programs are included to get you started quickly. Some examples of the supported board operations are:

  • Digital input, bit, byte, and word
  • Digital output, bit, byte, and word
  • Interrupt-driven digital I/O with external trigger
  • Configure counter/timers and interrupts
  • Counter/timer-controlled interrupts

I/O Header Pinout

Onyx-MM has three I/O headers. Two identical 50-pin headers contain 24 digital I/O lines each, and a third 14-pin header is used for the counter/timer and external interrupt signals.

Digital I/O Headers

(Port A) A7 1 2 Ground
A6 3 4 Ground
A5 5 6 Ground
A4 7 8 Ground
A3 9 10 Ground
A2 11 12 Ground
A1 13 14 Ground
A0 15 16 Ground
(Port C) C7 17 18 Ground
C6 19 20 Ground
C5 21 22 Ground
C4 23 24 Ground
C3 25 26 Ground
C2 27 28 Ground
C1 29 30 Ground
C0 31 32 Ground
(Port B) B7 33 34 Ground
B6 35 36 Ground
B5 37 38 Ground
B4 39 40 Ground
B3 41 42 Ground
B2 43 44 Ground
B1 45 46 Ground
B0 47 48 Ground
+5V 49 50 Ground


Chip 82C54-2
Counter/timers 3, 16 bits wide
Maximum input freq. 10MHz
On-board osc. 4MHz .01%
Signal type TTL
Input voltage
Low: -0.5V min, 0.8V max
High: 2.0V min, 5.5V max
Input current -200A max (low), 2A max (high)
Output voltage
Low: 0.0V min, 0.4V max
High: 3.0V min, Vcc -0.4V max
Output current 2.5mA max, each line
Pullup resistors 10KΩ all input lines
Digital I/O
Chip 82C55A (qty. 2)
Number of I/O lines 48, TTL/CMOS Compatible
Direction All lines programmable for input in groups of 4 and 8
Output current 2.5mA max, each line
Pullup resistors 10KΩ all input lines
Number of interrupts 3
Pull-down resistor 1KΩ resistor selectable via jumper on each interrupt
Interrupt level 2 - 7
Interrupt sources Counter/timer outputs, Interrupt input, or DIO lines CO (programmable)
Power supply +5V 10% @ 120mA typical all outputs open
Temperature -40 to +85C extended
PC/104 Bus 8 bits
Weight 2.8 oz/79g
RoHS Compliant

Get an online quote

Onyx-MM Digital I/O Module
available models:
Onyx-MM 48 Digital I/O + 3 Counter/timers Extended Temperature
Please login or signup for an online quote request.

Cables and accessories
available models:
50-conductor .1" pitch 18" ribbon cable Data Acquisition (uses 2)
14-conductor 18" ribbon cable
Please login or signup for an online quote request.
VDC 2006 Platinum Vendor Award