The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or click here to continue anyway

Arduino ZERO PRO


The Arduino Zero Pro can be powered via the micro USB connection or with an external power supply. The power source is selected automatically.

External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected to the board by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.

Power input Voltage requirements Current requirements Connector marking External power 5V 2 % ( 100mV) for USB host operation. 4.3V to 5.5V if USB host operation is not required Recommended minimum is 1A to be able to provide enough current for connected USB devices and the board itself. Recommended maximum is 2A due to the input protection maximum current specification. PWR Embedded debugger USB 4.4V to 5.25V (according to USB spec) 500mA (according to USB spec) DEBUG USB Target USB 4.4V to 5.25V (according to USB spec) 500mA (according to USB spec) TARGET USB

The kit will automatically detect which power sources are available and choose which one to use according to the following priority:

  1. External power
  2. Embedded debugger USB
  3. Target USB

External power is required when the 500mA through the USB connector is not enough to power a connected USB device in a USB host application.

The power pins are as follows:


The ATSAMD21G18 has 256 KB(with 4 KB used for the bootloader).The bootloader is factory pre burnt by Atmel and is stored in a dedicated ROM memory. The bootloader is protected using the NVM fuse.It also carries 32 KB of SRAM.

Input and Output

Each of the 20 digital i/o pins on the Zero Pro can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3 volts. 7mA as maximum DC current for I/O pins and an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:

There are a couple of other pins on the board:

AREF. Reference voltage for the analog inputs. Used with analogReference().

Reset. Bring this line LOW to reset the microcontroller. This is typically used to add a reset button when shields are used that block the one already present on the board.


The Arduino Zero Pro has a number of facilities for communicating with a computer, with another Arduino or other microcontrollers, and with different devices like phones, tablets, cameras and so on. TheSAMD21provides one hardware UART and three hardware USARTs for TTL (3.3V) serial communication.The Programming port is connected toEDBG, which provides a virtual COM port to software on a connected computer (To recognize the device, Windows machines will need a .inf file, but OSX and Linux machines will recognize the board as a COM port automatically.). TheEDBGis also connected to the SAMD21 hardware UART. The Serial on pins RX0 and TX0 provides Serial-to-USB communication for programming the board through theATSAMD21G18microcontroller. The Arduino software includes a serial monitor allowing simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via theATSAMD21G18chip and USB connection to the computer (but not for serial communication on pins 0 and 1).The Native USB port is connected to the SAMD21. It allows for serial (CDC) communication over USB. This provides a serial connection to the Serial Monitor or other applications on your computer.It also enables the board to emulate a USB mouse or keyboard to an attached computer.The Native USB port can also act as a USB host for connected peripherals such as mice, keyboards, and smartphones.The SAMD21 also supports TWI and SPI communication. The Arduino software includes a Wire library to simplify use of the TWI bus. For SPI communication, use the SPI library.


The Arduino Zero Pro can be programmed with the Arduino software (



If you use Linux-based OS follow the guide

Arduino IDE on Linux-based OS


Uploading sketches to the SAMD21 is different from how it works with the AVR microcontrollers found in other Arduino boards: the flash memory needs to be erased before being re-programmed. Upload to the chip is managed by ROM on the SAMD21, which is run only when the chip's flash memory is empty.

Both the USB ports can be used to program the board, though use of the Programming port is recommended, due to the way the erasing of the chip is handled:

Programming port: To use this port, select "Arduino Zero Pro (Programming Port)" as your board in the Arduino IDE. Connect the Zero Pro's programming port (the one closest to the DC power jack) to your computer. The programming port uses the EDBG as a USB-to-serial chip connected to the first UART of the SAMD21 (RX0 and TX0). The EDBG has two pins connected to the Reset and Erase pins of the SAMD21. Opening and closing the Programming port connected at 1200bps triggers a hard erase procedure of the SAMD21 chip, activating the Erase and Reset pins on the SAMD21 before communicating with the UART. This is the recommended port for programming the Zero Pro. It is more reliable than the "soft erase" that occurs on the Native port, and it should work even if the main MCU has crashed.

Native port: To use this port, select "Arduino Zero Pro (Native USB Port)" as your board in the Arduino IDE. The Native USB port is connected directly to the SAMD21. Connect the Zero Pro's Native USB port (the one closest to the reset button) to your computer. Opening and closing the Native port at 1200bps triggers a 'soft erase' procedure: the flash memory is erased and the board is restarted with the bootloader. If the MCU crashed for some reason it is likely that the soft erase procedure won't work as this procedure happens entirely in software on the SAMD21. Opening and closing the native port at a different baudrate will not reset the SAMD21.

USB Overcurrent Protection

The Zero Pro has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.

Physical Characteristics

The maximum length and width of the Zero Pro PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.

Continue reading on