Arduino ZERO – when ZERO is greater than ONE

Introduction

Arduino ZERO has the same size and same pinout of the now classic Arduino UNO, though by providing, thanks to the new embedded processor, large improvements in performance (both speed and memory).

Thus all lovers loyal to the now “old” Arduino UNO, can continue to use projects already developed, using the same code and shields; however, taking advantage of the increased performance that this new board offers.

Arduino ZERO

The Arduino ZERO board

The Arduino ZERO board is a simple and powerful 32-bit extension of the Arduino UNO board. In fact, the pinout and all the features have been preserved in order to give continuity to this successful series that has seen the conclusion of the class UNO with its third revision.

In this new series, the ATmega328 of the Arduino UNO processor is replaced by a processor MCU (microcontroller unit) Atmel SAMD21  Atmel, with a 32-bit core ARM ® Cortex M0+ . With this replacement, the performance has considerably increased.

In addition to the processor, one of the most important features introduced in this board is an embedded debugger called EDBG. This debugger allows you to interface directly with the Atmel processor for both programming and debugging (here is the official guide) without any need of additional hardware.

Arduino_Zero_EDBG
Fig.1: the embedded chip EDBG

The EDBG chip is composed by three parts:

  • the debugger 
  • a virtual COM port 
  • a Data Gateway Interface (DGI)

The virtual COM port is connected to a UART port from the processor and provides a simple way to communicate with an “target” device through a simple terminal. Instead the Data Gateway interface consists of several physical data interfaces used for the connection with the host computer to which the Arduino board is connected.

Below a table shows the technical specifications of both Arduino boards to better compare the performance/features provided by each of them.

ARDUINO ZEROARDUINO UNO
MicrocontrollerATSAMD21G18, 48pins LQFPATmega328
Operating Voltage3.3V5V
Digital I/O Pins14, with 12 PWM and UART14 (of which 6 provide PWM output)
Analog Input Pins6, 12-bit ADC channels6
Analog Output Pins1, 10-bit DAC
DC Current per I/O Pin7 mA40 mA
Flash Memory256 KB32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM32 KB2 KB (ATmega328)
EEPROMup to 16KB by emulation1 KB (ATmega328)
Clock Speed48 MHz16 MHz

Analyzing the technical characteristics of the two boards, you may well see an increase in of the potentialities of Arduino ZERO board with an operating speed that is four times the Arduino UNO speed. Also with regard to the memory, you can see that both the Flash Memory and SRAM have values ​​significantly higher.

In addition, observing the two cards in perspective (see Figure 2 and 3), we can see that the old port USB type A on the left edge, has been replaced with two USB micro-B type. A port keeps the classic functions that had the previous USB port, while the second is intended to interface directly with the Debugger (the USB port at the bottom).

Arduino_Zero_front
Fig.2: Arduino ZERO
ArduinoUno_R3_Front
Fig.3: Arduino UNO Rev.3

And just to be thorough I’ll also show you the rear of the board

Arduino_Zero_Rear
Fig.4: the Arduino ZERO rear

Features sheet

MicrocontrollerATSAMD21G18, 32-Bit ARM® Cortex® M0+
Operating Voltage3.3V
Digital I/O Pins20
PWM Pins3, 4, 5, 6, 8, 9, 10, 11, 12, 13
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.

Conclusions

This board is destined to replace our Arduino UNO which until now we have jealously guarded inside our homes. Unfortunately nor information on the date of the release nor on their price (hopefully lower …) still have not been released.

Leave a Reply