Overview

The Arduino Zero was introduced in 2015 as a bridge between the classic 8-bit AVR Uno and the more powerful 32-bit ARM boards, bringing the ARM Cortex-M0+ architecture into the familiar Arduino Uno form factor for the first time.

At its core is the Atmel ATSAMD21G18A running at 48 MHz, with 256 KB of flash and 32 KB of SRAM. The board operates at 3.3V I/O logic — a departure from the 5V standard of the Uno and Mega — and adds a 10-bit DAC, a 12-bit ADC, and native USB HID support via a dedicated Native USB port.

The most distinctive feature of the Zero is its embedded Atmel Embedded Debugger (EDBG): a full on-board hardware debugger that enables step-through debugging, breakpoints, and variable inspection directly in the Arduino IDE or Atmel Studio, without any external debug probe. This made the Zero the first Arduino to offer professional-grade debugging capabilities.

The Zero has since been discontinued, with the Arduino UNO R4 Minima and Nano 33 IoT serving as its functional successors.

Critical notice: The Zero operates at 3.3V logic. Its I/O pins are NOT 5V tolerant. Connecting 5V signals to I/O pins will damage the SAMD21 microcontroller.

Quick Overview

Property Value
Microcontroller ATSAMD21G18A (32-bit ARM Cortex-M0+)
Clock Speed 48 MHz
Operating Voltage 3.3V (NOT 5V tolerant on I/O)
Input Voltage (recommended) 7–12V
Digital I/O Pins 14 (10 with PWM)
Analog Input Pins 6 (12-bit ADC)
Analog Output (DAC) 1 × 10-bit (pin A0)
Flash Memory 256 KB
SRAM 32 KB
Hardware UART 1
USB Ports 2 × micro-USB (Programming + Native USB)
On-Board Debugger EDBG (Atmel Embedded Debugger — SWD)
Form Factor Arduino Uno
Dimensions 68.6 × 53.3 mm

Key Features

  • 32-bit ARM Cortex-M0+ at 48 MHz in the Arduino Uno form factor
  • On-board EDBG hardware debugger — step-through debugging without an external probe
  • 12-bit ADC on all 6 analog inputs for high-resolution sensor readings
  • 10-bit DAC on pin A0 for true analog voltage output
  • Native USB port with HID support (keyboard, mouse, MIDI)
  • Programming USB port independent from the Native USB port
  • 256 KB flash and 32 KB SRAM — significantly more than the Uno
  • Compatible with many Uno-sized shields (physical fit matches; verify 3.3V logic levels)
  • Supported by the Arduino IDE via the Arduino SAMD Boards package

Technical Specifications

Specification Value
Microcontroller Atmel ATSAMD21G18A
Architecture 32-bit ARM Cortex-M0+
Clock Speed 48 MHz
Operating Voltage 3.3V
Recommended Input Voltage 7–12V
Digital I/O Pins 14
PWM Pins 10 (D2–D13, excluding D5 and D7 — verify per silkscreen)
Analog Input Pins 6 (12-bit ADC, A0–A5)
Analog Output (DAC) 1 × 10-bit (A0)
DC Current per I/O Pin 7 mA
Flash Memory 256 KB
SRAM 32 KB
Hardware UART 1 (Serial1, D0 RX / D1 TX)
USB 2 × micro-USB (Programming port + Native USB port)
On-Board Debugger EDBG (Atmel SWD, USB CDC debug port)
I2C 1 (D4 SDA / D5 SCL)
SPI 1 (ICSP header)
Dimensions 68.6 × 53.3 mm

Pinout

Arduino Zero top view

Digital I/O Pins

Pin Function Notes
D0 (RX) Hardware Serial1 RX Also general digital I/O
D1 (TX) Hardware Serial1 TX Also general digital I/O
D2–D13 General digital I/O PWM on most (10 total PWM pins)
D4 SDA (I2C) I2C data line
D5 SCL (I2C) I2C clock line

Analog Pins

Pin Function Notes
A0 Analog input + DAC output 10-bit DAC, 12-bit ADC
A1–A5 Analog input 12-bit ADC

Power Pins

Pin Description
VIN 7–12V input
5V 5V output (for powering peripherals — NOT for I/O logic)
3.3V 3.3V regulated output
GND Ground
RESET Pull LOW to reset
IOREF 3.3V reference
AREF Analog reference for ADC

Debug Header

The EDBG exposes a USB CDC debug port on the Programming micro-USB connector, separate from the upload interface. This allows simultaneous serial debugging and sketch upload without switching cables.

Power

The Arduino Zero can be powered by:

  1. Programming micro-USB: 5V from the host. Standard for development.
  2. Native micro-USB: 5V from host when using the Native USB port.
  3. DC Barrel Jack: 7–12V DC, regulated on-board to 3.3V.
  4. VIN Pin: Same range as the barrel jack.

The Zero's I/O pins operate at 3.3V. Although a 5V line is available on the headers (sourced from USB or the barrel jack regulator), it must not be fed back into any I/O pin.

Microcontroller

The ATSAMD21G18A is a Cortex-M0+ processor from Atmel (now Microchip), targeting low-power embedded applications.

Attribute Value
Core ARM Cortex-M0+
Clock 48 MHz (from 32.768 kHz crystal via DFLL × 1464)
Flash 256 KB with ECC
SRAM 32 KB
ADC 12-bit, up to 350 ksps
DAC 10-bit, 350 ksps
USB Full-speed USB 2.0 device
DMA 12-channel DMAC

