Products Overview

Processor Modules

I/O Expansion Modules


Enclosures & Accessories


Custom Products

COM-based SBCs

2-in-1 SBCs

Custom Solutions


Lifecycle Extension



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
Single Board Computers
I/O Modules
Power Supplies
I/O Modules
Single Board Computers
PCIe MiniCard
PCIe MiniCard
PCIe MiniCard
PCIe MiniCard
PCIe MiniCard
I/O Modules
Single Board Computers
I/O Modules
Small form factor
Ethernet Switch Modules
Single Board Computers
Ethernet Switches
AGX Orin Solutions
ORIN Nano / NX
Nano and NX Solutions
AGX Xavier Module Solutions
TX2 / TX2i Module Solutions
ONYX-MM  Digital I/O and Counter/Timer PC/104 Module
Onyx-MM: I/O Expansion Modules, Wide-temperature PC/104, PC/104-<i>Plus</i>, PCIe/104 / OneBank, PCIe MiniCard, and FeaturePak modules featuring programmable bidirectional digital I/O, counter/timers, optoisolated inputs, and relay outputs., PC/104
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
-40°C to +85°C extended temperature


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.

Onyx-MM: I/O Expansion Modules, Wide-temperature PC/104, PC/104-<i>Plus</i>, PCIe/104 / OneBank, PCIe MiniCard, and FeaturePak modules featuring programmable bidirectional digital I/O, counter/timers, optoisolated inputs, and relay outputs., PC/104

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.

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

Free Software

Onyx-MM is supported by Diamond's Universal Driver programming library for C. 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 Headers

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 -200�A max (low), 2�A 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 +85�C extended
PC/104 Bus 8 bits
Weight 2.8 oz/79g
RoHS Compliant


Models and Accessories

Available Models:
Onyx-MM 48 Digital I/O + 3 Counter/timers Extended Temperature
Min Order Quantity
Please login or signup for an online quote request. | Sunnyvale, California USA | +1-650-810-2500 |