diff --git a/boards/airfy-beacon/board.c b/boards/airfy-beacon/board.c
index 1e6f86148fea9433c7afc351d12501fc87dd5469..80762f48971868854f9f29dd21c8bc8b0cca710c 100644
--- a/boards/airfy-beacon/board.c
+++ b/boards/airfy-beacon/board.c
@@ -24,7 +24,7 @@
 void board_init(void)
 {
     /* setup led(s) for debugging */
-    NRF_GPIO->PIN_CNF[LED_RED_PIN] = GPIO_PIN_CNF_DIR_Output;
+    NRF_GPIO->DIRSET = LED_RED_MASK;
 
     /* initialize the CPU */
     cpu_init();
diff --git a/boards/airfy-beacon/include/board.h b/boards/airfy-beacon/include/board.h
index 95603988d85d1746800c8f6333855fc6f2ca20ac..7b194bb152907f7f126454a21f1cca995544c217 100644
--- a/boards/airfy-beacon/include/board.h
+++ b/boards/airfy-beacon/include/board.h
@@ -42,12 +42,18 @@
  * @name Macros for controlling the on-board LEDs.
  * @{
  */
-#define LED_RED_PIN         16
-
-#define LED_RED_ON          (NRF_GPIO->OUTSET = (1 << LED_RED_PIN))
-#define LED_RED_OFF         (NRF_GPIO->OUTCLR = (1 << LED_RED_PIN))
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= (1 << LED_RED_PIN))
+#define LED_RED_PIN         (GPIO_PIN(0, 16))
+#define LED_RED_MASK        (1 << 16)
 
+#define LED_RED_ON          (NRF_GPIO->OUTSET = LED_RED_MASK)
+#define LED_RED_OFF         (NRF_GPIO->OUTCLR = LED_RED_MASK)
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= LED_RED_MASK)
+#define LED_GREEN_ON        /* not available */
+#define LED_GREEN_OFF       /* not available */
+#define LED_GREEN_TOGGLE    /* not available */
+#define LED_BLUE_ON         /* not available */
+#define LED_BLUE_OFF        /* not available */
+#define LED_BLUE_TOGGLE     /* not available */
 /* @} */
 
 /**
diff --git a/boards/nrf51dongle/board.c b/boards/nrf51dongle/board.c
index 7e00e24d6e3a84497389db094d6ed7836c71c18c..a6660078bee6cccf31e8e96ce08a65baf50e1b87 100644
--- a/boards/nrf51dongle/board.c
+++ b/boards/nrf51dongle/board.c
@@ -24,8 +24,8 @@
 void board_init(void)
 {
     /* initialize the boards LEDs, set pins as output and turn LEDs off */
-    NRF_GPIO->DIRSET = (LED_RED_PIN | LED_GREEN_PIN | LED_BLUE_PIN);
-    NRF_GPIO->OUTSET = (LED_RED_PIN | LED_GREEN_PIN | LED_BLUE_PIN);
+    NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK);
+    NRF_GPIO->OUTSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK);
     /* initialize the CPU */
     cpu_init();
 }
diff --git a/boards/nrf51dongle/include/board.h b/boards/nrf51dongle/include/board.h
index ad303d5a73be30c1d1c5dc132716352ea112cc59..c640ffa1aaac9639a689997a5ac03feaa48af4e1 100644
--- a/boards/nrf51dongle/include/board.h
+++ b/boards/nrf51dongle/include/board.h
@@ -43,24 +43,27 @@ extern "C" {
  * @name    LED pin definitions
  * @{
  */
-#define LED_RED_PIN         (1 << 21)
-#define LED_GREEN_PIN       (1 << 22)
-#define LED_BLUE_PIN        (1 << 23)
+#define LED_RED_PIN         (GPIO_PIN(0, 21))
+#define LED_GREEN_PIN       (GPIO_PIN(0, 22))
+#define LED_BLUE_PIN        (GPIO_PIN(0, 23))
+#define LED_RED_MASK        (1 << 21)
+#define LED_GREEN_MASK      (1 << 22)
+#define LED_BLUE_MASK       (1 << 23)
 /** @} */
 
 /**
  * @name    Macros for controlling the on-board LEDs
  * @{
  */
-#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_PIN)
-#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_PIN)
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= LED_RED_PIN)
-#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_PIN)
-#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_PIN)
-#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT ^= LED_GREEN_PIN)
-#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_PIN)
-#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_PIN)
-#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT ^= LED_BLUE_PIN)
+#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_MASK)
+#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_MASK)
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= LED_RED_MASK)
+#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_MASK)
+#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_MASK)
+#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT   ^= LED_GREEN_MASK)
+#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_MASK)
+#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_MASK)
+#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT   ^= LED_BLUE_MASK)
 /** @} */
 
 /**
diff --git a/boards/nrf52dk/include/board.h b/boards/nrf52dk/include/board.h
index e965bef2882fb45dc0fced3a324a6bf61ef1d0db..5e794b2ea2e7be426a61005e837924c57bd1b95d 100644
--- a/boards/nrf52dk/include/board.h
+++ b/boards/nrf52dk/include/board.h
@@ -45,15 +45,15 @@ extern "C" {
  * @brief   RIOT LED macros for backwards compatibility
  * @{
  */
