SAMD21/RP2040 Arduino Boards – Which 32-bit Microcontrollers should you use?
If you looking for a powerful microcontroller as an alternative to either ATmega328 or ATmega32u4 that most Arduino boards possess right now, the SAMD21 Arduino boards will definitely be a good option to consider. This guide will cover:
- What is SAMD21?
- Why use SAMD21?
- Which SAMD21 Arduino Board to use?
With 32-bit microcontroller providing better performance and larger storage space to meet the challenges of increasingly complex embedded system design, it is helpful to have a basic idea about the most popular 32-bit MCUs.
Before we move on to look at which SAMD21 Arduino boards should you use, let us find out more about the SAMD21 and why should you use it:
What is the SAMD21
The Atmel’s ATSAMD21 is a low-power, high-performance Microchip’s ARM® Cortex®-M0+ based flash microcontroller. Here are its features:
- 256KB of flash and 32KB of SRAM
- 48MHz Operating Frequency
- Full Speed USB device and embedded host
- Support for up to 120 touch channels
- 1.62V to 3.63V power supply
- Six serial communication modules (SERCOM) configurable as UART/USART, SPI or I2C, three 16-bit timer/counters, 32-bit Real-Time Clock and calendar, 20 PWM channels, one 14-channel 12-bit ADC, one 10-bit DAC
As you can see this is a very powerful microcontroller compared to the older 8-bit/16MHz Arduino microcontrollers.
Not convinced? Here are more reasons you should use the SAMD21:
Why use the SAMD21?
Large Memory and Fast Operating Speed
Restricted by storage limits on your Arduino UNO? Or feel that other microcontrollers operating speed are just too slow? Well the SAMD21 will solve all of your issues.
The SAMD21 256KB of flash means you would not be limited to only 32KB of space where you have to fit all of your compiled sketch into. In addition, extra flash storage means you can store large, user-defined blocks of data as well into your microcontroller. Not to mention it features 32KB SRAM where you do not have to worry about dynamic memory stack overflows anymore.
Furthermore, with SAMD21 max CPU speed of 48MHz, operating speeds will not be a worry anymore.
Sensitive Voltage Measurements
The SAMD21 features 14 ADC input pins with a 12-bit resolution compared to 10-bit on the ATmega328p. The increased resolution means that every bit between 0 and 4095 represents 0.806mV when the processor is powered at 3.3V which equals a more sensitive voltage measurement.
Integrated USB Controller
The ATSMAD21 is equipped with an integrated USB controller which can be used as either a USB device or host.
As a USB device, it is able to emulate a keyboard, mouse or joystick,etc. It is able configure itself as a USB communication device class where you can connect it with a computer where you can talk to it as a serial port.
On the other hand, as a USB host, the ATSAMD21 can connect a mouse or keyboard or also save data to a USB flash drive.
RTC (Real time clock) onboard
Need precise time-keeping for your digital clock or PID loop? Even though the ATmega328 has an RTC on board, it is required for timekeeping. The SAMD21 also has an RTC that is powered separately by an on-board crystal while it still clocks the processor at 48MHz.
Configurable Serial Interfaces
This is one of the most unique features that make the SAMD so special. It is as has a set of 6 configurable serial interfaces that can be turned into either a UART, I2C master, I2C slave, SPI master or SPI slave.
Due to this feature, it provides you with a lot of flexibility as the ports can be multiplexed which gives you a choice of which task each pin is assigned.
Which SAMD21 Arduino Board to use?
So now you know what the SAMD21 is and its capabilities, which SAMD21 Arduino boards should you use?
Well, we have compiled a few of the best SAMD21 Arduino boards currently and have categorized them based on their individual strengths. Here is our first board:
Smallest: Seeeduino XIAO —— Arduino Microcontroller – SAMD21 Cortex M0+ with Free Course
Have space constraints in your Arduino projects? This small-sized SAMD21 Seeeduino XIAO would fit almost everywhere and anywhere! Perfect for wearable devices and small projects!
Standing at only 23.5 x 17.5, this board is as small as your thumb. The Seeeduino XIAO is the smallest Arduino compatible board in Seeeduino Family. It is an Arduino microcontroller that is embedded with the SAMD21 microchip with rich interfaces as well allowing it to be capable of being a tiny Dev. Board as well.
Apart from the strong CPU, Seeeduino XIAO is excellent in many other functions. Despite being this small size, it has 14 GPIO PINs, which can be used for 11 analog PINs, 11 digital PINs, 1 I2C interface, 1 UART interface, and 1 SPI interface. Some PINs have various functions, A1/D1 to A10/D10 Pins have PWM functions and Pin A0/D0 has a function of DAC which means you can get true analog signals not PWM signals when you define it as an analog pin, that’s why 14 GPIO PINs can realize more I/O PINs and interfaces.
The Seeeduino XIAO supports the USB Type-C interface which can supply power and download code. In addition, there are power pads at the back of the XIAO which support battery and makes designing wearable devices easy and simple. Other than the power LED, we also added a user LED on board for better coding experience.
Usually a Dev. Board as small as this size will use the chip’s inner crystal oscillator for time fixing, in order to make the clock more accurate, Seeeduino XIAO layouts an extra 32.768KHz to make the clock more stable.
And of course, the Seeeduino XIAO is perfectly compatible with Arduino IDE which allows you to easily develop small projects with the help of the large and comprehensive Arduino library.
The best news is, you can get all features packed on a tiny board this just for only $4.90! Wow!
Tech Specs
Specs | Seeeduino XIAO |
Microcontroller | ATSAMD21G18, 32-Bit ARM Cortex M0+ |
Operating Voltage | 3.3V |
Digital I/O Pins | 11 |
PWM Pins | 10 |
Analog I/O Pins | 11 |
Flash Memory | 256KB |
SRAM | 32KB |
Size | 23.5mm x 17.5mm |
Price | $4.90 |
Best for Beginners – Arduino Zero
Firstly, if you are looking a SAMD21 Arduino board to get started with, the Arduino Zero would be the best choice.
Established by the Uno, the Arduino Zero is a simple and powerful 32-bit extension of the platform. With it, you can create various projects like smart IoT devices, wearables, home automation, robotics, and many more. Powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core this board is great if you are looking for a board to learn about 32-bit application development.
With the Atmel Embedded Debugger (EDBG), the Arduino Zero provides you a full debug interface without any need for additional hardware making things easier.
However, unlike most Arduino boards, the Zero operating voltage is 3.3V where voltage higher than that, could damage the board. The board also has a slightly high price tag at $42.90.
Tech Specs
Specs | Arduino Zero |
Microcontroller | ATSAMD21G18, 32-Bit ARM Cortex M0+ |
Operating Voltage | 3.3V |
Digital I/O Pins | 20 |
PWM Pins | 18 |
Analog I/O Pins | 7 |
Flash Memory | 256KB |
SRAM | 32KB |
Size | 68mm x 53mm |
Price | $42.90 |
Cost-Effective Board: Seeeduino Cortex-M0+
Want a cheaper SAMD21 Arduino board? Want an Arduino Zero board that runs at 5V to connect your 5V shields? If your answer is yes for both of the questions, this Seeeduino board is for you!
At only $9.90, you can get yourself a SAMD21 board! The Seeeduino M0+ is a brand new product line that is fully compatible with Arduino Zero and this is the Seeeduino Cortex-M0+.
The Seeeduino Cortex-M0+ has the same header pinout as the Seeeduino Lotus Cortex-M0+, including 14 digital I/O (10 PWM output) and 6 analog I/O. In the meantime, it provides 3 on-board Grove connectors: two I2C and 1 UART. If you want more grove ports, you can use a Base Shield V2 to work with this board.
What is Grove?
You may have realized that I mentioned that this board has 3 onboard Grove connectors, but what is that?
Well, Grove is Seeed’s very own modular, standardized connector prototyping system. Grove takes a building block approach to assemble electronics. Compared to the jumper or solder-based system, it is easier to connect, experiment, and build and simplifies the learning system. With the Grove system, building your SAMD21 project is now easier!
Back to the board…
The Seeeduino Cortex-M0+ is also the first Seeeduino development board with a USB type C interface. USB Type C is the future trend: the plugs are reversible, higher data transfer rate, and more scalable functions. With this interface, you can use type C to supply power and transmit data or use the 7~15V DC jack to supply power for this board.
If you are looking for a cost-effective and beginner-friendly SAMD21 board, the Seeeduino Cortex-M0+ is definitely a good choice.
Tech Specs
Specs | Seeeduino Cortex-M0+ |
Microcontroller | ATSAMD21G18, 32-Bit ARM Cortex M0+ |
Operating Voltage | 5V |
Digital I/O Pins | 14 |
PWM Pins | 10 |
Analog I/O Pins | 6 |
Flash Memory | 256KB |
SRAM | 32KB |
Size | 68mm x 53mm |
Price | $9.90 |
Plug and Play: Seeeduino Lotus Cortex-M0+
Looking for a board where you can conveniently plug and get started with no jumper wires or soldering? If so, this Seeeduino Lotus Cortex-M0+ will be perfect for you!
Seeeduino Lotus Cortex-M0+ is a SAMD21 Microcontroller development board which features 14 digital input/outputs (10 of which support PWM) and 6 analog input/outputs, 3 Serial Communication Interface, a micro USB connector, a JST2.0 Li-Po connector, an ICSP header, 12 Grove connectors, a reset button. 12 Grove connectors! With it, you can easily plug and play with various modules in a matter of seconds!
The Seeeduino Lotus Cortex-M0+ is an upgraded version of Seeeduino Lotus V1.1, where it is replaced with a more powerful chip, optimized circuit layout with the power supply being more stable. Because this chip supports direct USB level output, there is no need to use a serial port to USB chip, like CP2102N. Therefore, you save on costs, additional hardware and also free up one more hardware serial port for yourself!
Similarly to the Arduino Zero, this board operating voltage is at 3.3V where if any input is more than 3.3V, it may damage the board.
Tech Specs
Specs | Seeeduino Lotus Cortex-M0+ |
Microcontroller | ATSAMD21G18, 32-Bit ARM Cortex M0+ |
Operating Voltage | 5V |
Digital I/O Pins | 14 |
PWM Pins | 10 |
Analog I/O Pins | 6 |
Flash Memory | 256KB |
SRAM | 32KB |
Size | 68mm x 53mm |
Price | $9.90 |
What is RP2040?
The RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Foundation. The RP2040 features a dual-core Arm Cortex-M0+ processor clocked at 133MHz with 264KB internal SRAM and 2MB internal flash storage and can be programmed in both C/C++ and the beginner-friendly MicroPython. It is no wonder that Raspberry Pi official concisely quotes RP2040 as high performance and low dynamic power consumption.
- Low power consumption
- Larger RAM and Flash memory
- High-Frequency clock of 133 MHz
- High level programming languages supported
Overview of RP2040-based Boards
Seeed has published a series of new, cost-effective, and versatile microcontrollers built with RP2040 that supports MicroPython and C/C++. Please check our special campaign below.
XIAO RP2040 —— a Tiny Thumb Size RP2040-based board.
XIAO RP2040 is a microcontroller using the Raspberry RP2040 chip. It runs at up to 133MHz, is built with rich interfaces in a tiny thumb size, and fully supports Ardunio, MicroPython, and CircuitPython. The onboard interfaces are enough for developing multiple applications.
Product Features
- Powerful MCU: Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
- Rich on-chip resources: 264KB of SRAM, and 2MB of onboard Flash memory
- Flexible compatibility: Support Micropython/Arduino/CircuitPython
- Easy project operation: Breadboard-friendly & SMD design, no components on the back
- Small size: As small as a thumb(20×17.5mm) for wearable devices and small projects
- Multiple interfaces: 11 digital pins, 4 analog pins, 11 PWM Pins,1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface
- Broad compatibility: Pins compatible with Seeeduino XIAO and supports Seeeduino XIAO’s Expansion board
Comparison between SAMD21 VS RP2040
SAMD21 | RP2040 | |
Processor | ARM® Cortex®-M0+ CPU running at up to 48 MHz | Dual ARM Cortex-M0+ @ 133MHz |
Memories | • 32/64/128/256 KB in-system self-programmable Flash • 4/8/16/32 KB SRAM Memory | • 264kB on-chip SRAM in six independent banks • Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus |
ADC | 12-bit resolution and capable of converting up to 350ksps | 3 available × 12-bit |
I/O | Up to 52 programmable I/O pins | 30 GPIO pins, 4 of which can be used as analogue inputs |
Operating Power | 1.62V – 3.63V | 3.3V |
Low Power | • Idle and Stand-by Sleep modes • SleepWalking peripherals | Low power sleep-mode entry using Wait For Interrupt (WFI), Wait For Event (WFE) instructions, or the return from interrupt sleep-on-exit feature |
And as we know, XIAO RP2040 is powered by RP2040 while Seeeduino XIAO by SAMD21. Here is a table to show more difference between SAMD21 and RP2040.
Item | XIAO RP2040 | Seeeduino XIAO |
Processor | Dual-core ARM® Cortex® M0+ @133MHz | ARM® Cortex®-M0+ @48MHz |
Flash | 2MB | 256KB |
Onboard Button | Reset Button/ Boot Button | No Button(reset pad) |
RGB LED | Full Color RGB LED | None |
Analog Pin | 4 | 11 |
PWM Pin | 11 | 10 |
DAC Output | None | 1 |
Programming language | ArduinoMicroPythonCircuitPython | Arduino |
Summary
No matter if you are looking for an easy to use board, small board, cost-effective board, we have them all here at Seeed! What do think of these boards and recommendations?
Let us know in the comments down below!
Now that you’ve got your SAMD21 Arduino board, check out our guide on how to get started with it!
What does Seeed have in the way of SAMD51 boards? the 51 has the ability to assign UART RX and TX to the same pin, and can invert tx and/or rx.
Hi David,
Unfortunately, Seeed does not offer SAMD51 boards just yet.
However, it is certainly a powerful microcontroller which we may consider using in the future!