Filter results by

GPIO Header Maps

General-Purpose Input/Output (GPIO) pins are generic pins that can be configured for input or output. They are controlled by kernel-level code, but user-level applications can configure and access them through the Linux® sysfs interface (read about it here).

ARTIK 520 and 1020 modules have several programmable pin interfaces exposed on the developer board, with GPIO pins in particular on headers J26 and J27. ARTIK 530 and 710 modules have a comparable signal set on a smaller form factor Test Header. For access:

  • If using the Arduino IDE, the Arduino mappings for the various ARTIK boards are shown below – use the "external" pin numbers in your code. For the ARTIK 520 and 1020, the numbers are also silk-screened (printed) on the boards themselves.

  • If using native development, you will need to map each pin to various GPIO numbers in your program. Refer to the introduction for an overview of how this works, and to the tables below for sysfs mapping.

  • If you are interested in programming at the kernel level, refer to Programmable I/O Pins for details of the underlying chip registers.

The information below provides a reference to GPIO pin and fixed-purpose programmable pin mapping to both Arduino and sysfs access methods.

Note that the mappings are different for each ARTIK module type. Be sure you reference the correct tables!

"External" Pin Mapping

ARTIK 520 and 1020. If you look at the ARTIK 520 and 1020 developer board schematics, you’ll see secondary schematic pin reference numbers that don’t match the Arduino IDE numbers. In this guide, we mostly use the Arduino pin labeling convention, calling them "external" pins.

ARTIK 530 and 710. Looking at the Interface board that attaches to the ARTIK 530 and 710 board, you'll see silk-screen GPIO numbering. It does not match the Arduino IDE numbers, because these headers are not Arduino-compatible. Refer to the tables below for the relation to Arduino IDE numbering.

ARTIK 530/710 Pin Mapping

ARTIK 530/710 Interface Board

The signal names are silk-screen printed on the board. The board provides buffering for tolerance of different voltages, as set by the jumpers.

Note that these headers are not compatible with Arduino shields.

ARTIK 530/710 Headers

A-530 or A-710 GPIO Mapping

Pin mapping is to the GPIO pin number that is silk-screen printed on board. These are shifted by 2 from the "external" (Arduino IDE) signal naming used on the ARTIK 520 and ARTIK 1020 boards.

Silk-screen
printing
sysfs Mapping Related
External signal
GPIO0 GPIO 128 Arduino pin 2
GPIO1 GPIO 129 Arduino pin 3
GPIO2 GPIO 130 Arduino pin 4
GPIO3 GPIO 46 Arduino pin 5
GPIO4 GPIO 14 Arduino pin 6
GPIO5 GPIO 41 Arduino pin 7
GPIO6 GPIO 25 Arduino pin 8

The mapping below is for test features specific to the ARTIK 530 or 710 board – signals that control or monitor the on-board devices indicated (no external connections are available).

on-board device sysfs Mapping Notes
SW403 GPIO 30 nearest board edge, next to red LED
SW404 GPIO 32 next to blue LED
Red LED GPIO 28  
Blue LED GPIO 38  

ARTIK 530/710 Test Header Pin Mapping

If you don't need the buffering provided by the interface board, attach wires directly to the connector on the main board assembly test header. The direct drive strength is higher than that provided at the Interface board connector (which provides 3.3V/5V tolerance).

The view shown looks at the small form-factor connector on the side of the Interposer + Platform board assembly, without the Interface board attached. Only the Arduino-related signals are shown. Refer to the schematics for complete information.

ARTIK 520 Pin Mapping

The development board provides external connectors J24, J26, and J27 to map ARTIK signals to an Arduino-friendly configuration. Accordingly, the J26-27 signals are numbered as a single run of 0 to 13 from left to right.

The ARTIK 520 module itself has many more I/O pins and mapping options than those presented here. The ARTIK 520 Module Datasheet, starting from Table 16, offers full details. The listings correspond with the IO group in /sys/kernel/debug/gpio on the ARTIK board. For example, for XEINT_22, the IO group is gpx2.

