Arduino M0 Pro is a simple and powerful 32-bit extension of the platform established by Arduino UNO. Arduino M0 Pro enables creative individuals to realize truly innovative ideas for smart IoT devices, wearable technology, high-tech automation, crazy robotics, and projects not yet imagined. The board is powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core.
Arduino M0 Pro board expands the Arduino family by providing increased performance to fuel the creativity of the maker community. The flexible feature set enables endless project opportunities for devices and acts as a great educational tool for learning about 32-bit application development. One of its most important feature is Atmel’s Embedded Debugger (EDBG), which provides a full debug interface without the need for additional hardware, significantly increasing the ease-of-use for software debugging. EDBG also supports a virtual COM port that can be used for device programming and traditional Arduino boot loader functionality.
The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it with a AC-to-DC adapter or battery to get started. Arduino M0 Pro is compatible with all Arduino shields that work at 3.3V and are compliant with the 1.0 Arduino pinout.
Power
Arduino M0 Pro can be powered via the USB connector or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (such as a wall-wart) or battery, and can be connected using a 2.1mm center-positive plug connected to the board's power jack, or directly to the GND and VIN pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
Memory
The SAMD21 has 256 KB Flash Memory. It also has 32 KB of SRAM and up to 16 KB of EEPROM by emulation.
Input and Output
Each of the 20 general purpose I/O pins on the Zero can be used for digital input or digital output using pinMode(), digitalWrite(), and digitalRead() functions, Pins that can be used for PWM output using analogWrite() function are: 3, 4, 5, 6, 8, 9, 10, 11, 12, 13.
All pins operate at 3.3 volts. Each pin can source or sink a maximum of 7 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:
There are a couple of other pins on the board:
Programming
Uploading sketches to the SAMD21 is different from the AVR microcontrollers found in other Arduino boards.
Either USB port can be used for programming the board, although using the Programming port is recommended due to the way the erasing of the chip is handled:
Programming port: To use this port, select "Arduino M0 Pro (Programming Port)" as your board in the Arduino IDE. Connect the Zero's programming port (the one closest to the DC power jack) to your computer. The programming port uses the EDBG as a USB-to-JTAG chip.
Native port: To use this port, select "Arduino M0 Pro (Native USB Port)" as your board in the Arduino IDE. The Native USB port is connected directly to the SAMD21. Connect the M0 Pro's Native USB port (the one closest to the reset button) to your computer.
Unlike other Arduino boards which use avrdude for uploading, the Zero relies on bossac.
Arduino Web Site: https://www.arduino.cc/en/Main/ArduinoBoardZero