-#define LED_RED_ON          (NRF_P0->OUTSET = LED1_PIN)
-#define LED_RED_OFF         (NRF_P0->OUTCLR = LED2_PIN)
-#define LED_RED_TOGGLE      (NRF_P0->OUT   ^= LED3_PIN)
-#define LED_GREEN_ON        (NRF_P0->OUTSET = LED1_PIN)
-#define LED_GREEN_OFF       (NRF_P0->OUTCLR = LED2_PIN)
-#define LED_GREEN_TOGGLE    (NRF_P0->OUT   ^= LED3_PIN)
-#define LED_ORANGE_ON       (NRF_P0->OUTSET = LED1_PIN)
-#define LED_ORANGE_OFF      (NRF_P0->OUTCLR = LED2_PIN)
-#define LED_ORANGE_TOGGLE   (NRF_P0->OUT   ^= LED3_PIN)
+#define LED_RED_ON          (NRF_P0->OUTSET = LED1_MASK)
+#define LED_RED_OFF         (NRF_P0->OUTCLR = LED1_MASK)
+#define LED_RED_TOGGLE      (NRF_P0->OUT   ^= LED1_MASK)
+#define LED_GREEN_ON        (NRF_P0->OUTSET = LED2_MASK)
+#define LED_GREEN_OFF       (NRF_P0->OUTCLR = LED2_MASK)
+#define LED_GREEN_TOGGLE    (NRF_P0->OUT   ^= LED2_MASK)
+#define LED_ORANGE_ON       (NRF_P0->OUTSET = LED3_MASK)
+#define LED_ORANGE_OFF      (NRF_P0->OUTCLR = LED3_MASK)
+#define LED_ORANGE_TOGGLE   (NRF_P0->OUT   ^= LED3_MASK)
 /** @} */
 
 /**
diff --git a/boards/nrf6310/board.c b/boards/nrf6310/board.c
index 978a2064d200878ba5ea01811afe85c9014a4516..156c02f2fa33ab3edb8a4fb2bf11907188a7cc66 100644
--- a/boards/nrf6310/board.c
+++ b/boards/nrf6310/board.c
@@ -26,7 +26,7 @@
 void board_init(void)
 {
     /* setup led(s) for debugging */
-    NRF_GPIO->PIN_CNF[LED_RED_PIN] = GPIO_PIN_CNF_DIR_Output;
+    NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK);
 
     /* initialize the CPU */
     cpu_init();