[root@localhost ~]# cat /sys/kernel/debug/gpio | grep gpx2 
GPIOs 137-144, platform/11000000.pinctrl, gpx2:
[root@localhost ~]#

Each IO group has 8(0-7) PINs, so the GPIO number for XEINT_22(gpx2-6) can be calculated as (137+7) = 143.

ARTIK 520 Commercial version 0.5

The header layout for the production ARTIK 520 development board is illustrated below. The red-lined areas hightlight a difference in pinout between this revision and earlier ones: The PWM pins are in a reversed order from previously released boards. Review the PWM Interface section for details. Do not attach an Arduino shield before reviewing.

ARTIK 5 GPIO

ARTIK 520 early versions 3.0, 3.3

In addition to the PWM assignment difference noted between the 3.x boards and the newer 0.5 board, one set of headers is on the other side of the level shifter ICs. However, the pins remain the same.

ARTIK 520 Headers

The "GPXx" labels refer to ARTIK module schematic signal names.

A-520 Header J24 (analog inputs)

external pin Mapping
[A0] Analog input 0
[A1] Analog input 1

A-520 Header J26

external pin sysfs Mapping Notes
[Rx-0] Rx  
[Tx-1] Tx  
[2] GPIO 121 (GPX0[0])
[3] GPIO 122 (GPX0[1])
[4] GPIO 123 (GPX0[2])
[5]
[6]
(pwm functions) These pins are reversed between
production boards and early boards.
Refer to this section.
[7] GPIO 124 (GPX0[3])  

A-520 Header J27

external pin sysfs Mapping           Notes
[8] GPIO 125 (GPX0[4])
[9] GPIO 126 (GPX0[5])
[10] GPIO 127 (GPX0[6])
[11] GPIO 129 (GPX1[0])
[12] GPIO 134 (GPX1[5])
[13] GPIO 135 (GPX1[6])
[GND] GND  
[Vref] VextIN  
[SDA] I2C7 SDA  
[SCL] I2C7 SCL  

ARTIK 1020 Pin Mapping

The development board provides external connectors J24, J26, and J27 to map ARTIK signals to an Arduino-friendly configuration. Accordingly, the J26-27 signals are numbered as a single run of 0 to 13 from left to right.

ARTIK 1020 Board

Commercial version 0.5 and early version 3.x boards all use the same pinout.

ARTIK 10 GPIO

The ARTIK 1020 early Ver. 2.0 - 2.2 boards had no Arduino-friendly connector; they can be found here.

ARTIK 1020 Headers

The "GPXx" labels refer to ARTIK module schematic signal names.

Note that the XPWM pins and I2C pins were not activated in the Fedora 20 build.

A-1020 Header J24 (analog inputs)

external pin Mapping
[A0] Analog input 0
[A1] Analog input 1
[A2] Analog input 2
[A3] Analog input 5
[A4] Analog input 6
[A5] Analog input 7

A-1020 Header J26

external pin sysfs Mapping Notes
[Rx-0] Rx  
[Tx-1] Tx  
[2] GPIO 8 (GPX0[0])
[3] GPIO 9 (GPX0[1])
[4] GPIO 10 (GPX0[2])
[5] XPWMO0  
[6] XPWMO1  
[7] GPIO 11 (GPX0[3])

A-1020 Header J27

external pin sysfs Mapping Notes
[8] GPIO 12 (GPX0[4])
[9] GPIO 13 (GPX0[5])
[10] GPIO 14 (GPX0[6])
[11] GPIO 16 (GPX1[0])
[12] GPIO 21 (GPX1[5])
[13] GPIO 22 (GPX1[6])
[GND] GND  
[Vref] VextIN  
[SDA] I2C7 SDA  
[SCL] I2C7 SCL  
Last updated on: