This I2C 24-channel relay controller was designed to function as a shield for Particle Electron.
Control relays from the cloud using cellular connectivity or develop your own relay control firmware. Relay control is easy using our firmware examples in our GitHub repository.
Cellular connectivity means you have access to this device in any location supported by the Particle Electron cellular communications module (not included). Ideal for agricultural or remotely located switching applications, including pumps, valves, solenoids, lights, and much more. Providing cellular access means you have a way to stay connected and in control in the most remote locations without wires.
Stay Connected to the cloud and access this controller from anywhere in the world using Particle Electron. Access this controller using Mobicle, our cross-platform cloud interface that keeps you connected using your Android, Blackberry, iPhone, iPad, or any web browser. Don’t forget to visit our GitHub repository, which allows you to download and customize the firmware in this device for your specific needs.
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 MCP23017 based devices may be connected to a single I2C port. This controller counts as 2 devices.
This device provides 3 connections to each relay: Common, Normally Closed, and Normally Open. The Common connection is always connected to the Normally Closed connection when the relay is off. When the relay switches on, the Common connection is disconnected from the Normally Closed and Connected to the Normally Open. External loads may be wired to be off all the time and turn on when the relay turns on. Optionally, external loads may be wired to be on all the time, with the external load switching off when the relay is activated. Relays are controlled using the MCP230xx Series Programmable GPIO Port Expanders from Microchip Technology. The first MCP23017 on this circuit board has the address line A0 connected to ground. The second MCP23017 on this circuit board has the address line A0 connected to +5VDC. This prevents on-board address conflicts. The remaining address jumpers A1 and A2 are jumper selectable. Relays are controlled by a MCP23017 using GPIO0:7 on Port A and GPIO0:7 on Port B. Controlling on-board relays is easy: Set GPIO0:7 as Digital Outputs. Next, set the on/off status of GPIO0:7 to activate the corresponding relays. External 8-Channel GPIO port connections are controlled by the second MCP23017 of this controller, with the GPIO mapped to Port B. LEDs indicate the status of on-board relays. All of these operations are handled for you when using the drivers supplied in our GitHub repository (ControlEverythingCom). Induction suppression capacitors are strongly advised for inductive switching applications (anything that generates a magnetic field). Induction suppression capacitors will prolong the life of the relays and help prevent malfunctions when switching high voltages. Particle Electron not included.
IoT Motherboard Compatibility
This is an I²C Master Device, capable of directly connecting to any of our Cross-Platform I²C Slave Devices using the I²C Output. It is directly compatible with:
If using a Particle module, the PKFR Key Fob Receiver overlay shield may be used.
This device may be converted for direct use with:
Arduino Nano using the Arduino Nano Adapter
Arduino Micro using the Arduino Micro Adapter
Onion Omega 1&2 using the OC Adapter
Pycom WiPy using the WiPy Adapter
Adafruit Huzzah ESP8266 using the Adafruit Huzzah Adapter
This device may be converted to an I²C slave device using the Slave Adapter, ideal for use with Raspberry Pi, Beaglebone, Arduino Uno, and BridgeX5.
Use the Slave Adapter and a Arduino Uno Interface Adapter
Use the Slave Adapter and a Arduino Nano I²C Shield
Use the Slave Adapter and plug into any Arduino Nano Master Device
Use the Slave Adapter and plug into any Arduino Micro Master Device
Raspberry Pi Interfaces:
Use the Slave Adapter and a Raspberry Pi I²C Interface Adapter
Use the Slave Adapter and a Raspberry Pi 2/3 I²C Interface Adapter
Use the Slave Adapter and a Raspberry Pi Zero I²C Interface Adapter