diff --git a/variants/mkr1000/variant.h b/variants/mkr1000/variant.h
index cda39ec36d8713d58a513c6ab8270d5de86c4c5f..32c5b681519ad5535cdca302a45dc22ece673320 100644
--- a/variants/mkr1000/variant.h
+++ b/variants/mkr1000/variant.h
@@ -18,11 +18,13 @@
 
 #pragma once
 
-#include "WVariant.h"
+// The definitions here needs a SAMD core >=1.6.3
+#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10603
 
-/*----------------------------------------------------------------------------
- *        Definitions
- *----------------------------------------------------------------------------*/
+#include <WVariant.h>
+
+// General definitions
+// -------------------
 
 // Frequency of the board main oscillator
 #define VARIANT_MAINOSC (32768ul)
@@ -30,14 +32,8 @@
 // Master clock frequency
 #define VARIANT_MCK     (48000000ul)
 
-//#ifdef __cplusplus
-//extern "C"
-//{
-//#endif // __cplusplus
-
-/*----------------------------------------------------------------------------
- *        Pins
- *----------------------------------------------------------------------------*/
+// Pins
+// ----
 
 // Number of pins defined in PinDescription array
 #define PINS_COUNT           (26u)
@@ -45,14 +41,16 @@
 #define NUM_ANALOG_INPUTS    (7u)
 #define NUM_ANALOG_OUTPUTS   (1u)
 
-#define digitalPinToPort(P)        (&(PORT->Group[g_APinDescription[P].ulPort]))
-#define digitalPinToBitMask(P)     (1 << g_APinDescription[P].ulPin)
-//#define analogInPinToBit(P)      ()
-#define portOutputRegister(port)   (&(port->OUT.reg))
-#define portInputRegister(port)    (&(port->IN.reg))
-#define portModeRegister(port)     (&(port->DIR.reg))
-#define digitalPinHasPWM(P)        (g_APinDescription[P].ulPWMChannel != NOT_ON_PWM || g_APinDescription[P].ulTCChannel != NOT_ON_TIMER)
-#define digitalPinToInterrupt(P)   (g_APinDescription[P].ulExtInt)
+// Low-level pin register query macros
+// -----------------------------------
+#define digitalPinToPort(P)      (&(PORT->Group[g_APinDescription[P].ulPort]))
+#define digitalPinToBitMask(P)   (1 << g_APinDescription[P].ulPin)
+//#define analogInPinToBit(P)    ()
+#define portOutputRegister(port) (&(port->OUT.reg))
+#define portInputRegister(port)  (&(port->IN.reg))
+#define portModeRegister(port)   (&(port->DIR.reg))
+#define digitalPinHasPWM(P)      (g_APinDescription[P].ulPWMChannel != NOT_ON_PWM || g_APinDescription[P].ulTCChannel != NOT_ON_TIMER)
+#define digitalPinToInterrupt(P) (g_APinDescription[P].ulExtInt)
 
 /*
  * digitalPinToTimer(..) is AVR-specific and is not defined for SAMD
@@ -63,21 +61,20 @@
  */
 // #define digitalPinToTimer(P)
 
-
 // LEDs
 // ----
-#define PIN_LED              (7u)
-#define LED_BUILTIN          PIN_LED
+#define PIN_LED     (7u)
+#define LED_BUILTIN PIN_LED
 
 // Analog pins
 // -----------
-#define PIN_A0               (15u)
-#define PIN_A1               (16u)
-#define PIN_A2               (17u)
-#define PIN_A3               (18u)
-#define PIN_A4               (19u)
-#define PIN_A5               (20u)
-#define PIN_A6               (21u)
+#define PIN_A0 (15u)
+#define PIN_A1 (16u)
+#define PIN_A2 (17u)
+#define PIN_A3 (18u)
+#define PIN_A4 (19u)
+#define PIN_A5 (20u)
+#define PIN_A6 (21u)
 static const uint8_t A0  = PIN_A0;
 static const uint8_t A1  = PIN_A1;
 static const uint8_t A2  = PIN_A2;
@@ -85,33 +82,33 @@ static const uint8_t A3  = PIN_A3;
 static const uint8_t A4  = PIN_A4;
 static const uint8_t A5  = PIN_A5;
 static const uint8_t A6  = PIN_A6;
