All about arduino m0 pro

Arduino M0 Pro

The Arduino M0 Pro —initially called Zero Pro— board is a major revision of the Arduino line as it is the first Arduino board to feature a debugger.

The board is designed around the 32-bit ARM Cortex-M0+ SAMD21 from Atmel and built in Italy. The EDBG chip from Atmel provides the debugging capabilities.

The SAMD21 MCU features 256 kB of Flash and 32 kB of RAM and runs at 48 MHz. This is a huge improvement over the 32 kB of Flash, 2.5 kB of RAM and 16 MHz of the Arduino Uno.

Although the connectors offer compatibility with the large collection of shields, be careful and check the operating voltage before. The Arduino Pro Zero operates at 3.3V only.

For more information on the differences with the Arduino.CC Zero, please go to the review of the Arduino.CC Zero.


As Processing-based Wiring-derived, it is platform-agnostic and runs on Windows, Mac OS X or Linux.

Download the IDE Arduino 1.7.0 as other versions don’t support the Arduino Zero Pro board.

Looking for more features, I designed embedXcode, a template I could use with Xcode.

The simple board can be extended with shields. There are shields for any usage. Building one’s own shield is even possible!

The libraries I’ve developed for the Arduino Uno run fine on the new board. Only minor adjustments are needed because the Arduino Zero Pro runs 3 times faster!


This is the most noticeable change: the Arduino M0 Pro board is  the first Arduino board to feature a debugger.

The EDBG chip provides debugging with the standard tools like GDB as client and OpenOCD as server.

Debugging only works when the Programming Port is connected. A dedicated DEBUG LED blinks when the debugger works.


  • On the left, the OpenOCD server connects to the board.
  • On the right, the GDB client controls the execution, displays and modifies variables, lists the call stack.

Those two windows were obtained with embedXcode.

Contrary to the boot-loader on the Arduino.CC Zero, the Arduino.ORG M0 Pro supports both CMSIS-DAP SWD and CMSIS-DAP JTAG.



Contrary to its similar but incompatible Arduino.CC Zero, debugging does work on the Arduino.ORG with the standard OpenOCD and GDB tools.

arduino m0 specs

Microcontroller ATSAMD21G18, 48pins LQFP
Architecture ARM Cortex-M0+
Operating Voltage 3.3V
Flash memory 256 KB
Clock Speed 48 MHz
Analog I/O Pins 6 + 1 DAC
DC Current per I/O Pins 7 mA (I/O Pins)


Input Voltage 5-15 V
Digital I/O Pins 20
PWM Output 12
Power Consumption 44 mA
PCB Size 53.34 x 68.58 mm
Weight 22g
Product Code A000111

arduino m0 datasheet


arduino m0 pinout

Arduino-M0-PRO-pinout_arduino m0 schematic

arduino m0 schematic

arduino m0 pro schematic

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top