diff --git a/boards/nrf6310/include/board.h b/boards/nrf6310/include/board.h
index d642762818bc5099a6e6fbcf49416f0b24892fc4..a6d2bc9ca0a559a55fc7d3c7061e8a3fa7cdac0b 100644
--- a/boards/nrf6310/include/board.h
+++ b/boards/nrf6310/include/board.h
@@ -33,25 +33,27 @@ extern "C" {
  * @name    LED pin definitions
  * @{
  */
-#define ONBOARD_LED         1
-#define LED_RED_PIN         (1 << 8)
-#define LED_GREEN_PIN       (1 << 9)
-#define LED_BLUE_PIN        (1 << 10)
+#define LED_RED_PIN         (GPIO_PIN(0, 8))
+#define LED_GREEN_PIN       (GPIO_PIN(0, 9))
+#define LED_BLUE_PIN        (GPIO_PIN(0, 10))
+#define LED_RED_MASK        (1 << 8)
+#define LED_GREEN_MASK      (1 << 9)
+#define LED_BLUE_MASK       (1 << 10)
 /** @} */
 
 /**
  * @name Macros for controlling the on-board LEDs.
  * @{
  */
-#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_PIN)
-#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_PIN)
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= LED_RED_PIN)
-#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_PIN)
-#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_PIN)
-#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT ^= LED_GREEN_PIN)
-#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_PIN)
-#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_PIN)
-#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT ^= LED_BLUE_PIN)
+#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_MASK)
+#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_MASK)
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= LED_RED_MASK)
+#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_MASK)
+#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_MASK)
+#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT   ^= LED_GREEN_MASK)
+#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_MASK)
+#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_MASK)
+#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT   ^= LED_BLUE_MASK)
 /** @} */
 
 /**
diff --git a/boards/pca10000/board.c b/boards/pca10000/board.c
index 62875d180fed0b9603c24925815157220c464eb5..be7c3e9602ba7e7f2b4845cea95f34308ba90bd3 100644
--- a/boards/pca10000/board.c
+++ b/boards/pca10000/board.c
@@ -25,8 +25,8 @@
 void board_init(void)
 {
     /* initialize the boards LEDs: set pins to output and turn LEDs off */
-    NRF_GPIO->DIRSET = (LED_RED_PIN | LED_GREEN_PIN | LED_BLUE_PIN);
-    NRF_GPIO->OUTSET = (LED_RED_PIN | LED_GREEN_PIN | LED_BLUE_PIN);
+    NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK);
+    NRF_GPIO->OUTSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK);
     /* trigger the CPU initialization code */
     cpu_init();
 }
diff --git a/boards/pca10000/include/board.h b/boards/pca10000/include/board.h
index d0be5893b282091bd2d6e0c0a810fbca371b4618..733c096fdf79c9ec07153bd1a7997deefae1c02e 100644
--- a/boards/pca10000/include/board.h
+++ b/boards/pca10000/include/board.h
@@ -43,25 +43,27 @@ extern "C" {
  * @name    LED pin definitions
  * @{
  */
-#define ONBOARD_LED         1
-#define LED_RED_PIN         (1 << 21)
-#define LED_GREEN_PIN       (1 << 22)
-#define LED_BLUE_PIN        (1 << 23)
+#define LED_RED_PIN         (GPIO_PIN(0, 21))
+#define LED_GREEN_PIN       (GPIO_PIN(0, 22))
+#define LED_BLUE_PIN        (GPIO_PIN(0, 23))
+#define LED_RED_MASK        (1 << 21)
+#define LED_GREEN_MASK      (1 << 22)
+#define LED_BLUE_MASK       (1 << 23)
 /** @} */
 
 /**
  * @name Macros for controlling the on-board LEDs.
  * @{
  */
-#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_PIN)
-#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_PIN)
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= LED_RED_PIN)
-#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_PIN)
-#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_PIN)
-#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT ^= LED_GREEN_PIN)
-#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_PIN)
-#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_PIN)
-#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT ^= LED_BLUE_PIN)
+#define LED_RED_ON          (NRF_GPIO->OUTCLR = LED_RED_MASK)
+#define LED_RED_OFF         (NRF_GPIO->OUTSET = LED_RED_MASK)
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= LED_RED_MASK)
+#define LED_GREEN_ON        (NRF_GPIO->OUTCLR = LED_GREEN_MASK)
+#define LED_GREEN_OFF       (NRF_GPIO->OUTSET = LED_GREEN_MASK)
+#define LED_GREEN_TOGGLE    (NRF_GPIO->OUT   ^= LED_GREEN_MASK)
+#define LED_BLUE_ON         (NRF_GPIO->OUTCLR = LED_BLUE_MASK)
+#define LED_BLUE_OFF        (NRF_GPIO->OUTSET = LED_BLUE_MASK)
+#define LED_BLUE_TOGGLE     (NRF_GPIO->OUT   ^= LED_BLUE_MASK)
 /** @} */
 
 /**
diff --git a/boards/pca10005/board.c b/boards/pca10005/board.c
index 6ae6345d93104f49cf26cbe85d721ebb29637775..7ee2f74847cba4b6808bd961700a5f221d443a5e 100644
--- a/boards/pca10005/board.c
+++ b/boards/pca10005/board.c
@@ -26,7 +26,7 @@
 void board_init(void)
 {
     /* setup led(s) for debugging */