-#define ADC_RESOLUTION        12
+#define ADC_RESOLUTION 12
 
 // SPI Interfaces
 // --------------
 #define SPI_INTERFACES_COUNT 2
 
 // SPI
-#define PIN_SPI_MISO         (10u)
-#define PIN_SPI_MOSI         (8u)
-#define PIN_SPI_SCK          (9u)
-#define PIN_SPI_SS           (24u)
-#define PERIPH_SPI           sercom1
-#define PAD_SPI_TX           SPI_PAD_0_SCK_1
-#define PAD_SPI_RX           SERCOM_RX_PAD_3
+#define PIN_SPI_MISO  (10u)
+#define PIN_SPI_MOSI  (8u)
+#define PIN_SPI_SCK   (9u)
+#define PIN_SPI_SS    (24u)
+#define PERIPH_SPI    sercom1
+#define PAD_SPI_TX    SPI_PAD_0_SCK_1
+#define PAD_SPI_RX    SERCOM_RX_PAD_3
 static const uint8_t SS   = PIN_SPI_SS;   // SPI Slave SS not used. Set here only for reference.
 static const uint8_t MOSI = PIN_SPI_MOSI;
 static const uint8_t MISO = PIN_SPI_MISO;
 static const uint8_t SCK  = PIN_SPI_SCK;
 
 // SPI1: Connected to WINC1501B
-#define PIN_SPI1_MISO         (29u)
-#define PIN_SPI1_MOSI         (26u)
-#define PIN_SPI1_SCK          (27u)
-#define PIN_SPI1_SS           (28u)
-#define PERIPH_SPI1           sercom2
-#define PAD_SPI1_TX           SPI_PAD_0_SCK_1
-#define PAD_SPI1_RX           SERCOM_RX_PAD_3
+#define PIN_SPI1_MISO (29u)
+#define PIN_SPI1_MOSI (26u)
+#define PIN_SPI1_SCK  (27u)
+#define PIN_SPI1_SS   (28u)
+#define PERIPH_SPI1   sercom2
+#define PAD_SPI1_TX   SPI_PAD_0_SCK_1
+#define PAD_SPI1_RX   SERCOM_RX_PAD_3
 static const uint8_t SS1   = PIN_SPI1_SS;
 static const uint8_t MOSI1 = PIN_SPI1_MOSI;
 static const uint8_t MISO1 = PIN_SPI1_MISO;
@@ -133,10 +130,6 @@ static const uint8_t SCK1  = PIN_SPI1_SCK;
 #define PIN_USB_DP          (23ul)
 #define PIN_USB_HOST_ENABLE (24ul)
 
-//#ifdef __cplusplus
-//}
-//#endif
-
 // Needed for WINC1501B (WiFi101) library
 // --------------------------------------
 #define WINC1501_RESET_PIN   (30u)
@@ -145,10 +138,9 @@ static const uint8_t SCK1  = PIN_SPI1_SCK;
 #define WINC1501_SPI         SPI1
 #define WINC1501_SPI_CS_PIN  PIN_SPI1_SS
 
-/*----------------------------------------------------------------------------
- *        Arduino objects - C++ only
- *----------------------------------------------------------------------------*/
 
+// Serial ports
+// ------------
 #ifdef __cplusplus
 #include "SERCOM.h"
 #include "Uart.h"
@@ -163,11 +155,11 @@ extern SERCOM sercom5;
 
 // Serial1
 extern Uart Serial1;
-#define PIN_SERIAL1_RX       (13ul)
-#define PIN_SERIAL1_TX       (14ul)
-#define PAD_SERIAL1_TX       (UART_TX_PAD_2)
-#define PAD_SERIAL1_RX       (SERCOM_RX_PAD_3)
-#endif
+#define PIN_SERIAL1_RX (13ul)
+#define PIN_SERIAL1_TX (14ul)
+#define PAD_SERIAL1_TX (UART_TX_PAD_2)
+#define PAD_SERIAL1_RX (SERCOM_RX_PAD_3)
+#endif // __cplusplus
 
 // These serial port names are intended to allow libraries and architecture-neutral
 // sketches to automatically default to the correct port name for a particular type