The Arduino MKR WiFi 1010 is the easiest point of entry to basic IoT and pico-network application design. Whether you are looking at building a sensor network connected to your office or home router, or if you want to create a BLE device sending data to a cellphone, the MKR WiFi 1010 is your one-stop-solution for many of the basic IoT application scenarios.
See what Massimo Banzi, Arduino Co-founder, has to say about this board in the following video.
The board’s main processor is a low power Arm® Cortex®-M0 32-bit SAMD21, like in the other boards within the Arduino MKR family. The WiFi and Bluetooth® connectivity is performed with a module from u-blox, the NINA-W10, a low power chipset operating in the 2.4GHz range. On top of those, secure communication is ensured through the Microchip® ECC508 crypto chip. Besides that, you can find a battery charger, and a directionable RGB LED on-board.
WiFi and Arduino IoT Cloud
At Arduino we have made connecting to a WiFi network as easy as getting an LED to blink. You can get your board to connect to any kind of existing WiFi network, or use it to create your own Arduino Access Point. The specific set of examples we provide for the MKR WiFi 1010 can be consulted at the WiFiNINA library reference page.
It is also possible to connect your board to different Cloud services, Arduino’s own among others. Here some examples on how to get the MKR WiFi 1010 to connect to:
- Arduino’s own IoT Cloud: Arduino’s IoT Cloud is a simple and fast way to ensure secure communication for all of your connected Things. Check it out here
- Blynk: a simple project from our community connecting to Blynk to operate your board from a phone with little code
- IFTTT: see an in-depth case of building a smart plug connected to IFTTT
- AWS IoT Core: we made this example on how to connect to Amazon Web Services
- Azure: visit this github repository explaining how to connect a temperature sensor to Azure’s Cloud
- Firebase: you want to connect to Google’s Firebase, this Arduino library will show you how
Bluetooth® and BLE
The communications chipset on the MKR WiFi 1010 can be both a BLE and Bluetooth® client and host device. Something pretty unique in the world of microcontroller platforms. If you want to see how easy it is to create a Bluetooth® central or a peripheral device, explore the examples at our ArduinoBLE library.
We Make it Open for you to Hack Along
The MKR WiFi 1010 is a dual processor device that invites for experimentation. Hacking the WiFiNINA module allows you to, for example, make use of both WiFi and BLE / Bluetooth® at once on the board. Yet another possibility is having a super-lightweight version of linux running on the module, while the main microcontroller controls low level devices like motors, or screens. These experimental techniques, require advanced hacking on your side. They are possible via modifying the module’s firmware that you can find at our github repositories.
BEWARE: this kind of hacking breaks the certification of your WiFiNINA module, do it at your own risk.
Its USB port can be used to supply power (5V) to the board. It has a Li-Po charging circuit that allows the Arduino MKR WiFi 1010 to run on battery power or an external 5 volt source, charging the Li-Po battery while running on external power. Switching from one source to the other is done automatically.
If you are looking at upgrading from previous Arduino designs, or if you are just interested in boards with similar functionality, at Arduino you can find:
- Arduino Uno WiFi rev2: the education version of the MKR WiFi 1010, with USB-B connector and embedded accelerometer. Read more here.
- Nano 33 IoT: if you need an even smaller form factor, this board sacrifices the battery connector, but the basic functionality is essentially the same. Visit its product page here.
- MKR WiFi 1000: can only run WiFi applications, as it includes a different chipset than the MKR WiFi 1010. Read more about it here.
The Arduino MKR WAN 1010 is based on the SAMD21 microcontroller.
|Microcontroller||SAMD21 Cortex®-M0+ 32bit low power ARM MCU (datasheet)|
|Radio module||u-blox NINA-W102 (datasheet)|
|Board Power Supply (USB/VIN)||5V|
|Secure Element||ATECC508 (datasheet)|
|Supported Battery||Li-Po Single Cell, 3.7V, 1024mAh Minimum|
|Circuit Operating Voltage||3.3V|
|Digital I/O Pins||8|
|PWM Pins||13 (0 .. 8, 10, 12, 18 / A3, 19 / A4)|
|Analog Input Pins||7 (ADC 8/10/12 bit)|
|Analog Output Pins||1 (DAC 10 bit)|
|External Interrupts||8 (0, 1, 4, 5, 6, 7, 8, 16 / A1, 17 / A2)|
|DC Current per I/O Pin||7 mA|
|CPU Flash Memory||256 KB (internal)|
|Clock Speed||32.768 kHz (RTC), 48 MHz|
|USB||Full-Speed USB Device and embedded Host|