Skip to product information
1 of 5

Polymorphic I2C Shield for Arduino MKR

Polymorphic I2C Shield for Arduino MKR

Regular price $11.95 USD
Regular price Sale price $11.95 USD
Sale Sold out
Quantity

This is a versatile I2C breakout shield for the MKR Arduinos. Featuring up to 7 ports in both 0.1" pin and Seeed Grove format, with some ports available sideways to be accessible while stacking. Ports can be 3.3V for use in battery mode or 5V via the embedded logic level converter.

A 2kB I2C EEPROM is available as an option as the MKR boards lack this feature. This gives you somewhere to store frequently changing state information without wearing out the on-board flash memory in the SAMD21 chip.

Please check the hackaday.io documentation at https://hackaday.io/project/163734-polymorphic-i2c-shield-for-arduino-mkr for details on the different configuration options. All connectors are supplied unsoldered and it is *very easy to install these the wrong way round*. So check the pictures!

#### **Header Options**
Basic headers are included. Male headers for "top of stack" use or female short headers for "bottom of stack. These are supplied in "cut so size" form as the 14 pin length required by the MKR is not commonly available. Precut female printed headers will be supplied while stocks last.

#### **Connector Options**

The I2C connectors are divided into two groups, each of which can be independently set to 5V or 3V3. Connector sets are available for each of these groups separately so you can mix and match between pin headers, Molex SL and Seeed Grove styles and straight and sideways formats.

This is too complicated for the Etsy format, and a full set of I2C connectors is included while stocks last. Let me know in the custom field what type you want.

While straight connectors can be mounted above or below the board, sideways connectors cannot. The Molex SL sideways connectors must be mounted below the board, the Seeed Grove sideways connectors above.

#### **I2C - What is it and why should I care about Pullup Resistors?**
I2C is an industry standard communications bus which many devices can use to communicate over two shared wires. In fact it is sometime called a "two wire interface" or TWI. [Read this Sparkfun tutorial for a primer.](https://learn.sparkfun.com/tutorials/i2c)

Now you have read that you know that you need pullup resistors on the SDA and SCL lines and they are commonly 4.7k. The Arduino MKR boards include 4.7K pullup resistors on their SCL and SDA lines to VCC - which is 3V3. As many peripherals run at 5V, the MKR I2C Shield includes a logic level converter to support those. The 5V side of the converter is electrically a separate bus, so it needs its own pullups - so the shield includes 4.7k pullups.
There may be circumstances where these may not be the right values for your application. The MKR I2C Shield includes locations to place pullup resistors on both buses in SMD or through-hole forms so you can swap these out and tune the bus as needed. Usually 4.7k is just fine.

#### **EEPROM**
The optional 2kB I2C EEPROM chip is a Microchip 24CW160T-I/OT at address 0x50. It can be programmed to use a different address if you have another EEPROM on the bus. You do not use the standard Arduino EEPROM.h library to talk to this, as that is specific to the Atmega series controllers.

#### **Bare board 3V3 option**
The bare board is available without any components installed. By connecting the 3V3 jumpers this can be used for projects which do not require 5V.

#### **polymorphic**
ADJECTIVE

Occurring in several different forms, in particular with reference to species or genetic variation.

View full details