This I2C relay controller was designed to function as a relay shield for Arduino Micro.
The on-board relays are controlled by a MCP23008 using GPIO0:1. The remaining 6 GPIO pins (GPIO2:7) are available for general purpose TTL/CMOS Input/Output applications under software control.
Controlling on-board relays is easy. Simply set GPIO0:1 as Digital Outputs. Next, set the on/off status of GPIO0:1 to activate the two corresponding relays. Two LEDs indicate the status of the two on-board relays.
External devices may be wired to turn on when the relay turns on. Optionally, external devices may be wired to turn off when the relay turns on. An induction suppression kit is highly recommend for inductive applications (anything that generates a magnetic field such as a transformer or generates any form of motion).
This controller includes an on-board I2C expansion port, allowing an easy pathway to expansion for controlling more relays, reading sensors, or expanding to any I2C device we develop in the future. Up to eight MCP23008 based devices may be connected to a single I2C port. The start address of this device is set using 3 on-board jumpers.