Skip to content
Free shipping on orders over 50€ to Austria, France, Germany, Italy, and Spain!
Free shipping on orders over 50€ to Austria, France, Germany, Italy, and Spain!

    Your cart is empty

    Time to spark some excitement 🛒⚡

Taxes and shipping calculated at checkout
Subtotal €0,00

Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data)

SKU ABX00012 Barcode 7630049200470 Show more
Original price €0
Original price €31,56 - Original price €31,56
Original price
Current price €31,56
€31,56 - €31,56
Current price €31,56
VAT included

MKR ZERO has an on-board SD connector with dedicated SPI interfaces (SPI1) that allows you to play with MUSIC files with no extra hardware!

Watch out music makers, we’ve got some news for you! We have released two libraries for your enjoyment:

  • Arduino Sound library – a simple way to play and analyze audio data using Arduino on SAM D21-based boards.
  • I2S library – to use the I2S protocol on SAMD21-based boards. For those who don’t know, I2S (Inter-IC Sound) is an electrical serial bus interface standard for connecting digital audio devices.

Overview

The MKR ZERO brings you the power of a Zero in the smaller format established by the MKR form factor. The MKR ZERO board acts as a great educational tool for learning about 32-bit application development. It has an on-board SD connector with dedicated SPI interfaces (SPI1) that allows you to play with MUSIC files with no extra hardware!  The board is powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM® Cortex® M0+ core.

Warning: Unlike most Arduino & Genuino boards, the MKRZero 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.

The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it by a LiPo battery. The battery voltage can also be monitored since a connection between the battery and the analog converter of the board exists.

You can find here your board warranty informations. 

Getting Started

In the Getting Started section, you can find all the information you need to configure your board, use the Arduino Software (IDE), and start to tinker with coding and electronics. 

