The GO-24V MKR shield

Nowadays, most common microcontroller operate with 3.3V logic, while the older classic Arduino UNO uses 5V logic, but sometimes you want to connect your project to 12V or 24V gadgets, which are common in automation and home systems.

We created the GO-24V MKR shield with 24V tolerant inputs and outputs exactly for this purpose.

Description

The Omzlo GO-24V MKR shield is designed to fit on top of Arduino MKR compatible boards, such as the Arduino MKR Zero. But it really shines as part of an IoT project on top of an Omzlo CANZERO node.

It features:

4 digital inputs (0-24V).

4 digital open-drain outputs (0-24V), sinking up to 2A.

2 analog inputs (0-24V).

The shield also breaks out the GND and VIN pins of the MKR board.

Details

The following table provides details of the shield input/output capabilities:

Shield connector

Arduino MKR Pin

Characteristics

Input 1

D0

0-24V

Input 2

D1

0-24V

Input 3

D2

0-24V

Input 4

D3

0-24V

Sink 1 (Output)

D4

0-24V (max 60V, 3.1A)

Sink 2 (Output)

D5

0-24V (max 60V, 3.1A)

Sink 3 (Output)

D6

0-24V (max 60V, 3.1A)

Sink 4 (Output)

D7

0-24V (max 60V, 3.1A)

Analog in 1

A0

0-24V mapped to 0-3.2V

Analog in 2

A1

0-24V mapped to 0-3.2V

GND

GND

-

VIN

VIN

-

Note that this shield does not feature isolated inputs/outputs (e.g. using optocouplers) or galvanic isolation.

Digital inputs

The digital inputs have the same shifting characteristic as the GPIO of the MCUs they are connected to. For a SAMD21 board like the Arduino MKR Zero or the Omzlo CANZERO, this means that any input below 1V will be considered LOW (0), and any input above 1.8V will be considered as HIGH (1).

Digital outputs

The digital outputs are sinking outputs, which means that they are used to switch loads on the low side, as shown in the picture below.

The sinking outputs are controlled by MOSFETs, which have a comfortable maximum 3.1A current rating. In practice, it's best to keep safely away from those limits. We tested currents up to 1.5A without any issue, for low-side switching power LEDs. Lower currents should also be considered when switching these MOSFETs very rapidly (e.g. through fast PWM). In doubt, please consult the safe operating area of the MOSFET in the datasheet.

Analog inputs

Analog inputs are managed by feeding input voltage in a voltage divider and a buffering op-amp, resulting in a scaled voltage range where 24V corresponds to 3.2V on the analog input of the Arduino-compatible board (and 24.75V corresponds to 3.3V). In terms of accuracy, the voltage divider uses 1% resistors, but the greatest source of inaccuracy can come from the ADC of the MCU itself. It is possible to apply calibration to each board to substantially increase accuracy.

What's included

As shown in the picture below, the Omzlo GO-24V MKR shield comes as a shield with the following unsoldered headers:

One breakable male 2.54mm pin headers (0.1")

Three 4-pin 3.5mm terminal blocks (colors may vary).

This board is designed to be compatible with the Arduino-MKR form factor. In compliance with the Arduino trademark usage rules, we note that this product is not otherwise connected to Arduino S.r.l.