Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use MKR WIFI 1010: Examples, Pinouts, and Specs

Image of MKR WIFI 1010
Cirkit Designer LogoDesign with MKR WIFI 1010 in Cirkit Designer

Introduction

The MKR WIFI 1010, manufactured by Arduino (Part ID: 21-2), is a powerful microcontroller board designed for IoT (Internet of Things) applications. It is based on the SAMD21 Cortex-M0+ 32-bit ARM microcontroller and features built-in Wi-Fi connectivity via the u-blox NINA-W102 module. This board is ideal for projects requiring wireless communication, low power consumption, and compatibility with the Arduino ecosystem.

Explore Projects Built with MKR WIFI 1010

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino MKR WiFi 1010 Basic Power Supply with Voltage Divider
Image of voltqge divider: A project utilizing MKR WIFI 1010 in a practical application
This circuit features an Arduino MKR WiFi 1010 powered by a 4xAA battery holder, with the battery's positive terminal connected to the Arduino's VIN pin and the negative terminal to GND. Two 100k Ohm resistors are connected in series between the Arduino's A0 analog input and VCC, with their midpoint also tied to GND, forming a voltage divider that could be used for sensing or reference voltage purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino MKR WiFi 1010 Controlled Relay Switching Circuit
Image of Receptor lorawan: A project utilizing MKR WIFI 1010 in a practical application
This circuit consists of an Arduino MKR WiFi 1010 microcontroller connected to a 5V relay. The Arduino is programmed to receive LoRa wireless communication signals and toggle the relay based on the received data, which controls the connection between the relay's Common terminal and either the Normally Open or Normally Closed terminal. The relay's activation is dependent on the specific message received ('button pressed'), which is intended to switch a connected external load on or off.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino MKR WiFi 1010 LoRa-Enabled Pushbutton Message Sender
Image of Emisor LORAWAN: A project utilizing MKR WIFI 1010 in a practical application
This circuit features an Arduino MKR WiFi 1010 connected to a pushbutton. When the button is pressed, the Arduino detects the input and sends a 'button pressed' message using LoRa communication. The purpose of this circuit is to wirelessly transmit a signal upon a button press, potentially for remote control or notification purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino MKR WiFi 1010 IR Remote-Controlled LED
Image of last lab: A project utilizing MKR WIFI 1010 in a practical application
This circuit uses an Arduino MKR WiFi 1010 to control a white LED based on input from a VS1838B IR receiver. The Arduino reads signals from an IR remote and turns the LED on or off depending on the received command.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with MKR WIFI 1010

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of voltqge divider: A project utilizing MKR WIFI 1010 in a practical application
Arduino MKR WiFi 1010 Basic Power Supply with Voltage Divider
This circuit features an Arduino MKR WiFi 1010 powered by a 4xAA battery holder, with the battery's positive terminal connected to the Arduino's VIN pin and the negative terminal to GND. Two 100k Ohm resistors are connected in series between the Arduino's A0 analog input and VCC, with their midpoint also tied to GND, forming a voltage divider that could be used for sensing or reference voltage purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Receptor lorawan: A project utilizing MKR WIFI 1010 in a practical application
Arduino MKR WiFi 1010 Controlled Relay Switching Circuit
This circuit consists of an Arduino MKR WiFi 1010 microcontroller connected to a 5V relay. The Arduino is programmed to receive LoRa wireless communication signals and toggle the relay based on the received data, which controls the connection between the relay's Common terminal and either the Normally Open or Normally Closed terminal. The relay's activation is dependent on the specific message received ('button pressed'), which is intended to switch a connected external load on or off.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Emisor LORAWAN: A project utilizing MKR WIFI 1010 in a practical application
Arduino MKR WiFi 1010 LoRa-Enabled Pushbutton Message Sender
This circuit features an Arduino MKR WiFi 1010 connected to a pushbutton. When the button is pressed, the Arduino detects the input and sends a 'button pressed' message using LoRa communication. The purpose of this circuit is to wirelessly transmit a signal upon a button press, potentially for remote control or notification purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of last lab: A project utilizing MKR WIFI 1010 in a practical application
Arduino MKR WiFi 1010 IR Remote-Controlled LED
This circuit uses an Arduino MKR WiFi 1010 to control a white LED based on input from a VS1838B IR receiver. The Arduino reads signals from an IR remote and turns the LED on or off depending on the received command.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wireless sensor networks
  • Remote monitoring and control systems
  • Prototyping connected devices
  • Educational projects involving Wi-Fi communication

Technical Specifications

Key Technical Details

