Our new website is available at new.dizzy.co.za :-).

X
+27 (0)11 022 5323 +27 (0)64 681 8495
Basket/Checkout
R
- -
MagnifierSearch:
Expand 8 Click (Go to Parent Category)

Expand 8 Click

Expand 8 Click is a compact add-on board that contains a multi-port I/O expander with bi-directional input/outputs. This board features the MAX7317, 10-Port SPI-interfaced I/O expander with overvoltage and hot-insertion protection from Maxim Integrated. The MAX7317 provides microprocessors with 10 I/O ports rated to 7V. Each port can be individually configured as either an open-drain output or an overvoltage-protected Schmitt input that supports hot insertion. All port pins remain high impedance in Power-Down mode with up to 8V asserted on them. This Click board™ is intended for use as a port expander in system monitoring applications, industrial controllers, portable equipment, and many more.

Expand 8 Click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.

R450  Qty:
Price ex. VAT. Weight: 19g. Stock: Lead-time applicable [i]. mikroE Icon
  • Description

How does it work?

Expand 8 Click as its foundation uses the MAX7317, a general-purpose input/output (GPIO) peripheral from Maxim Integrated that provides 10 I/O ports, P0 to P9, controlled through a high-speed SPI-compatible serial interface. Each port, P0 to P9 can be configured as open-drain, current-sink outputs rated at 20mA maximum, or as CMOS inputs, or as open-drain outputs. Loads should be connected to a supply voltage no higher than 7V.

expand 8 click inner

The MAX7317 contains ten 8-bit internal registers. These ten registers addressed as 0x00 - 0x09 control an I/O port each. Write 0x00 to the output register to set the port as a logic-low output, or 0x01 to set the port as a logic-high output or logic input.

Expand 8 Click communicates with MCU through a 16-bit 4-wire serial interface compatible with standard SPI, QSPI™, MICROWIRE™ guaranteed to operate at 35Mbps on its 3.3V power supply. During the Power-Up sequence, all control registers of the MAX7317 are in a reset state. Power-Up status sets I/O ports, P0 to P9, into a high impedance state and puts the device into Shutdown mode. The I/O ports P0–P9 remains high impedance with up to 8V asserted on them when the MAX7317 is powered down. Therefore, it can be used in hot-swap applications.

This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before use with MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.

Specifications

Type Port expander
Applications Intended for use as a port expander in system monitoring applications, industrial controllers, portable equipment, and many more.
On-board modules MAX7317 - 10-Port SPI-interfaced I/O expander with overvoltage and hot-insertion protection from Maxim Integrated
Key Features 10-Port I/O expander, overvoltage protection, support hot-insertion, SPI, QSPI™, MICROWIRE™ compatible serial interface, low power consumption, and more.
Interface SPI
Compatibility mikroBUS
Click board size M (42.9 x 25.4 mm)
Input Voltage 3.3V

Pinout diagram

This table shows how the pinout on Expand 8 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 NC
NC 2 RST INT 15 NC
SPI Chip Select CS 3 CS RX 14 NC
SPI Clock SCK 4 SCK TX 13 NC
SPI Data OUT SDO 5 MISO SCL 12 NC
SPI Data IN SDI 6 MOSI SDA 11 NC
Power Supply 3.3V 7 3.3V 5V 10 NC
Ground GND 8 GND GND 9 GND Ground

Onboard settings and indicators

Label Name Default Description
LD1 PWR - Power LED Indicator
J1-J2 P0-P9 Populated I/O Expander Port

Expand 8 Click electrical specifications

Description Min Typ Max Unit
Supply Voltage - 3.3 - V
Output Load Voltage P0 - P9 - - 7 V
Maximum Output Current - - 20 mA
Operating Temperature Range -40 +25 +125 °C

Software Support

We provide a library for the Expand 8 Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Library Description

The library covers all the necessary functions to control Expand 8 click board. Library performs a standard SPI interface communication.

Key functions:

  • void expand8_write_data ( uint8_t addr, uint8_t tx_data ) - Generic write data function.
  • uint8_t expand8_read_data ( uint8_t addr ) - Generic read data function.
  • EXPAND8_RETVAL_T expand8_set_port ( uint8_t sel_port, uint8_t sel_imped ) - Set port function.

Examples description

The application is composed of three sections :

  • System Initialization - Initializes SPI, set the CS pin as outputs and begins to write log.
  • Application Initialization - Initialization driver enables - SPI, also write log.
  • Application Task - (code snippet) This is an example that demonstrates the use of the Expand 8 click board. Expand 8 click by toggling each of 10 available ports every 1 second. Results are being sent to the Usart Terminal where you can track their changes.

void application_task ( )
{
    expand8_set_port( select_port,
                      EXPAND8_SET_LOW_IMPEDANCE );
    
    mikrobus_logWrite( "     Port P", _LOG_TEXT );
    ByteToStr( select_port, demo_text );
    Ltrim( demo_text );
    mikrobus_logWrite( demo_text, _LOG_TEXT );
    mikrobus_logWrite( " ON", _LOG_LINE );
    mikrobus_logWrite( "- - - - - - - - - - -", _LOG_LINE );
    Delay_ms( 1000 );
    
    expand8_set_port( select_port,
                      EXPAND8_SET_HIGH_IMPEDANCE );
    
    mikrobus_logWrite( "     Port P", _LOG_TEXT );
    ByteToStr( select_port, demo_text );
    Ltrim( demo_text );
    mikrobus_logWrite( demo_text, _LOG_TEXT );
    mikrobus_logWrite( " OFF", _LOG_LINE );
    mikrobus_logWrite( "---------------------", _LOG_LINE );
    Delay_ms( 1000 );
    
    select_port++;

    if ( select_port > EXPAND8_ADDR_OUT_LVL_PORT_P9 )
    {
        select_port = EXPAND8_ADDR_OUT_LVL_PORT_P0;
    }
}

The full application code, and ready to use projects can be found on our LibStock page.

Other mikroE Libraries used in the example:

  • SPI
  • UART
  • Conversions

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

mikroSDK

This Click board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.

For more information about mikroSDK, visit the official page.

Resources

Downloads