Arduino M0

Hardware

Platform Atmel SAM: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

Microcontroller

SAMD21G18A

Frequency

48MHz

Flash

256KB

RAM

32KB

Vendor

Arduino

Configuration

Please use mzeroUSB ID for board option in “platformio.ini” (Project Configuration File):

[env:mzeroUSB]
platform = atmelsam
board = mzeroUSB

You can override default Arduino M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mzeroUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

[env:mzeroUSB]
platform = atmelsam
board = mzeroUSB

; change microcontroller
board_build.mcu = samd21g18a

; change MCU frequency
board_build.f_cpu = 48000000L

Uploading

Arduino M0 supports the next uploading protocols:

  • atmel-ice

  • blackmagic

  • jlink

  • stk500v2

Default protocol is stk500v2

You can change upload protocol using upload_protocol option:

[env:mzeroUSB]
platform = atmelsam
board = mzeroUSB

upload_protocol = stk500v2

Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Arduino M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.

Compatible Tools

On-board

Default

Atmel-ICE

Yes

Black Magic Probe

J-LINK

Frameworks

Name

Description

Arduino

Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.