Parameter Specification
Microcontroller SAMD21 Cortex-M0+ 32-bit ARM
Operating Voltage 3.3V
Input Voltage (VIN) 5V to 6V
Digital I/O Pins 8 (of which 12 support PWM)
Analog Input Pins 7
Analog Output Pins 1 (DAC)
Flash Memory 256 KB
SRAM 32 KB
Clock Speed 48 MHz
Wi-Fi Module u-blox NINA-W102
Connectivity Wi-Fi 802.11 b/g/n, BLE
Battery Connector Yes (Li-Po, 3.7V, 1024mAh recommended)
Dimensions 61.5 mm x 25 mm
Weight 32 g

Pin Configuration and Descriptions

Pin Name Description
VIN Input voltage pin (5V to 6V) for powering the board
3.3V Regulated 3.3V output pin
GND Ground pin
Digital Pins 0-7 General-purpose digital I/O pins (PWM supported on some pins)
Analog Pins A0-A6 Analog input pins for reading sensor data
DAC (A0) Analog output pin for generating analog signals
I2C (SDA, SCL) Pins for I2C communication
SPI (MISO, MOSI, SCK) Pins for SPI communication
UART (TX, RX) Pins for serial communication
Li-Po Connector Connector for a 3.7V Li-Po battery
Reset (RST) Pin to reset the board

Usage Instructions

How to Use the MKR WIFI 1010 in a Circuit

  1. Powering the Board:

    • Use the USB port for development and programming.
    • For standalone operation, connect a 3.7V Li-Po battery to the battery connector or supply 5V to the VIN pin.
  2. Connecting to Wi-Fi:

    • The u-blox NINA-W102 module provides Wi-Fi connectivity. Use the Arduino IDE's WiFiNINA library to configure and manage Wi-Fi connections.
  3. Programming the Board:

    • Connect the board to your computer via USB.
    • Open the Arduino IDE, select "Arduino MKR WIFI 1010" from the board menu, and upload your code.
  4. Interfacing with Sensors and Modules:

    • Use the digital and analog pins to connect sensors, actuators, and other modules.
    • For I2C devices, connect to the SDA and SCL pins. For SPI devices, use the MISO, MOSI, and SCK pins.

Important Considerations and Best Practices

  • Voltage Levels: The MKR WIFI 1010 operates at 3.3V. Ensure that any connected components are compatible with this voltage level.
  • Battery Usage: When using a Li-Po battery, ensure it is within the recommended specifications (3.7V, 1024mAh).
  • Wi-Fi Antenna: Avoid placing the board in a metal enclosure or near sources of interference to ensure optimal Wi-Fi performance.
  • Library Compatibility: Use the WiFiNINA library for Wi-Fi functionality and ensure it is updated to the latest version.

Example Code: Connecting to Wi-Fi

#include <WiFiNINA.h>

// Replace with your network credentials
const char* ssid = "Your_SSID"; // Your Wi-Fi network name
const char* password = "Your_PASSWORD"; // Your Wi-Fi password

void setup() {
  Serial.begin(9600); // Initialize serial communication
  while (!Serial);    // Wait for the serial monitor to open

  Serial.print("Connecting to Wi-Fi...");
  WiFi.begin(ssid, password); // Start Wi-Fi connection

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000); // Wait for connection
    Serial.print(".");
  }

  Serial.println("\nConnected to Wi-Fi!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP()); // Print the board's IP address
}

void loop() {
  // Add your main code here
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not recognized by the Arduino IDE:

    • Ensure you have installed the latest Arduino SAMD Boards package in the Board Manager.
    • Check the USB cable and port for proper connection.
  2. Wi-Fi connection fails:

    • Verify the SSID and password are correct.
    • Ensure the Wi-Fi network is within range and not restricted by firewalls.
  3. The board resets unexpectedly:

    • Check the power supply. Ensure the Li-Po battery or VIN input provides sufficient voltage and current.
  4. Cannot upload code to the board:

    • Double-tap the reset button to put the board into bootloader mode, then try uploading again.

FAQs

  • Can I use the MKR WIFI 1010 with 5V sensors?
    No, the board operates at 3.3V. Use a level shifter to interface with 5V sensors.

  • What is the maximum range of the Wi-Fi module?
    The range depends on environmental factors but typically extends up to 100 meters in open spaces.

  • Can I use the board without a battery?
    Yes, the board can be powered via USB or the VIN pin without a battery.

  • Is the MKR WIFI 1010 compatible with Arduino shields?
    The board is not directly compatible with standard Arduino shields due to its smaller form factor. However, it can be used with MKR-compatible shields.