RadioLabs - The Radio People - Home Technology Contact Us RadioLabs Engineering Visit our Forum! Broadband Wireless
Radio Products
Wireless Electronics Support
Radio Repair Modifications Technical Downloads Frequently Asked Questions asked questions
Radio Repair

Io expander spi -

I'm interfacing MCP23017 IO expander with the ESP32. For byte 3 you need to send the value you want to set in the register for a write – for a read you need to send a byte value 0 (zero) so that you will then get back a byte with the value of that register. You can set each of 16 pins to be input, output, or input with a pullup. GPIO Expanders. . It is unusual in that it shows how to interface to multiple SPI devices when they have special support for sharing chip select lines. Some have special features like PWM. This is not a true port expander, but is exceptionally cheap and very flexible. This article, discuss about connecting an IO expander to the Arduin Arduino IO expander schematic diagram Inputs. ESP8266 + hardware SPI + MCP23S17 GPIO expander - Duration: 0:41. Below are the configurations that need to be setup on the I/O 24 for the GPIO Expander board. MCP2317 I2C 16 bit I/O expander. Simply order before 8pm and we will aim to ship in-stock items the same day to so that it is delivered to you the next working day. Ok, just fixed it such that CTRL_SS remains on for the duration of the read. MetalPhreakAU 5,937 views. TABLE 1-2: REGISTER ADDRESSES 1. My problem is, digits 0,1,2,3 read in fine, but for some reason 4 is displaying as a 3, and then 5 as a 4 and so on up to 9 showing as an 8. Flexible IO Each individual pin can be set to an input or an output. 5. 14 euro per IO. The synchronous peripheral interface (SPI) enables serial communication between the MSP430™ microcontroller and host, which can be acting as an I/O expander with SPI communication. Addressing is either 7- or 10-bits, Xpander devices are general-purpose input/output port expanders to interface digital ASICs via a two-line bidirectional bus (I²C). 17 euro per IO. I am trying to use a MCP23017 port expander in c via i2c with the ESP32. The MCP23008 uses two I2C pins which can be shared with other I2C devices,  Are you low on I/O? No problem! The SX1509 Breakout is a 16-channel GPIO expander with an I2C interface – that means with just two wires, your  Buy NOYITO MCP23017 Serial Interface Module IIC I2C SPI MCP23S17 Bidirectional 16-Bit I O Expander Pins 10Mhz Serial Interface Module: Audio & Video  The I2C I/O expander chip is similar to the SPI device MCP23S17. All of these pins have other hardware associated with them, so space needed for all-purpose input and output pins can dwindle quickly. 6. Working Skip trial 1 month free. SPI GPIO Expander. The port expander max SPI clock speed is 10 MHz, so the DAC is running slower also. The PCA9502 is an 8-bit I/O expander with I2C-bus/SPI host interface. Pin (IO) expanders. Please note: if you are ordering a re-reeled item then the order cut-off time for next day delivery is 4. Often, there is a requirement to expand a single SPI master to several UART interfaces or to have a bridge between SPI and UART interfaces due to peripheral limitations in processors interacting with each other. The IO Expander Board is based on the Microchip MCP23017 Expander Chip. Of course you could use this on outputs too, and it has the advantage of being an analog part, but genrally outputs often need to be latched, whereas inputs just need to be scanned. The I/O Expander is powered from the main controller over a supplied interface cable. MaxLinear’s I2C/SMBus or SPI GPIO expanders add up to 16 general purpose I/O pins. Multiple PI7C1401s can be used in high-port-count applications with one I²C or SPI to host. I am trying to use the SPI IO Expander to read off some BCD Switches. Add another 16 pins to your microcontroller using a MCP23017 port expander. The device comes in a very small HVQFN24 package, which makes it ideally suitable for hand-held, battery operated applications. 5K pricing is for budgetary use only, shown in United States dollars. MCP23017 uses high speed I2C interface while MCP23S17 used high speed SPI interface. Mouser offers inventory, pricing, & datasheets for Serial, SPI Interface - I/O Expanders. The mbed LPC1768 chip has 26 pins used for digital input and output. The MCP23X17 contains 22 individual registers (11 register pairs) that can be addressed through the Serial Interface block, as shown in Table 1-2. I have successfully used it for both input and output but haven't tried the interrupt functionality. Xpander devices are general-purpose input/output port expanders to interface digital ASICs via a two-line bidirectional bus (I²C). We connect pin 13 of the MCP23017, which is the SDA (serial data line) to analog pin 4 of the arduino. QUARC SPI I/O Expander Demo. Parametric Search. 30pm. Hello World. I/O expander ICs are  Cheap module i2c, Buy Quality c c Directly from China Suppliers:MCP23017 Serial Interface Module IIC I2C SPI MCP23S17 Bidirectional 16-Bit I/O Expander   Jan 11, 2019 SunRobotics Technologies, Embedded & Robotics Solution for Hobbyist, Students, Learners and Developers IO EXPANDER MCP23017 I2C  Products 1 - 20 of 243 An I O expander is a type of computer hardware that allows more Microchip, 16 -Channel I/O Expander 5MHz, Serial-SPI, 28-Pin SOIC. The device comes in a very small HVQFN24 package, which makes it ideally suitable for  May 12, 2017 Watch spi-communication-protocal-with-io-expander-electronify GIF on Gfycat. It increases the number of pins you have available. 16-bit I/O Port Expander MCP23S17 (SPI) The MCP23S17 provides 16-bit, general purpose parallel I/O expansion for SPI applications. IC I/O EXPANDER I2C 8BIT 16TSSOP 11,045 - Immediate 8,097 - Factory Stock Available: 11,045 $1. DigiKey stocks and sells both SPI and I2C versions in a DIP for around $1. The MCP23S08 consists of multiple 8-bit configuration registers for input, output and polarity selection. The MCP23S08 is 1,32 euro, so 0. Learn more › In these cases we can use IO Port Expanders to increase the IO capability of a microcontroller. Digital I/O expander : speed The MCP23S08 is an 8-bit I/O expander with serial interface. Each MiniPiio DIO16 module provides an additional 16 General Purpose The SPI interface is the fastest (>10MHz) but uses the most pins while an I2C interface is medium speed (100kHz-400kHz) - although there is a faster MHz mode - and RS232 is the slowest. The SX1511B and SX1512B are complete ultra low voltage GPIO expanders configuration and allows easy serial expansion of I/O through a standard SPI  The XRA1405 is an 16-bit GPIO expander with an SPI interface. Chip Overview. The device also supports software reset, which allows the host to reset the device at any time, independent of the hardware reset signal. The IO Pi Plus is a 32 channel digital expansion board designed for use on the Raspberry Pi. Three HARDWARE ADDRESS SEL jumpers  Nov 2, 2011 Figure 1: The Microchip MCP32018 and MCP23S18 I/O port expander ICs use I²C and SPI interfaces, respectively, to add 16 general-purpose  Mar 14, 2011 To learn the working and operation of the MCP23S09 SPI Interfaced I/O Expander Device. It communicates via the SPI, Serial Parallel Interface, protocol which is a relatively simple serial communication method. Overview The MiniPiio DIO16 SPI board is ideal for expanding the number of input and output pins available for the Raspberry Pi. Only one Expander Pi can be used on a Raspberry Pi. The MCP23017 uses two i2c pins (these can be shared with other i2c devices), and in exchange gives you 16 general purpose pins. Controllers/Expanders Maxim's controllers provide protocol conversion and port expansion for popular serial communications protocols including RS-232 and USB. QUARC SPI Multiple I/O Expander Demo This is an example of using multiple SPI devices with QUARC when those devices have support for hardware addressing. Port expanders, as the name implies, are chips which provide a number of pins with many of the capabilities of GPIO pins, controlled over I2C or SPI. It is controller by SPI (they do an I²C version too), which takes 4 IO pins, and provides 16 IO pins. I am printing the read in digit to the serial Line. The MCP23017 is a port expander that gives you virtually identical PORTS compared to standard microcontrollers e. The I2C device is connected to phatIO’s two TWI lines (13 and 14) and the SPI device to the 3 SPI pins + 1 select pin. The 7I50 has 24 bidirectional logic level I/O pins and connects to a SPI interface. Another option I have used, more for input pins is the 4051 8:1 mux. Check the return value of begin() to make sure everything is hunky-dory. 50. The PCF8574AP has a low current consumption and includes latched output with HIGH consumption and include latched output with high current drive capability The I/O expander described in this post provides a total of 24 digital I/O ports as well as 16 analog ports. Serial Peripheral Interface Bus. One IO expander chip I work with a lot is the MCP23S17 from Microchip. download agreement. Every instance of pinMode() needs replacing with explanderPinMode(pin, mode) Then write yourself those two functions that use I2C/SPI to set the IOX's registers to implement what you need. Using the Port Expander and ZIP code (Sean Carroll)) I am trying to use a MCP23017 port expander in c via i2c with the ESP32. Nav ConnectCore 6UL With the IO Expander you need to send 3 bytes for read and write – in both cases you need to specify the Op code for byte 1, the register address for byte 2. EXPANDER BOARD Communication to the GPIO Expander board is via SPI from the port of I/O 24. The PCB shown below includes 2x MCP23017 and 2x 74HC4051. And brings the cost to 0. 16-BIT I/O EXPANDERS WITH I2C & SPI INTERFACE. MSS has a new SPI part coming out soon that is a contact monitoring device for automotive applications that might be able to be used as an IO expander. requiring an "expander" to aggregate all low-speed control and I²C signals across four ports and presents a single I²C or SPI interface to host. Wiring the PCF8574AP 8bit Bidirectional IO Expander Driven i2C Communication Bus / SPI This is the PCF8574AP consists of an 8-bit quasi-bidirectional port and an i2C Serial Bus Interface. The MAX7317 serial-interfaced peripheral provides microprocessors with 10 I/O ports rated to 7V. It interfaces with an MCP23S17 16-bit digital I/O expander. The board is based around the MCP23017 16-bit I/O expander from Microchip Technology Inc. In this project we will use the I/O Expander IC (MCP23008) to control a seven-segment display as a counter. Sep 6, 2015 I know that the chip select, SPI clock, and data output/input pins should MCP23S17 I/O EXPANDER SPI // by matthew cieplak uint8_t *txbuf;  The ADP5585 is a 10I/O port expander with built-in keypad matrix decoder, programmable logic, reset generator, and PWM generator. Find out why Close. The small unit may be mounted in a standard 19" rack (1U) or operated from a bench top. The PCF8574AP has a low current consumption and includes latched output with HIGH consumption and include latched output with high current drive capability for directly driving LEDS. Toggle navigation. The I/O Expander adds six additional analog inputs and outputs (with +/-10V range and 16-bit resolution) and 14 additional digital inputs and outputs (3. The PCA9502 is an 8-bit I/O expander with I 2C-bus/SPI host interface. It has two hardware address pins and uses SPI interface. The Expander Pi uses a CR2032 button battery (battery not included). What it has that simple shift registers do not is some smarts. This guide shows how to communicate with the MCP23017/MCP23S17 16 Bit IO Expander using either SPI (MCP23S17 device) or I2C (MCP23017) an 8 bit version and open drain versions are also available that should work with the same code. Three Reasons Your Design Needs I²C I/O Expanders. Sep 23, 2011 device is a multi port I/O expander (single I2C address to access all ports through pseudo-random number generator, or SPI. SPI bus will run from the microprocessor to the on board IO expander chips ,say only a couple inches, and to header that will connect to additional boards via say a short inch or 2 ribbon cable. 54mm) headers for the built in GPIO, SPI and I2C pins, a small prototyping area and optionally headers for plugging in an XBee style wireless devices such as the XRF, One IO expander chip I work with a lot is the MCP23S17 from Microchip. I have used the MAX7301 in the past, it's a full 20 or 28 Port gpio expander. I think you mean port expander. The CP2120 includes a 4-wire serial peripheral interface (SPI), a serial I2C interface, 256 byte data buffers, an internal oscillator, eight input/output port pins, and one pin Unlike a 3 – 8 decoder or a Shift Register, these I/O Expanders use a data protocol (SPI) to communicate with the host – meaning these chips are a lot more flexible, each pin can be used as an input or output, and multiple chips can be used on a single bus! Home > Semiconductors > Integrated Circuits > Interface ICs > IO Expanders Clear Sort By Best Match Most Popular Manufacturer Part Number (A-Z) Manufacturer Part Number (Z-A) Allied Stock Number (0-9) Allied Stock Number (9-0) Lowest Price Highest Price Availability (9-0) Availability (0-9) Intan I/O Expander. A GPIO Expander is a device that provides a designer the ability to implement additional inputs and outputs (I/O) on a microprocessor (MPU) or microcontroller (MCU) system. function blocks is a non-trivial task. After power-up, the XRA1405 has internal 100K ohm pull-up resistors on each I/O pin that can  Add another eight pins to your microcontroller using a MCP23008 port expander. Mouser offers inventory, pricing, & datasheets for Interface - I/O Expanders. A pair of MCP23017 expanders are included on the board allowing you to connect up to 32 digital inputs or outputs to the Raspberry Pi. Order Now! Integrated Circuits (ICs) ship same day. Figure 1: I²C uses a Master/Slave, 2-wire bus with pull-ups to an active high state. 8 V, 5. Arduino or PIC devices and they even include interrupts. 3V and 5V compatible). But, the ATMega8A-PU is 2,98 euro, also has 21 IO pins left after using 2 for SPI communication. All the 32 input pins are pulled-up to 5V with 10KΩ resistors. Being that we're not working with interrupts, we leave INTA and INTB unconnected. The MCP23S17 can be configured to operate in 8-bit or 16-bit modes. SPI and UART are among the most commonly-used protocols in today’s embedded applications. The STMPE1600 is a GPIO (general purpose input/output) port expander able to I/O expanders provide a simple solution when additional I/O are needed for  MCP23S17-E/SP from MICROCHIP >> Specification: I/O Expander, 16bit, 10 MHz, Serial, SPI, 1. The CP2120 is a highly-integrated SPI-to-I2C Bridge Controller with an SPI interface that provides a simple and reliable method for communicating with I2C devices. This device offers 8-bit, general purpose, parallel I/O expansion for SPI applications. The design provides additional control and monitoring capabilities for the microprocessor when it does not have sufficient GPIOs to do the job. Online Electronic shop for MT3608 2A DC-DC Boost Module, Digital Touch Sensor Module, 8-Way Sensor Module, 16-Way Capacitive Touch Sensor Module, Ana QUARC SPI I/O Expander Demo. Runs on the SPI bus and is chainable (meaning you can chain  Sporting a massive 32 IO ports using just the 4 pins of your SPI interface. (MCP23017) or SPI (MCP23S17) interface protocol. Integrated UART and RS-232 transceiver includes ±15kV ESD protection, SPI interface, and internal caps to save space. Please sign up for our email newsletter to receive updates on this and other products. The SPI master sends the slave address of the first I2C device and the data bytes to write to the first I 2C slave. For high speed IO control you really want to be using the MCP23S17 instead of the MCP23017. We will introduce I 2 C, which is a communication protocol that the MCP23008 uses. This is typically a synchronous serial interface like SPI or I2C. The MCP23017 I/O Expander. The Slice of Pi is a handy little PCB that plugs directly onto the Raspberry Pi’s GPIO pins and gives a convenient row of labelled standard 0. Module support is provided for the 8-bit MCP23008 (I2C) and MCP23S08 (SPI), and the 16-bit MCP23017 and MCP23S17. For all of you out there who want to control 12 channels of PWM, we salute you! The MAX7317 communicates through an SPI- compatible 4-wire serial interface. or SPI io expander. IO expanders may be more versatile but are limited to the i2c interface which relatively speaking is dog slow. 16 Just for the record I've been looking into how to get the Arduino to interface with the MCP23S08 "8-Bit I/O Expander with SPI Interface" IC from Microchip. Discover more related GIFs on Gfycat. This is a simple example of using an SPI device with QUARC. The prices are representative and do not reflect final pricing. Serial, SPI Interface - I/O Expanders are available at Mouser Electronics. However the port direction and pins will need to be setup before communication can begin with the board. The system master can enable the I/Os as either inputs or In these cases we can use IO Port Expanders to increase the IO capability of a microcontroller. 5 V, DIP. The MCP23X17 (16-bit) devices interface to a 2x16 LCD module and the MCP23X08 (8-bit) devices interface to a 4x4 keyed matrix. The MAX7317 serial-interfaced peripheral provides microprocessors with 10 I/O ports rated to 7V. The 74HC4051 is a 8-channel analog multiplexer/ demultiplexer. RS232 uses two pins for communication in both directions but if you need only transmit data to a peripheral then you can use one pin. Your microcontroller talks to the port expander via serial or i2c or spi or other methods, Implementing SPI, I2C, etc. There are pros and cons to everything and in most cases you can use either one and people use what they are more familiar with. do not download, copy, install, or use this content until you (the "licensee") have carefully read the following terms and conditions. For a recent project the 16bit IO Expander, MCP23S17, from Microchip was enlisted fo r low voltage input scanning. 1 BYTE MODE AND SEQUENTIAL MODE The MCP23X17 family has the ability to operate in Byte mode or Sequential mode (IOCON. It uses a Serial Peripheral Interface (SPI) as the interface between the microprocessor and the GPIOs. SPI. 36000 1 Minimum: 1 Cut Tape (CT) Alternate Packaging-Active 8 Interface - I/O Expanders are available at Mouser Electronics. It uses SPI instead of I2C and thus is much faster to control. Buy online MCP23S17 I/O Expander IC with SPI interface in India at low price from DNA Technology, Nashik. Select a product family below to search for a solution. Raspberry Pi I/O Expander Board. However, I'm still getting a mix of 0x00 and 0xFF's. SPI-to-UART Expander. It is important to note that with SPI communications there are no signals to indicate whether a read or write is being performed. Intelligent features offered by Xpander logic include an advanced matrix keypad controller supporting up to 96 keys and an advanced PWM controller providing complex brightness pattern control. This high-performance IC, allows connection to a range of High-Speed I²C buses, including the standard 100kHz bus, as well Functional Description of the Microcontroller I/O Expander The I/O expander operates as a slave that sends and receives data from and to the microcontroller through the MCU port. expansion for I2C bus or SPI applications. The device comes in a very small HVQFN24 package, which makes it  The PCA9502 is an 8-bit I/O expander with I²C-bus/SPI host interface. digital-to-  A project covers how to communicate with the MCP23008 (I/O Expander) via I2C to I2C is a communication protocol, like UART and SPI, which uses two wires  The 7I50 is a 24 I/O SPI expander for use with MESAs Anything I/O cards. CS must be low to clock data into or out of the device, and DIN must be stable when sampled on the rising edge of SCLK. Expand click is an accessory board in mikroBUS form factor. This allows the clock synchrony from the arduino to the I/O port expander chip. Up to eight chips can be combined on a single SPI bus to provide a maximum of 128 pins. In addition, our smart card controllers cost-effectively read smart cards. We also have the I2C version of this chip here MCP23017. also has 21 IO pins left after using 2 for SPI communication. The Serial Peripheral Interface bus (SPI) is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The GPIO Expander Keypad and LCD Demo Board is designed to demonstrate the use of the MCP23S08/17 (SPI interface) and the MCP23008/17 (I2C interface) devices in a keypad and LCD example. 16-Bit SPI GPIO Expander with Integrated Level Shifters. This allows data transfer between the arduino and the I/O port expander chip. important - read before downloading, copying, installing, or using. 3. MCP23017 and MCP23S17 are two such 16 bit IO expander with Serial Interface manufactured by Microchip. Four 74HC165 8-bit parallel-in serial-out shift registers are daisy chained to provide the inputs while using only three pins of arduino(D9,D12,D13). The interface was developed by Motorola in the mid 1980s and has become a de facto standard. Three HARDWARE ADDRESS SEL jumpers allow you to configure board address and connect up to eight devices on the bus. † MCP23017 – I2C interface † MCP23S17 – SPI interface The MCP23X17 consists of multiple 8-bit configuration registers for input, output and polarity selection. A port expander is essentially a second IC that allows you to offload some GPIO duties from your main microcontroller. A useful example of an SPI peripheral is the MCP23S17 digital IO expander chip ( Note the S in place of the 0 found on the I2C version ). Each MCP23017 provides 16-bit, general purpose parallel I/O expansion for I2C bus or SPI applications. It gives you an extra 16 I/O pins using an I2C interface as well as comprehensive interrupt control. They have an efficient data bus interface to reduce the I/O requirements of the MPU or MCU. Each port can be individually configured as either an opendrain output, or an overvoltage-protected Schmitt input. SEQOP). begin(<address>), where <address> is the I 2 C address of the expander (0x3E by default). The IO Expander is not going to be a good idea if the library requires critical accurate timing, because of the lag of telling the IOX to do things. This thread is about a software driver for a chip called MCP23S17 that provides 16 additional digital IO pins to a micro controller such as the one on your Netduino. The interface has three inputs: clock (SCLK), chip select (CS), and data in (DIN), and one output, data out (DOUT). Get YouTube without the ads. The system BOM cost can be cut by using smaller IO count control device (FPGAs, CPLDs, MCUs) and by This allows the clock synchrony from the arduino to the I/O port expander chip. You can't just grab an FPGA and development environment and expect to bang out stuff within hours, especially if you are new to fpgas. g. The MCP23S17 device family provides 16-bit, general purpose parallel I/O expansion for SPI applications. The SPI Master then sends the slave address of the second I2C slave device followed by the data bytes to transmit to that slave device. . The two devices differ only in the serial interface. Known as the four-wire serial bus, SPI lets you daisy-chain multiple compatible devices off a single set of pins by assigning them different chip-select pins. The system BOM cost can be cut by using smaller IO count control device (FPGAs, CPLDs, MCUs) and by MCP2317 I2C 16 bit I/O expander. Controller also supports interrupt-on-change feature. Here’s a sample breakout board with 12 output channels, but 24 channel boards are also available: Adafruit 12-Channel 16-bit PWM LED Driver - SPI Interface. Searching online, at the time of writing this blog, there were no projects using this part with sample code. (This is Sean's version with examples of using interrupts, but do not use the pin layout with the big board. There are a lot of PWM output SPI and i^2 chips for driving LEDs. Using the MCP23017/MCP23S17 IO Expander. I have notified that group of the post. The device comes in a very small HVQFN24 package, which makes it ideally suitable for  A GPIO Expander is a device that provides a designer the ability to implement additional inputs and outputs (I/O) on a microprocessor (MPU) or microcontroller   Integrated Circuits (ICs) – Interface - I/O Expanders are in stock at DigiKey. I am getting some very funky and unexpected results. 6. SPI expanders would be better but even then they arn't as fast as shift registers. The I2C I/O expander chip is similar to the SPI device MCP23S17. To initialize the I/O expander -- and to make sure it's communicating correctly -- call io. It includes a 16-bit I/O expander MCP23S17 with SPI clock speeds up to 10 MHz for higher throughput applications. This high-performance IC, allows connection to a range of High-Speed I²C buses, including the standard 100kHz bus, as well Cheap module i2c, Buy Quality c c Directly from China Suppliers:MCP23017 Serial Interface Module IIC I2C SPI MCP23S17 Bidirectional 16-Bit I/O Expander Pins 10Mhz Serial Interface Module Enjoy Free Shipping Worldwide! Limited Time Sale Easy Return. Below is the header file that may be of use. Each port can be individually configured as either an  Feb 23, 2016 The PCA9502 is an 8-bit I/O expander with I2C-bus/SPI host interface. I used an oscilloscope to verify that data is actually going through the I/O Expander, so now I'm thinking that my issue is a matter of timing between the io_write() and io_read(). Arduino and PCF8574 IO Expander – Binary Counter and I2C Bus Read / Write: AbstractIn Embedded system design, whenever shortage of digital IO pins for connecting the sensors, relays, then IO expander are used for providing more digital IOs to the system. 1 inch (2. The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB). Due to the use of the SPI bus and fixed addresses on the I2C bus the Expander Pi can not be stacked along side the ADCDAC Pi Zero or RTC Pi. The MSP430FR2000 MCU can be a SPI slave using the eUSCI_A0 to receive commands from the host and control the 8 general-purpose I/O pins. The above referenced appnote from altera is a good start for learning hoiw to implement a port expander however. The I²C protocol is a combination of START and STOP bits typically enumerated by dropping lines from high to low, with high typically at 5VDC. We will also utilize interrupts to start and stop the counter. A Simple Method For Expanding Arduino IO Capacity. Contact your local Microchip sales representative or distributor for volume and / or discount pricing. Not only that, the  It includes a 16-bit I/O expander MCP23S17 with SPI clock speeds up to 10 MHz for higher throughput applications. The MCP23S17 gives you 16 digital input, output and interrupt enabled pins over SPI. Code: #use SPI (MASTER, DO = PIN_B1, DI = PIN_B3, CLK = PIN_B0, BITS = 8, Mode = 0) #define IO_DEVICE_ADDRESS_WRITE 0x40 Jun 1, 2011 8-Bit I/O Expander with Serial Interface purpose, parallel I/O expansion for I2C bus or SPI MCP23S08 – SPI interface; two address pins. The device comes The device comes in a very small HVQFN24 package, which makes it ideally suitable for hand-held, battery The MCP23S08 is an 8-bit I/O Expander. In this new system the SPI bus will be much shorter, probably only say 6 inches. Part number is TIC10024 and TIC12400 . I/O Expander can easily expand the functions such as GPIOs, Keypads, LED controls and timers to the exsiting systems. Arduino provides hardware support for SPI protocol on these pins. io expander spi