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
sysfsmapping. -
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 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.

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 early system images.
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 |