SAMD21 M0

SAMD21 M0

Nano V3 Ethernet Shield - ENC28J60

Nano V3 Ethernet Shield - ENC28J60

UNO+WiFi R3 ATmega328P+ESP8266, 32Mb flash, USB-TTL CH340G, Micro-USB

UNO+WiFi R3 ATmega328P+ESP8266, 32Mb flash, USB-TTL CH340G, Micro-USB

SAMD21 M0

The RobotDyn SAMD21 M0 represents a powerful, 32-bit extension of the Arduino UNO platform. The board is powered by Atmel’s SAMD21 MCU, featuring a 32-bit ARM Cortex® M0 core.

$13.49
Availability: In stock
SKU
6970622930204
  • Buy 5 for $12.85 each and save 5%
  • Buy 15 for $12.21 each and save 9%
  • Buy 35 for $11.57 each and save 14%

The RobotDyn SAMD21 M0 represents a powerful, 32-bit extension of the Arduino UNO platform. The board is powered by Atmel’s SAMD21 MCU, featuring a 32-bit ARM Cortex® M0 core.
Compatible with Arduino Zero and Arduino M0.
The SAMD21 M0 board expands the family by providing increased performance, enabling a variety of project opportunities for devices, and acts as a great educational tool for learning about 32-bit application development. 
The Zero applications span from smart IoT devices, wearable technology, high-tech automation, to crazy robotics. The board is powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core. One of its most important features 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 and bootloader programming.

Write Your Own Review
You're reviewing:SAMD21 M0
Your Rating
Documents for download:

Schematic: (PDF)
PinOut Diagram: (PDF) - (JPG)
Mechanic Diagram: (PDF) - (JPG)

Use your SAMD21 M0/M0-Mini on the Arduino IDE

This simple procedure is done selecting Tools menu, then Boards and last Boards Manager, as documented in the Arduino IDE Boards Manager page. 

Arduino IDE Board Manager SAMD21 M0/M0-Mini on the Arduino IDE

Installing Drivers for the SAMD21 M0

OSX 
No driver installation is necessary on OSX. Depending on the version of the OS you're running, you may get a dialog box asking you if you wish to open the “Network Preferences”. Click the "Network Preferences..." button, then click "Apply". The M0will show up as “Not Configured”, but it is still working. You can quit the System Preferences.

Windows (tested on XP, 7, Vista and 10) 
Connect the M0 to your computer with a USB cable via the USB Native port. Windows should initiate its automatic driver installation process once the board is plugged in. When the process is complete, you should find in the Device Manager a port listing similar to “Arduino M0 Native Port (COM4)” If you have multiple COM devices, the M0 will probably be the COM port with the largest number. 
Linux 
No driver installation is necessary for Linux.

Open your first sketch

Open the LED blink example sketch: File > Examples >01.Basics > Blink.

Select your board type and port

You'll need to select the entry in the Tools > Board menu that corresponds to your board.

Arduino IDE Select board and port SAMD21 M0/M0-Mini on the Arduino IDE

Select the serial device of the board from the Tools | Serial Port menu. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your board and re-open the menu; the entry that disappears should be the SAMD21 board. Reconnect the board and select that serial port.

Upload the sketch to SAMD21 M0

Now, simply click the "Upload" button in the environment. Wait a few seconds - you should see the RX and TX LEDs on the board flashing. If the upload is successful, the message "Done uploading." will appear in the status bar.


A few seconds after the upload finishes, you should see the on-board LED start to blink (in orange). If it does, congratulations! You've gotten your SAMD21 M0 board up-and-running.

NOTE
The microcontroller on the SAMD21 M0 runs at 3.3V, which means that you must never apply more than 3.3V to its inputs or outputs. Care must be taken when connecting sensors and actuators to assure that this is never exceeded. Connecting higher voltages, like the 5V commonly used with the other boards, will damage the SAMD21 M0.

Serial (NATIVE) ports on the SAMD21 M0

The M0 has one USB port available. The Native USB port (which supports CDC serial communication using the SerialUSBobject) is connected directly to the SAMD21 MCU.

The USB connector of the Native port is directly connected to the USB host pins of the SAMD21. Using the Native port enables you to use the M0 as a client USB peripheral (acting as a mouse or a keyboard connected to the computer) or as a USB host device so that devices can be connected to the M0 (like a mouse, keyboard, or an Android phone). This port can also be used as a virtual serial port using the "SerialUSB" object in the Arduino programming language.

Opening and closing the Native port at the baud rate of 1200bps triggers a “soft erase” procedure: the flash memory is erased and the board is restarted with the bootloader. This procedure is managed by the MCU, so if the MCU is interrupted for any reason, it is likely that the soft erase procedure would fail.

Opening and closing the Native port at a baud rate other than 1200bps will not reset the SAMD21. To use the serial monitor, and see what your sketch does from the beginning, you'll need to add few lines of code inside the setup(). This will ensure the SAMD21 will wait for the SerialUSB port to open before executing the sketch:

while (!Serial) ;

Pressing the Reset button on the SAMD21 M0 causes the SAMD21 MCU to reset as well as resetting the USB communication. This interruption means that if the serial monitor is open, it's necessary to close and reopen it to restart the communication.


ADC and PWM resolutions

The SAMD21 M0 has the ability to change its analog read and write resolutions (defaults to 10-bits and 8-bits, respectively). It can support up to 12-bit ADC/PWM and 10-bit DAC resolutions. See the analog write a resolution and analog read resolution pages for information.