Skip to content

Arduino - Due & Zero

Arduino: Moving to 32-bit ARM-based Boards

Section titled “Arduino: Moving to 32-bit ARM-based Boards”

While classic 8-bit Arduino boards like the Uno are fantastic for learning, many modern projects require more processing power, memory, and advanced features. This is where 32-bit ARM-based Arduino boards come in. This guide introduces you to this powerful class of microcontrollers, focusing on foundational boards like the Arduino Zero and their modern successors.

Moving from an 8-bit ATmega328P (on the Uno) to a 32-bit ARM Cortex-M processor offers significant advantages:

  • Higher Clock Speeds: Faster execution of complex code (e.g., 48 MHz on Zero vs. 16 MHz on Uno).
  • More Memory: Significantly more SRAM (for variables) and Flash (for program storage), enabling larger and more complex applications.
  • Advanced Peripherals: Features like a real Digital-to-Analog Converter (DAC) for true analog output, native USB capabilities, and more hardware serial ports (UARTs).
  • Improved Performance: 32-bit processors handle large numbers and complex math far more efficiently.
  • Professional Tooling: Many 32-bit boards, like the Zero, include an on-board debugger, enabling professional development workflows.

The Arduino Zero was a game-changer, establishing a new standard for performance and ease of use in the Arduino ecosystem. It is powered by the Atmel SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core.

  • MCU: 32-bit SAMD21 @ 48 MHz
  • Memory: 32 KB SRAM, 256 KB Flash
  • Logic Level: 3.3V (This is critically important!)
  • Embedded Debugger (EDBG): Its most powerful feature. The EDBG provides a full debug interface directly on the board, allowing you to set breakpoints and inspect variables in your code without extra hardware. It also provides a virtual COM port for standard serial communication.

The Modern Evolution: Nano 33 and MKR Families

Section titled “The Modern Evolution: Nano 33 and MKR Families”

The powerful SAMD21 core from the Zero now powers a new generation of compact and connected boards, making it easier than ever to build IoT devices and sophisticated projects.

  • Arduino Nano 33 IoT: A tiny board with the SAMD21 processor plus a built-in Wi-Fi and Bluetooth module. It’s perfect for building connected devices that send data to the cloud or can be controlled from a smartphone.
  • Arduino MKR Family: A series of boards (like the MKR WiFi 1010) that pair the SAMD21 with various connectivity options, including Wi-Fi, LoRaWAN, and GSM. They share a common form factor, making them ideal for professional prototyping.

The Arduino Due is one of the original 32-bit powerhouses. Based on the Atmel SAM3X8E ARM Cortex-M3 CPU, it’s designed for large-scale projects that demand maximum I/O and speed.

  • MCU: 32-bit SAM3X8E @ 84 MHz
  • Memory: 96 KB SRAM, 512 KB Flash
  • I/O: A massive 54 digital I/O pins and 12 analog inputs.
  • Logic Level: 3.3V
  • Advanced Features: 2 DACs (Digital-to-Analog Converters), USB On-The-Go (OTG) for connecting to peripherals like mice or keyboards, and a CAN bus interface for automotive applications.

Unlike the 5V logic of the Arduino Uno, all the 32-bit boards mentioned here (Zero, Due, Nano 33, MKR) operate at 3.3V.

This means their I/O pins are not 5V tolerant. Applying a voltage higher than 3.3V to any I/O pin will permanently damage the microcontroller. When connecting sensors or other components designed for 5V, you must use a logic level shifter to safely step the voltage down from 5V to 3.3V.

A logic level shifter (or converter) is a small, inexpensive board that safely translates signals between different voltage domains. It has a high-voltage (HV) side for your 5V component and a low-voltage (LV) side for your 3.3V Arduino, ensuring they can communicate without risk of damage.

  • Library Compatibility: While the Arduino core team has done an amazing job, not all third-party libraries written for 8-bit AVR boards will work on 32-bit ARM boards. Always check the library’s documentation for compatibility.
  • Toolchain: Programming is still done through the Arduino IDE or PlatformIO, but a different compiler (for ARM processors) is used behind the scenes. This is typically handled automatically.
  • New Possibilities: Embrace the new features! Use the native USB to create custom HID devices (like a keyboard or mouse), use the DAC for high-quality audio output, and leverage the extra processing power to run more complex algorithms or even a Real-Time Operating System (RTOS).