Using Arduino ZERO with the Proto Shield Plus

Published : 07/25/2018 11:41:25
Categories : Proto Shield Plus

Using Arduino ZERO with the Proto Shield Plus

Arduino ZERO
 is a powerful 32-bit board based on the ATSAMD21G18, 32-Bit ARM Cortex M0+ MCU.

It runs at 48Mhz, so, if you need speed and power for your application this board may fit your needs.

The biggest problem with this "new" generation of Arduino boards is related to their operating voltage which is 3,3V unlike the "standard" 5V.

The website warns you:

Warning: Unlike most Arduino & Genuino boards, the Zero 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.

Anyway 5V will be present due to the external USB 5V power supply or the on-board LM2734Y (U200), in case that you are powering the board with an external power supply.




Switching the Proto Shield Plus board voltage from 5V to 3V3

Locate SJVBRD on the bottom of the Proto Shield Plus.

SJVBRD on the Proto Shield Plus

SJVBRD closeup

As you can see from the image above, the Proto Shield Plus comes with 5V by default as "board" voltage, which means that VccBRD is 5V (see Proto Shield Plus schematics for details).

Proto Shield Plus Schematics

With a sharp blade (i.e. a cutter) cut between the central pad and the 5V pad.

With soldering iron and a little drop of tin, short between the central pad and the 3V3 pad.


Now the board voltage of your Proto Shield Plus is 3V3, which means that POT and pushbuttons connect to 3V3 instead of 5V.

Using the on-board I2C PCF8254 to drive LCD or to expand I/O

Not all the Arduino users know that SCL and SDA need pull-up resistors to let the I2C communication work properly (see Wire Library documentation, click here)

[...] Please note that a pull-up resistor is needed when connecting SDA/SCL pins. [...]

Anyway the Wire Library activates internal pull-up resistor for you, so with other boards (like UNO, NANO, MINI etc.) you do not have to add any hardware to let the I2C works.

This is not the case of the ZERO board, which requires two additional external pull-up resistors.

In the image below two 4K7 ohm resistors connect SCL and SDA pins to 3V3.

Pull-up resistors on SCL and SDA

You can test the LCD or the I/O expansion using the "APSP_demo_I2C" or "APSP_8574_IOexpander" sample sketches (click here to download).

We strongly recommend to take a look at the "Getting started with the Arduino/Genuino Zero" official page if you are not familiar with the Arduino ZERO board (

Share this content