MicrocontrollerATSAMD21G18, 32-Bit ARM Cortex M0+
Operating Voltage3.3V
Digital I/O Pins20
PWM PinsAll but pins 2 and 7
UART2 (Native and Programming)
Analog Input Pins6, 12-bit ADC channels
Analog Output Pins1, 10-bit DAC
External InterruptsAll pins except pin 4
DC Current per I/O Pin7 mA
Flash Memory256 KB
SRAM32 KB
EEPROMNone. See documentation
LED_BUILTIN13
Clock Speed48 MHz
Length68 mm
Width53 mm
Weight12 gr.

ARM Core Benefits

The Zero has a 32-bit ARM core that can outperform typical 8-bit microcontroller boards. The most significant differences are:
  • 32-bit core that allows operations on 4 byte wide data within a single CPU clock. 
  • CPU Clock at 48MHz
  • 12 channels DMA controller that can relieve the CPU from doing memory intensive tasks
  • 32 bit Real Time Counter (RTC) with clock/calendar function
  • 32 bit CRC generator
  • Two-channel Inter IC Sound (I2S) interface
  • Peripheral Touch Controller (PTC)

Memory

  • The SAMD21 has 256 KB Flash Memory. It also has 32 KB of SRAM and up to 16 KB of EEPROM by emulation.

Input and Output

Each of the 20 general purpose I/O pins on the Zero can be used for digital input or digital output using pinMode(), digitalWrite(), and digitalRead() functions. Pins that can be used for PWM output are: 3, 4, 5, 6, 8, 9, 10, 11, 12, 13 using analogWrite() function. All pins operate at 3.3 volts. Each pin can source or sink a maximum of 7 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.

Programming

Uploading sketches to the SAMD21 is different from the AVR microcontrollers found in other Arduino & Genuino boards. Either USB port can be used for programming the board, although using the Programming port is recommended due to the way the erasing of the chip is handled