Our new website is in BETA! If you would like to take a look then please visit new.dizzy.co.za :-).

+27 (0)11 022 5323 +27 (0)64 681 8495
- -
AD-SWIO click (Go to Parent Category)

AD-SWIO click

AD-SWIO Click is a quad-channel software configurable input/output solution based on AD74412R. The AD74412R is a quad-channel software configurable input/output integrated circuit for building and process control applications. The device provides a fully integrated single chip solution for input and output operation. The AD-SWIO Click contains four 13-bit DACs, one per chanal, and 16-bit S-? ADC. These options give a lot of flexibility in choosing functionality for analog output, analog input, digital input, resistance temperature detector (RTD), and thermocouple measurements integrated into a single chip solution with a serial peripheral interface (SPI).

The AD-SWIO 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.

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

How does it work?

The AD-SWIO Click features a 16-bit analog-to-digital converter (ADC), and 13-bit digital-to-analog converter (DAC) embed in AD74412R from Analog Devices. There are several modes related to the AD74412R. These modes are voltage output, current output, voltage input, externally powered current input, loop powered current input, external RTD measurement, digital input logic, and loop powered digital input.

AD-SWIO Click inner image

The ADC can measure either the voltage across the 100 ? RSENSE or the voltage at the I/OP_x screw terminal of each channel. In high impedance mode, the ADC, by default, measures the voltage across the screw terminals (I/OP_x to I/ON_x) in a 0 V to 10 V range. The ADC also provides diagnostic information on user-selectable inputs such as supplies, internal die temperature, reference, and regulators.

The AD-SWIO Click has four GPO-x pins, one per channel ( GPO-A, GPO-B, GPO-C, GPO-D). Each channel GPO-x pin can be configured to the logic outputs of the digital input functions or a logic high or low output. The GPO-x pins can be set via the GPO_SELECT bits within the GPO_CONFIGx registers. The Click board™ also contains LVIN ( Low Voltage Input) pin, the measurement voltage range on this pin is 0V to 2.5V.

The AD74412R contains four 13-bit DACs, one per channel. Each DAC core is a 13-bit string DAC. The architecture structure consists of a string of resistors, each with a value of R. The digital input code that is loaded to the DAC_CODEx registers determines which node on the string the voltage is tapped off from and fed into the output amplifier. This architecture is inherently monotonic and linear.

The AD74412R have short-circuit limit in voltage output mode is programmable per channel. The circuit minimizes glitching on the I/OP_x screw terminal when the AVDD supply is ramping or when the use case configuration is changed. This short-circuit limit, you can regulate with positive analog supply on AVDD pin, Output voltage on AD-SWIO Click is limited to +20V. The AD-SWIO Click is equipped with the ADP1613 step-up dc-to-dc switching converters with an integrated power switch capable of providing an output voltage as high as 20 V also from Analog Devices.


Applications Applications Its a perfect choice for Process control, Factory automation, Motor drives, Building control systems.
On-board modules AD74412R a quad-channel SWIO and ADP1613 step-up dc-to-dc switching converter all from Analog Devices
Key Features Optimized for 16-bit ADC (Analog-to-Digital Converter) and 13-bit DAC (Digital-to-Analog Converter).
Interface GPIO,SPI
Compatibility mikroBUS
Click board size L (57.15 x 25.4 mm)
Input Voltage 3.3V,5V

Pinout diagram

This table shows how the pinout on AD-SWIO 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 ALT Alert Status
Reset RST 2 RST INT 15 RDY Ready to read
SPI Chip Select CS 3 CS RX 14 NC
SPI Clock SCK 4 SCK TX 13 NC
Power Supply 3.3V 7 3.3V 5V 10 5V Power Supply
Ground GND 8 GND GND 9 GND Ground

Onboard settings and indicators

Label Name Default Description
LD1 PWR - Power LED Indicator

Software Support

We provide a library for the AD-SWIO 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

This library has ability to perform a full control of the AD-SWIO Click board. This click can convert and measure voltage, current and resistance from 4 independent channels and 4 different diagnostics.

Key functions:

  • adsdio_err_t adsdio_enable_ch( uint8_t channel ) - This function allows user to enable the desired channel/channels.
  • adsdio_err_t adsdio_set_ch_func( uint8_t channel, uint8_t ch_func ) - This function allows user to modify the functionality of the selected channel.
  • adsdio_err_t adsdio_get_conv_results( uint8_t channel, uint16_t *data_out ) - This function allows user to get the converted results of the selected channel.

Examples description

The application is composed of three sections :

  • System Initialization - Initializes all necessary peripherals and pins used for this click. Also initializes uart console module.
  • Application Initialization - Performs a hardware reset of the click board and executes a default configuration which includes that channel A will be enabled to measure voltage input in the range from 0V to 10V, with 4k8 SPS sample rating. In this function also Silicon Revision ID will be checked.
  • Application Task - (code snippet) - Waits until data from the enabled channel is ready and then reads results of conversion for channel A and if response is ok, prints the results on the uart console.

void application_task( )
    adsdio_rdy = adsdio_status_pin_ready( );

    while ( adsdio_rdy == 0 )
        adsdio_rdy = adsdio_status_pin_ready( );

    adsdio_err = adsdio_get_conv_results( _ADSDIO_SETUP_CONV_EN_CHA,
                                          &adsdio_ch_a );

    if ( adsdio_err == _ADSDIO_ERR_STATUS_OK )
        adsdio_res = adsdio_ch_a;
        adsdio_res /= _ADSDIO_RANGE_RESOLUTION;
        adsdio_res *= _ADSDIO_RANGE_VOLT_MV;
        adsdio_ch_a = adsdio_res;

        WordToStr( adsdio_ch_a, adsdio_log );
        Ltrim( adsdio_log );

        mikrobus_logWrite( "* CH A converted result is ", _LOG_TEXT );
        mikrobus_logWrite( adsdio_log, _LOG_TEXT );
        mikrobus_logWrite( " mV", _LOG_LINE );
        Delay_ms( 100 );

Additional Functions :

  • Application Default Handler - Used to send error report messages from click driver to initialized console module.

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

Other mikroE Libraries used in the example:

  • Conversions
  • C_String
  • SPI
  • UART

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.


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.