The Cortex-M0+ is the simplest and most power-efficient core in the Cortex-M family. It lacks a hardware floating-point unit (FPU) — floating-point operations are performed in software. For FPU-equipped Uno-class boards, the UNO R4 Minima (Cortex-M4 with FPU) is the recommended successor.

Digital-to-Analog Converter

The Zero provides a single 10-bit DAC channel on pin A0.

Channel Pin Resolution Output Range
DAC0 A0 10-bit (0–1023) 0–3.3V
// Output an increasing ramp voltage on the DAC (pin A0) void setup() { analogWriteResolution(10); // Set to 10-bit for Zero's DAC } void loop() { for (int i = 0; i <= 1023; i++) { analogWrite(A0, i); delayMicroseconds(500); } }

HID Support

The Zero's Native USB port supports USB HID natively via the SAMD21's built-in USB controller.

#include <Keyboard.h> void setup() { Keyboard.begin(); delay(1000); Keyboard.println("Hello from Arduino Zero!"); Keyboard.end(); } void loop() {}

Upload HID sketches via the Programming port to avoid losing the upload connection when the board re-enumerates as a HID device.

Getting Started

What You Need

  • Arduino Zero
  • Micro-USB cable (one for Programming port; optionally one for Native USB port)
  • Computer with Arduino IDE installed

Steps

  1. Connect the Programming port (micro-USB closest to the EDBG chip) to your computer.
  2. Open the Arduino IDE.
  3. Install the SAMD board package: Tools > Board > Boards Manager, search for "Arduino SAMD Boards" and install.
  4. Select Tools > Board > Arduino SAMD Boards > Arduino Zero (Programming Port).
  5. Select the correct COM port under Tools > Port.
  6. Upload a sketch.

Blink Example

// Blink the built-in LED on pin 13 // The Zero's LED is on pin 13 (active HIGH) void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); }

Programming

The Zero has two upload paths:

Port Description
Programming Port Upload via EDBG; supports step-through debugging in Atmel Studio / Arduino IDE
Native USB Port Direct SAMD21 USB; use for HID sketches; 1200-baud touch triggers DFU
  • Board package: Arduino SAMD Boards (Boards Manager)
  • Bootloader: SAM-BA bootloader (accessed via Programming port's EDBG)
  • Debugging: EDBG supports SWD debugging; Arduino IDE 2.x supports on-board debugging for SAMD21 boards

Shield Compatibility

WARNING: The Zero uses 3.3V I/O logic. Pins are NOT 5V tolerant. Standard 5V Arduino Uno shields will expose the SAMD21 to 5V signals, which can permanently damage the microcontroller.

Shield Type Compatibility
5V Arduino Uno / Mega shields NOT compatible without level shifting — will damage the SAMD21
3.3V shields Compatible
Shields using analog signals only Check output voltages; must be within 0–3.3V range
Shields that are purely passive (resistors, buttons) Generally compatible; verify pull-up voltages

Always verify that every signal line on a shield operates within the 0–3.3V range before connecting it to the Zero. Level-shifting modules are required for interfacing with 5V devices.

Package Contents

Item Quantity
Arduino Zero board 1

micro-USB cables are not included. Two are useful — one for the Programming port and one for the Native USB port.

Applications

  • Learning 32-bit ARM development in a familiar Uno form factor
  • Projects requiring on-board step-through debugging (EDBG is ideal for education)
  • Precision analog output using the 10-bit DAC (sensor simulation, audio)
  • USB HID device development
  • Low-power sensor nodes (Cortex-M0+ is more power-efficient than AVR at comparable speeds)
  • Projects requiring 12-bit ADC resolution on analog inputs
  • Prototyping for production targets using SAMD21-based custom PCBs

Where to Buy

The Arduino Zero is discontinued. New stock may be available from resellers; check Amazon and electronics distributors.

Equivalent Boards

Board Key Difference
Arduino UNO R4 Minima Cortex-M4 at 48 MHz with FPU, 5V logic, active production, same Uno form factor
Arduino Due Cortex-M3 at 84 MHz, Mega form factor, dual DAC, 3.3V logic, active production
Arduino Nano 33 IoT Cortex-M0+ (SAMD21), same MCU, smaller form factor, integrated Wi-Fi/BT

Notes

  • The Zero is discontinued. The Arduino UNO R4 Minima is the recommended current-production Uno-form-factor upgrade, offering a Cortex-M4 with FPU and 5V logic compatibility.
  • 3.3V I/O only: This is the most critical operational constraint of the Zero. Every peripheral and shield must be verified to operate within 3.3V signal levels.
  • The EDBG chip on the Zero serves double duty: it provides the USB-to-serial bridge for the Programming port AND acts as the SWD debug probe. This eliminates the need for any external debugger hardware.
  • The 5V pin on the headers is powered from USB/regulator and can be used to supply 5V to peripherals (like 5V sensors with open-drain or isolated outputs), but must never be connected to an I/O pin.
  • When using the Arduino IDE 2.x, the Zero supports interactive step-through debugging via the Debug button in the toolbar — one of the only Uno-form-factor boards to offer this.

Community

Revision History

Version Date Notes
v1.0 2026-06 Initial entry