Need Help?

 


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
DC Current for 3.3V Pin 600mA
DC Current for 5V Pin 600mA
Circuit Operating Voltage 3.3V
Digital I/O Pins 22
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 10 (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
Flash Memory for Bootloader 8 KB
SRAM 32 KB
EEPROM no
Clock Speed 32.768 kHz (RTC), 48 MHz
LED_BUILTIN 32
Full-Speed USB Device and embedded Host

Conformities

The following Declarations of Conformities have been granted for this board:
CE
UKCA
REACH
For any further information about our certifications please visit docs.arduino.cc/certifications

Resources for Safety and Products

Manufacturer Information

The production information includes the address and related details of the product manufacturer.

Arduino S.r.l.
Via Andrea Appiani, 25
Monza, MB, IT, 20900
https://www.arduino.cc/ 

Responsible Person in the EU

An EU-based economic operator who ensures the product's compliance with the required regulations.

Arduino S.r.l.
Via Andrea Appiani, 25
Monza, MB, IT, 20900
Phone: +39 0113157477
Email: support@arduino.cc

 

Documentation

OSH: Schematics

The MKR ZERO 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, SD and board LEDs

On-board SD 

The onboard SD connector allows you to play with files without adding any extra hardware to the board. Furthermore, SD card is driven by a dedicated SPI interface (SPI1) and so any of the pins of the header is busy during SD usage. The SD library automatically recognizes the MKR ZERO and so any modification to the sketch is needed to use it apart from choosing the right SS pin (SDCARD_SS_PIN). 

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 MKR ZERO 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 MKRZero 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 = GND  Connector datasheet  On the MKRZero, connector is a Male 2pin JST PH Type 

Additional I2C Port 

The MKRZero has an additional connector meant as an extension of the I2C bus. It's a small form factor 5-pin connector with 1.0mm pitch. The mechanical details of the connector can be found in the connector datasheet.  The I2C port in addition to the SDA and SCL signals includes the GND and +5V power rails and a digital pin that might be useful when designing an expansion.  The pinout is shown in the following image: 

The connector we suggest for this additional I2C Port is the SHR-05V-S-B, also in the picture.

 

 

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. 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 or VIN. It is not connected to the battery power. This means that it lits up when power is from USB or VIN, but stays off when the board is running on battery power. This maximizes the usage of the energy stored in the battery. It is therefore normal to have the board properly running on battery power without 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 MKR ZERO the onboard LED is connected to a dedicated pin (32) and not to 13 as on other boards. It is so suggested to use the LED_BUILTIN define . 

(*) 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.

Get Inspired

PROJECT HUB
Arduino Bluetooth Tank
Arduino Bluetooth Tank
Project Tutorial by mastoras_inc

I'm excited to share the details of my BT Arduino Tank project, which incorporates some impressive 3D-printed components. While the main chassis of the tank was not 3D-printed, I utilized this technology to create two crucial parts: the enclosure for the motor driver and the compartment housing the remaining electronics. Additionally, I 3D-printed a cannon for an added touch of customization. The enclosure for the motor driver served as a protective housing, ensuring that the L298N motor driver module was securely mounted and shielded from external elements. By designing and 3D-printing this part, I could precisely fit it to the tank's specifications, providing a neat and organized arrangement of the electronics. In the same vein, the compartment for the remaining electronics, such as the Arduino Nano Every and the HC-05 Bluetooth module, was also 3D-printed. This enclosure offered a clean and organized solution for housing these components, safeguarding them while maintaining easy access for maintenance or modifications. Lastly, to enhance the tank's appearance and add a touch of personalization, I designed and 3D-printed a cannon. This custom-printed cannon perfectly complemented the overall design, making the tank even more visually appealing. By strategically incorporating 3D printing into specific parts of the project, I achieved a balance between functionality and customization. The precision and versatility of 3D printing allowed me to create tailored enclosures and a unique cannon, elevating the overall aesthetic and practicality of my BT Arduino Tank project.

read more
BLOG
This Arduino Nano Every-controlled machine automatically mixes acrylic paint of any color
This Arduino Nano Every-controlled machine automatically mixes acrylic paint of any color
March 25, 2025

When you want to paint the walls in your bedroom that very specific shade of Misty Irish Green, all you have to do is head to your local hardware store and have them scan the corresponding card. The paint-mixing machine will then add the pigment to a white base and, a few minutes later, you have that exact color. So, shouldn’t you be able to do the same thing with acrylic paint for hobby purposes? Now you can, thanks to the “Color By Code” machine designed by Caltech students Frida Moreno and Asmat Kaur Taunque. Moreno and Taunque built Color By Code for a class project and it is, essentially, a hobby version of those hardware store paint-mixers intended for acrylic paint. As is the standard across many industries that deal with pigments, paint, and printing, this works using CMYK (cyan, magenta, yellow, key) color mixing. Here, the key is black and the machine takes an input color value for each component, then dispenses the paint in those ratios to achieve the desired hue. That all happens under the control of an Arduino Nano Every board. That operates peristaltic pumps, via L298N motor drivers, that dispense each color. Afterwards, a flushing procedure clears the lines before the next mix. The pumps fit into a 3D-printed stand, with the hoses dropping below to a waiting container. At this time, the user must set the color values through serial commands. But the team hopes to create a Bluetooth app in the future. They also plan to add a weight sensor, which would improve the machine’s accuracy.

read more

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's the pin number of the onboard LED? Pin 13 seems to not work...
A: The LED is connected to a dedicated pin. 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: How can I use the on-board SD?
A: The on-board is connected to a dedicated SPI interface. The SD library deals with it, so you use the library as usual. Use SD.begin() without specify any pin number, the number will fallback to the right one.

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).

Inspired by your shopping trends

  • Arduino MKR ETH Shield

    Are you developing a project for an environment where wireless connections are unavailable or would be inefficient? The MKR ETH shield allows to have a wired Ethernet connection between your MKR ...

  • Arduino Zero

    The Zero is a simple and powerful 32-bit extension of the platform established by the UNO. The Zero board expands the family by providing increased performance, enabling a variety of project opport...

  • MKR Proto Large Shield

    The MKR Proto Large Shield fits onto your MKR board using its provided female/male headers and enables you to fix it wherever you want with the mounting holes. This shield features a larger prototy...

  • Arduino Micro without headers

    The Micro is a microcontroller board based on the ATmega32U4 (datasheet), developed in conjunction with Adafruit. It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 a...

Compare products

0 of 3 items selected

Select first item to compare

Select second item to compare

Select third item to compare

Compare