This extension board is designed to have 8 input or output ports over the SPI protocol. It can be used to trigger transistors, Darlingtons, etc. With the DIP switch, You can choose the SPI address, if You need to have two or more board connectors on the same SPI bus. It have a statdard 2.54 pinout, with INT output to innterupt.
It can be used in a 3.3VDC environment, like Raspberry Pi, and in a 5VDC environment, by Arduinos.

Technical data:
Controler: MCP23S08-E/SO
Protocol: SPI
SPI max speed: 10MHz
Operating Voltage for VCC: 1.8VDC to 5.5VDC
Maximum output current sourced by any output pin: 25mA
Board dimensions: 33 x 33mm

Example of Arduino IDE code, to turn off/on pins:

#include <Adafruit_MCP23X08.h>
#include <SPI.h>

// MCP23S08 Pin Setup
#define PIN0 0 
#define PIN1 1
#define PIN2 2
#define PIN3 3
#define PIN4 4
#define PIN5 5
#define PIN6 6
#define PIN7 7
#define PIN8 8

#define CS_PIN 10

Adafruit_MCP23X08 mcp;

void setup() {
Serial.begin(115200);
Serial.println("MCP23xxx switching test");

if (!mcp.begin_SPI(CS_PIN)) {
Serial.println("Error!");
while (1);
}

// PIN Settings
mcp.pinMode(PIN0, OUTPUT);
mcp.pinMode(PIN1, OUTPUT);
mcp.pinMode(PIN2, OUTPUT);
mcp.pinMode(PIN3, OUTPUT);
mcp.pinMode(PIN4, OUTPUT);
mcp.pinMode(PIN5, OUTPUT);
mcp.pinMode(PIN6, OUTPUT);
mcp.pinMode(PIN7, OUTPUT);
mcp.pinMode(PIN8, OUTPUT);
Serial.println("Loop...");
}

void loop() {
Serial.println("Switch all ON");
mcp.digitalWrite(PIN0, HIGH);
mcp.digitalWrite(PIN1, HIGH);
mcp.digitalWrite(PIN2, HIGH);
mcp.digitalWrite(PIN3, HIGH);
mcp.digitalWrite(PIN4, HIGH);
mcp.digitalWrite(PIN5, HIGH);
mcp.digitalWrite(PIN6, HIGH);
mcp.digitalWrite(PIN7, HIGH);
mcp.digitalWrite(PIN8, HIGH);
delay(500);
Serial.println("Switch all OFF");
mcp.digitalWrite(PIN0, LOW);
mcp.digitalWrite(PIN1, LOW);
mcp.digitalWrite(PIN2, LOW);
mcp.digitalWrite(PIN3, LOW);
mcp.digitalWrite(PIN4, LOW);
mcp.digitalWrite(PIN5, LOW);
mcp.digitalWrite(PIN6, LOW);
mcp.digitalWrite(PIN7, LOW);
mcp.digitalWrite(PIN8, LOW);
delay(500);
}