Arduino MKR1000 Wi-Fi Board

2020-05-20 15:02

Other Development Boards

Raspberry Pi, PIC Development Board, AVR Development Board, MSP430 Launchpad, Intel Edison, ESP32

Other IOT Development Boards

Raspberry Pi, ESP8266, ESP12, ESP32, Intel Edison, Arduino Yun, Node MCU, BLE, LoRa, NRF24L01

Difference between ESP8266 and Arduino MKR1000

Ever since the launch of the ESP8266 module which is a part of the Node MCU series, it has been increasingly applied in most of the IOT projects. The popularity of the device is due to its cheap price and its ability to be programmed using Arduino IDE. Now considering the price and functionality of an Arduino MKR100 Wi-Fi board, it is often confusing to select an ESP8266 over a MKR1000.

Comparing the specs and functionality of both the boards, it is obvious that the MKR1000 stands high with more electronic pins, Li-Po battery charging circuit option, DAC option, high programming memory and an Encryption chip. But the two considerable downsides are that MKR1000 is at least 8 times costlier than ESP8266 and does not have a strong community support. So it purely depends on the designer to consider the pros and cons and select make his ideal choice.

Understanding Arduino MKR1000

The Arduino MKR1000 stands for ?¡ãMaker 1000?¡À. This small form factored board by Arduino is aimed at building IOT projects since it comes with an on-board Wi-Fi feature. It also runs on 32-bit architecture making it faster and more reliable with encryption functions. As always since the board is from Arduino it is expected to have a huge community support and will be easier for beginners to get started with IOT projects with less experience on networking.

Powering your Arduino MKR1000

There are totally three ways by which you can power your Nano.

Li-Po battery Connector: The board comes with a lithium polymer battery connector and the circuit associated with it to charge the battery. So once you development is done you can run the module on a battery by just connecting it to this connector and charging through USB.

USB Jack: Connect the mini USB jack to a phone charger or computer through a cable and it will draw power required for your board to function. The board works on 3.3V so the 5V from the USB will be regulated to 3.3V using the on-board regulator.

Vin Pin: The Vin pin can be supplied with a regulated +5V to power the board.

Vcc Pin: If you have a regulated +3.3V supply then you can directly provide this to the Vccpin of the Arduino.

Introducing uart wifi module Interface from Heisener.Visit our website to compare between a wide range of remarkable models. Order your perfect match right now!


There are totally 15 digital Pins and 7 Analog pins on your MKR1000 board. These entire pin are only 3.3V compatible. The electronic pins can be employed to interface sensors by using them as input pins or drive loads by using them as output pins. A simple function like pinMode() and digitalWrite() can be utilised to control their operation. The operating voltage is 0V and 3.3VV for electronic pins. The analog pins can measure analog voltage from 0V to 3.3V using any of the 7 Analog pins using a simple function liken analogRead()

These pins apart from serving their purpose can be utilized for special purposes which are discussed below:

Serial Pins 13 (Rx) and 14 (Tx): Rx and Tx pins are used to receive and transmit TTL serial data.

External Interrupt Pins : These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.

PWM Pins : These pins provide an 8-bit PWM output by using analogWrite() function.

SPI Pins :These pins are utilized for SPI communication.

In-built LED Pin D6: This pin is connected with an built-in LED, when pin 6 is HIGH ¡§C LED is on and when pin 6 is LOW, its off.

I2C Pins: Used for IIC communication using Wire library.

AREF: Used to provide reference voltage for analog inputs with analogReference() function.

Reset Pin: Making this pin LOW, resets the microcontroller.

How to use Arduino MKR1000

It will hardly take 5-10 minutes to upload you first program to Arduino MKR1000. All you need the Arduino IDE an USB cable and your board itself.

Download and Install Arduino:

The first step would be install the Arduino IDE which is available for download for free from the below link. After installing Arduino you might also want to install the drivers (link given below) for you Arduino to communicate with your Computer. Make sure you get the latest version (one.6.8 or above) of the Arduino IDE.

Arduino IDE Download

Driver Download

Install board package and upload the program:

By the time I am writing this article the Arduino IDE by default does not have the MKR1000 board included in the Tools boards menu. So you have to open the board manager and install the board details to the MKR1000 board. More guidance can be found here.

Once installed, just connect you board to the computer through the USB cable and then you can select the required board and COM port. Then upload any sample program to check if the board is working as expected from here you can use the internet to build tons of amazing projects and have fun.

Related links:

Integration of Wi-Fi mobile nodes in a Web of Things Testbed

LM75 Temperature Sensor Module

Hall Effect Sensor Module

Voltage Sensor Module

Soil Moisture Sensor Module