Arduino MKR1000 WIFI
Arduino MKR1000 is a powerful board that combines the functionality of the Zero and the Wi-Fi Shield. It is the ideal solution for makers wanting to design IoT projects with minimal previous experience in networking.
Overview
Arduino MKR1000 has been designed to offer a practical and cost effective solution for makers seeking to add Wi-Fi connectivity to their projects with minimal previous experience in networking. It is based on the Atmel ATSAMW25 SoC (System on Chip), that is part of the SmartConnect family of Atmel Wireless devices, specifically designed for IoT projects and devices.
The ATSAMW25 is composed of three main blocks:
- SAMD21 Cortex-M0+ 32bit low power ARM MCU
- WINC1500 low power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi
- ECC508 CryptoAuthentication
The ATSAMW25 includes also a single 1x1 stream PCB Antenna.
The design includes a Li-Po charging circuit that allows the Arduino/Genuino MKR1000 to run on battery power or external 5V, charging the Li-Po battery while running on external power. Switching from one source to the other is done automatically.A good 32 bit computational power similar to the Zero board, the usual rich set of I/O interfaces, low power Wi-Fi with a Cryptochip for secure communication, and the ease of use of the Arduino Software (IDE) for code development and programming. All these features make this board the preferred choice for the emerging IoT battery-powered projects in a compact form factor.The USB port can be used to supply power (5V) to the board.The Arduino MKR1000 is able to run with or without the Li-Po battery connected and has limited power consumption.
The MKR1000 Wifi module supports certificate SHA-256.
Warning: Unlike most Arduino & Genuino boards, the MKR1000 runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board. While output to 5V digital devices is possible, bidirectional communication with 5V devices needs proper level shifting.
You can find here your board warranty informations.
Getting Started
You can find in the Getting Started section all the information you need to configure your board, use the Arduino Software (IDE), and start tinker with coding and electronics. Full details and examples on how to use the WiFi interface are available in the WiFi101 Library reference page.
Need Help?
- On the Software on the Arduino Forum
- On Projects on the Arduino Forum
- On the Product itself through our Customer Support
Also available with Headers mounted: don't miss it!
Tech specs
Microcontroller | SAMD21 Cortex-M0+ 32bit low power ARM MCU |
Board Power Supply (USB/VIN) | 5V |
Supported Battery(*) | Li-Po single cell, 3.7V, 700mAh minimum |
Circuit Operating Voltage | 3.3V |
Digital I/O Pins | 8 |
PWM Pins | 12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 - or 18 -, A4 -or 19) |
UART | 1 |
SPI | 1 |
I2C | 1 |
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, A1 -or 16-, A2 - or 17) |
DC Current per I/O Pin | 7 mA |
Flash Memory | 256 KB |
SRAM | 32 KB |
EEPROM | no |
Clock Speed | 32.768 kHz (RTC), 48 MHz |
LED_BUILTIN | 6 |
Full-Speed USB Device and embedded Host | |
Length | 61.5 mm |
Width | 25 mm |
Weight | 32 gr. |
Conformities
Documentation
OSH: Schematics
The MKR1000 is open-source hardware! You can build your own board using the following files:
EAGLE FILES IN .ZIP SCHEMATICS IN .PDF FRITZING IN .FZPZ
Pinout Diagram
Download the full pinout diagram as PDF here.
Interactive Board Viewer
Li-Po batteries, Pins and board LEDs
Battery capacity
Li-Po batteries are charged up to 4,2V with a current that is usually half of the nominal capacity (C/2). For Arduino / Genuino MKR1000 we use a specialized chip that has a preset charging current of 350mAh. This means that the MINIMUM capacity of the Li-Po battery should be 700 mAh. Smaller cells will be damaged by this current and may overheat, develop internal gasses and explode, setting on fire the surroundings. We strongly recommend that you select a Li-Po battery of at least 700mAh capacity. A bigger cell will take more time to charge, but won't be harmed or overheated. The chip is programmed with 4 hours of charging time, then it goes into automatic sleep mode. This will limit the amount of charge to max 1400 mAh per charging round.
Battery connector
If you want to connect a battery to your MKR1000 be sure to search one with female 2 pin JST PHR2 Type connector.Polarity : looking at the board connector pins, polarity is Left = Positive, Right = GNDDownload here the Connector datasheet. On the MKR1000, connector is a Male 2pin JST PH Type.
Vin: This pin can be used to power the board with a regulated 5V source. If the power is fed through this pin, the USB power source is disconnected. This is the only way you can supply 5v (range is 5V to maximum 6V) to the board not using USB. This pin is an INPUT.
5V: This pin outputs 5V from the the board when powered from the USB connector or from the VIN pin of the board. It is unregulated and the voltage is taken directly from the inputs. When powered from battery it supplies around 3.7 V. As an OUTPUT, it should not be used as an input pin to power the board.
VCC
This pin outputs 3.3V through the on-board voltage regulator. This voltage is the same regardless the power source used (USB, Vin and Battery).
LED ON
This LED is connected to the 5V input from either USB, VIN or battery. This means that it lit up when power is from USB, VIN or when running on battery power. It is therefore normal to have the board properly running on battery power with the LED ON being lit.
CHARGE LED
The CHARGE LED on the board is driven by the charger chip that monitors the current drawn by the Li-Po battery while charging. Usually it will lit up when the board gets 5V from VIN or USB and the chip starts charging the Li-Po battery connected to the JST connector.There are several occasions where this LED will start to blink at a frequency of about 2Hz. This flashing is caused by the following conditions maintained for a long time (from 20 to 70 minutes):- No battery is connected to JST connector.- Overdischarged/damaged battery is connected. It can't be recharged.- A fully charged battery is put through another unnecessary charging cycle. This is done disconnecting and reconnecting either VIN or the battery itself while VIN is connected.
Onboard LED
On MKR1000 the onboard LED is connected to D6 and not D13 as on the other boards. Blink example or other sketcthes that uses pin 13 for onboard LED may need to be changed to work properly.
(*) Note : DO NOT CONNECT to the male JST connector present on the board anything else than a Li-Po battery whose characteristics are compliant with those indicated above. Please DO NOT POWER VIN with more than 5V.
Learn more
Get Inspired
FAQs
Q: I plugged the board to my PC / MAC but I cannot see the serial port listed on the IDE, I cannot upload sketch to the board!
A: The first thing to try is manually put the CPU into bootloader mode, this is accomplished by pressing quickly twice the reset button (you need a pencil to actually push the button).
Another try is to change the USB cable: some micro-USB cables are "power only", you'll see the board powered but no data connection to the PC.
Q: I plugged the board, I can see the serial port but I cannot upload sketch
A: If still on, remove the conductive foam that protects the pins.
Q:What if I have issues with TLS/SSL connections?
A: you can upload a custom SSL certificate by using the firmware updater. See the full guide
Q: What's the pin number of the onboard LED? Pin 13 seems to not work...
A: The LED is connected to pin 6, but you can use the LED_BUILTIN constant instead of declaring the pin number.
Q: What does the CHRG LED blinking indicate?
A: Indicates that the board is charging the LiPo battery connected to the white JST connector. Please note that the charger use a constant current of 350mA, this means that you must use a LiPo battery with a minimum capacity of 700mAh otherwise you risk unpleasant side-effects like flames and/or explosions.
Q: After some time the Charge LED starts blinking even if no battery is attached to the JST connector
A: The CHARGE LED on the board is driven by the charger chip. This LED starts to blink at a frequency of about 2Hz (slow blink) if a defective or no battery is connected to the JST connector.
Q: I see that A0 is marked as DAC0. There is a DAC on that pin? is usable?
A: Yes, there is a DAC and it's usable, you can control the pin with analogWrite(..).
Q: Which is the VIN range voltage value?
A: VIN Nominal voltage value is 5V, range is from 5V to 6V (6V is the Maximum)
Q: Which is the polarity of the battery?
A: Looking at the connector pins: Left = Positive, Right = GND
Q: What Vin, 5V and VCC means?
A: Vin.
This pin can be used to power the board with a regulated 5V source. If the power is fed through this pin, the USB power source is disconnected. This is the only way you can supply 5v (range is 5V to maximum 6V) to the board not using USB. This pin is an INPUT.
5V.
This pin outputs 5V from the board when powered from the USB connector or from the VIN pin of the board. It is unregulated and the voltage is taken directly from the inputs. When powered from the battery it supplies around 3.7 V. As an OUTPUT, it should not be used as an input pin to power the board.
VCC.
This pin outputs 3.3V through the onboard voltage regulator. This voltage is the same regardless the power source used (USB, Vin and Battery).