Diamond Point International
Diamond Systems Corporation

Diamond Systems GPIO-MM

Multi-configuration Digital I/O PC/104 Module

With Optional Counter/Timer Functionality

Diamond Systems GPIO-MM
  • Xilinx Spartan II RAM-based FPGA
  • Field-reprogrammable FPGA with 200K gates
  • 10 16-bit counter/timers
  • 48 programmable digital I/O
  • 16 fixed-direction digital I/O
  • 3 I/O connectors for a total of 100 I/O pins
  • 2 programmable interrupts
  • EEPROM for user data storage
  • FPGA personality display
  • Requires only +5V supply
  • -40 to +85°C operation


Diamond Systems GPIO-MM datasheet in PDF format GPIO-MM Datasheet - PDF
Diamond Systems GPIO-MM datasheet in PDF format GMM to GPIO-MM transition - PDF
Diamond Systems GPIO-MM datasheet in PDF format GPIO-MM Manual - PDF
Diamond Systems GPIO-MM datasheet in PDF format GPIO-MM-12 Manual - PDF
Diamond Systems GPIO-MM datasheet in PDF format GPIO-MM-21 Manual - PDF



The GPIO-MM Family consists of a set of digital I/O and counter / timer modules with various port and pin configurations. Each board uses identical hardware with a 200K gate Xilinx Spartan II RAM-based FPGA. The varying configurations are based on different FPGA code. The FPGA code is stored in a flash memory on the board, enabling GPIO-MM to be reprogrammed in the field with different designs, including custom designs.

Base hardware supports up to 96 digital I/O pins with programmable direction based on 8255 cores and up to 10 16-bit counter / timers based on 9513 cores. Up to 100 I/O pins are provided by the module including four fixed digital outputs. 48 of the 100 I/O pins are buffered.

The three configurations currently offered include one configuration with 96 programmable digital I/Os and no counter / timers. The other two configurations provide 48 buffered digital I/O pins and 10 16-bit counter / timers. These two configurations differ in pin out definition to provide compatibility with two predecessor Diamond Systems products.

Configuration 11 provides both counter/timer features and 48 digital I/O lines. The counter/timer features are based on our Quartz-MM board, while the 48 digital I/O lines are compatible with our Garnet-MM board. This configuration combines the features of both these boards into one to reduce your PC/104 stack size and cost.

Configuration 12 also provides both counter/timer and 48 digital I/O lines. The counter/timer features are based on our Quartz-MM board. The 48 digital I/O lines are compatible with our Onyx-MM board output connector. This configuration combines the features of both of these boards into one to reduce your PC/104 stack size and cost.

Configuration 21 provides 96 digital I/O lines. These are based on the Onyx-MM board output connector.

Counter/Timer Features

10 16-bit counter/timers are provided by two 9513 cores. The high speed FPGA enables a fast 40MHz clock input, providing greater precision in timing applications. The counters can be joined under software control to provide 32-bit or 48-bit counters. A variety of input, gate, and output features are available to implement a wide range of waveform, counting, and timing functions. The counter / timer I/O connector uses the same pinout as the connector for Quartz-MM 10-channel boards and includes 16 digital I/O lines configured as 8 inputs and 8 outputs. The fixed I/O and the counter/timer signals feature ESD-protective circuitry.

Digital I/O Features

The digital I/O includes 48 or 96 programmable direction lines using two or four 8255 cores. 48 of the I/O lines are buffered for enhanced output current, using the same buffer technology as on Garnet-MM. All I/O lines contain jumper-selectable 10Kohm pull-up/pull-down resistors. 48 of the programmable I/O lines are contained on a single 50-pin connector, along with system ground and a convenient +5V power pin. 96 lines are distributed on two 50-pin connectors. In the 48 line configuration, the I/O connector may be selected to be compatible with either the Garnet-MM pinout or the Onyx-MM pinout.

ISA Bus Interrupts

GPIO-MM offers two user-programmable interrupt circuits. Possible uses include timerbased interrupts or interrupts driven by external signals.

Miscellaneous Features

GPIO-MM includes a 256-byte EEPROM for general-purpose non-volatile storage of user application data. Easy register-level access to the EEPROM simplifies use of this valuable feature. All board functions are supported by our Universal Driver software for Linux, Windows 98/2000/XP/CE.NET, DOS, QNX, and VxWorks. The board operates over the entire industrial temperature range of -40 to +85°C.

Block Diagram

GPIO-MM Block Diagram


The industry-leading Universal Driver software is available free with all Diamond Systems I/O boards. Universal Driver provides programming support for the most popular embedded operating systems, including Linux, Windows 95/98/NT/2000/XP/XP embedded, Windows CE.NET, QNX, VxWorks, and DOS. Example programs are provided for each function and each operating system to help you get started with your application development quickly.

One Board - Three Available Configurations (Personality)

  1. GPIO-MM-XT (0x11). This is the default personality loaded into the board during production. This personality is designed to be software and hardware compatible with the (now obsolete) Quartz-MM and Garnet-MM boards. The pinout of the digital I/O is ordered “ACB” to be pinout compatible with the Garnet-MM. This personality also provides 4 auxiliary bi-directional unbuffered digital I/O lines on J5.
  2. GPIO-MM-12-XT (0x12). This personality is identical to 0x11 (see above) in every way except for the arrangement of the buffered digital I/O on J4. The digital I/O in this personality is arranged “ABC” to be compatible with the Onyx-MM pinout.
  3. GPIO-MM-21-XT (0x13). This personality provides a total of 96 digital I/O in the “ABC” arrangement compatible with the Onyx-MM family.


Digital I/O

Base FPGA:

Xilinx Spartan II, 100,000 gates, 40K RAM bits

Input clock:


FPGA code storage:

Flash memory, field upgradeable via JTAG

ID indicator:

8-bit LED display indicates FPGA code personality


10, 16 bits, using 2 9513 cores

Max counting freq:


Counter modes:

Rate/square-wave generator
Pulse-width modulator
Programmable one-shot
Hardware/software triggered strobe

Programmable I/O:

GPIO-MM-XT: 48, using 2 82C55 cores
GPIO-MM-12-XT: 48, using 2 82C55 cores
GPIO-MM-21-XT: 96, using 4 82C55 cores

Fixed Direction:

I/O 8 fixed inputs, 8 fixed outputs

Output current:

Buffered I/O Logic 0: 64mA max per line
Fixed I/O and fixed counter/timers: ±24mA max

Power supply:

+5V ±10%


-40 to +85°C standard, all versions

PC/104 Bus:

16 bits


3.0 oz/85g

ROHS Status:

This product is lead free/ROHS compliant.

Ordering Details:


GPIO-MM-XT 48 Digital I/O plus 10 Counter/Timers PC/104 Module
GPIO-MM-12-XT 48 Digital I/O plus 10 Counter/Timers PC/104 Module
GPIO-MM-21-XT 96 Digital I/O PC/104 Module

Please note that boards are supplied with no cables, software or manuals.
If you require the free CD please ensure this is on your purchase order.


SW-DSCUD Free software/manual CD (for all Diamond Systems cards)
C-50-18 50-conductor 18" ribbon cable

Order Online!


ORDER ONLINE - some models from this product range are available to order on our online webshop.

Further Information:

Want further information or pricing on this product? Either fill out our feedback form or contact us for further information.

© 2014 Diamond Point International. All rights reserved.