Saturday, May 23, 2015

Arduino Zero

The Arduino Zero is a simple and powerful 32-bit extension of the platform established by Arduino UNO. The Arduino Zero enables creative individuals to realize truly innovative ideas for smart IoT devices, wearable technology, high-tech automation, crazy robotics, and projects not yet imagined. The board is powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core.

Warning: Unlike most Arduino boards, the Arduino Zero board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.

The Zero board expands the Arduino family by providing increased performance to fuel the creativity of the maker community. The flexible feature set enables endless project opportunities for devices and acts as a great educational tool for learning about 32-bit application development. One of its most important feature is Atmel’s Embedded Debugger (EDBG), which provides a full debug interface without the need for additional hardware, significantly increasing the ease-of-use for software debugging. EDBG also supports a virtual COM port that can be used for device programming and traditional Arduino boot loader functionality.

The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it with a AC-to-DC adapter or battery to get started. The Zero is compatible with all Arduino shields that work at 3.3V and are compliant with the 1.0 Arduino pinout.

Atmel Embedded Debugger

The Atmel Embedded Debugger (EDBG) implements a JTAG interface in order to program the on-board SAMD21 and is also connected to hardware serial of the microcontroller. This means that the 'Serial' class responds to the programming port of the board. The Arduino Zero has been designed in collaboration with ATMEL, and the on-board EDBG can be used through ATMEL Studio to get full access to the microcontroller memories to help debug your code.

Note: in contrast to some Arduino boards (e.g. Uno), when you open the serial monitor and the board is connected through the Programming Port the board does not automatically reset. You can reset the board manually if you wish to restart your sketch, for example in order to see something that is printed in the setup() function.

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. (For more information see the int type page).
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)
For further information about the SAM-D21 microcontroller please refer to the datasheet.

  • Microcontroller ATSAMD21G18
  • Operating Voltage 3.3V
  • General purpose I/O Pins 20, all of which can do digital I/O and all except for 2 and 7 can be used as PWM output
  • UART One
  • Analog Input Pins 6, 12-bit ADC channels
  • Analog Output Pins 1, 10-bit DAC
  • External Interrupts Available on all pins except 0, 1, and 2
  • DC Current per I/O Pin 7 mA
  • Flash Memory 256 KB
  • SRAM 32 KB
  • EEPROM None (part of the Flash memory may be used as a non-volatile storage with some limitations*)
  • Clock Speed 48 MHz