-    NRF_GPIO->PIN_CNF[LED_RED_PIN] = GPIO_PIN_CNF_DIR_Output;
+    NRF_GPIO->DIRSET = (LED_RED_MASK);
 
     /* initialize the CPU */
     cpu_init();
diff --git a/boards/pca10005/include/board.h b/boards/pca10005/include/board.h
index 9fc73f3cae5b194addd46ab0a11c30476af5b944..3af4cc9ad99e3a43401bdc48964c6cd45d693bd8 100644
--- a/boards/pca10005/include/board.h
+++ b/boards/pca10005/include/board.h
@@ -43,11 +43,12 @@ extern "C" {
  * @name Macros for controlling the on-board LEDs.
  * @{
  */
-#define LED_RED_PIN         1
+#define LED_RED_PIN         (GPIO_PIN(0, 1))
+#define LED_RED_MASK        (1 << 1)
 
-#define LED_RED_ON          (NRF_GPIO->OUTSET = (1 << LED_RED_PIN))
-#define LED_RED_OFF         (NRF_GPIO->OUTCLR = (1 << LED_RED_PIN))
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= (1 << LED_RED_PIN))
+#define LED_RED_ON          (NRF_GPIO->OUTSET = (1 << LED_RED_MASK))
+#define LED_RED_OFF         (NRF_GPIO->OUTCLR = (1 << LED_RED_MASK))
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= (1 << LED_RED_MASK))
 #define LED_GREEN_ON        /* not available */
 #define LED_GREEN_OFF       /* not available */
 #define LED_GREEN_TOGGLE    /* not available */
diff --git a/boards/yunjia-nrf51822/board.c b/boards/yunjia-nrf51822/board.c
index 6db542c72e305550024d6653e022d7efa48a0caf..896165599b8f014e879269441aade9785122b75d 100644
--- a/boards/yunjia-nrf51822/board.c
+++ b/boards/yunjia-nrf51822/board.c
@@ -24,7 +24,7 @@
 void board_init(void)
 {
     /* setup led(s) for debugging */
-    NRF_GPIO->PIN_CNF[LED_RED_PIN] = GPIO_PIN_CNF_DIR_Output;
+    NRF_GPIO->DIRSET = (LED_RED_MASK);
 
     /* initialize the CPU */
     cpu_init();
diff --git a/boards/yunjia-nrf51822/include/board.h b/boards/yunjia-nrf51822/include/board.h
index 11463377d64774b03f10cac7db767f14c4d2ecfc..f297531ebef88c17cb92c60cbd056d23e8b04c1a 100644
--- a/boards/yunjia-nrf51822/include/board.h
+++ b/boards/yunjia-nrf51822/include/board.h
@@ -42,11 +42,12 @@ extern "C" {
  * @name Macros for controlling the on-board LEDs.
  * @{
  */
-#define LED_RED_PIN         8
+#define LED_RED_PIN         (GPIO_PIN(0, 8))
+#define LED_RED_MASK        (1 << 8)
 
-#define LED_RED_ON          (NRF_GPIO->OUTSET = (1 << LED_RED_PIN))
-#define LED_RED_OFF         (NRF_GPIO->OUTCLR = (1 << LED_RED_PIN))
-#define LED_RED_TOGGLE      (NRF_GPIO->OUT ^= (1 << LED_RED_PIN))
+#define LED_RED_ON          (NRF_GPIO->OUTSET = LED_RED_MASK)
+#define LED_RED_OFF         (NRF_GPIO->OUTCLR = LED_RED_MASK)
+#define LED_RED_TOGGLE      (NRF_GPIO->OUT   ^= LED_RED_MASK)
 #define LED_GREEN_ON        /* not available */
 #define LED_GREEN_OFF       /* not available */
 #define LED_GREEN_TOGGLE    /* not available */