Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data)
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.
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.
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.
- On the Software on the Arduino Forum
- On Projects on the Arduino Forum
- On the Product itself through our Customer Support
|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)|
|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|
|Clock Speed||32.768 kHz (RTC), 48 MHz|
|Full-Speed USB Device and embedded Host|
The MKR ZERO is open-source hardware! You can build your own board using the following files:EAGLE FILES IN .ZIP SCHEMATICS IN .PDF
Download the full pinout diagram as PDF here.
Interactive Board Viewer
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).