Grove Digital Extender I2C Board
To make comments or ask questions, please go to the Product Support Forum at www.switchdoc.com .
This board is an inexpensive Grove I2C controlled 8 pin GPIO Extender Board for the Raspberry Pi, Arduino and the ESP8266. It has 8 Grove Digital Connectors and 3 Grove I2C connectors (which form an I2C Hub). We are always running out of GPIOs on the Raspberry Pi. We wanted a clean way of adding more GPIO ports (Digital Grove ports) and we decided this was the way to do it. 8 Digital Grove ports (and a bonus 2 extra Grove I2C) is the way to do it in style. This board connects to the I2C bus on the Raspberry Pi and adds 8 additional 3.3V GPIOs to the Pi. You can also make them 5V GPIO pins if you wish. Connects to a Grove I2C connector and supplies 4 channels of Grove Analog plugs for your projects. Learn what Grove Connecters are here in our tutorial.
- 8 Grove Digital Connectors
- I2C controlled
- 3 total Grove I2C Connectors (2 spare)
- 8 GPIO pins
- 3.3V and 5V compatible
- Buffered LEDS located on D0 and D2
- All pins can interrupt the computer
- Digital Grove pins are by default 3.3V or 5.0V depending on VDD
- Optional Two bank power supply allows two banks of 4 GPIO pins to have 5V or 3.3V
- Can program GPIO pins to make up to 3 pin logic gates (PLD)
- Software drivers for Arduino, ESP8266 and Raspberry Pi Included
- - Current Specification for Grove Digital Extender Board
- - Specification for the SX1502
- - The Python Raspberry Pi software is located on the SwitchDoc Labs github under https://github.com/switchdoclabs/SDL_Pi_GroveDigitalExtender
- - Arduino drivers are located on github under https://github.com/switchdoclabs/SDL_Arduino_GroveDigitalExtender
Theory of Operation
For more complete information, see the full SX1502 Specification at: http://www.semtech.com/images/datasheet/sx150x.pdf. The Grove Digital Extender board uses a Semtech SX1502 8 GPIO I2C IC to supply the 8 Grove Digital Connectors. The SX1502 is a complete ultra low voltage General Purpose parallel Input/Output (GPIO) expanders ideal for low power handheld battery powered equipment. It allows easy serial expansion of I/O through a standard I2C interface. GPIO devices can provide additional control and monitoring when the microcontroller or chipset has insufficient I/O ports, or in systems where serial communication and control from a remote location is advantageous. These devices can also act as a level shifter to connect a microcontroller running at one voltage level to a component running at a different voltage level. The core is operating as low as 1.2V while the I/O banks can operate between 1.2V and 5.5V independent of the core voltage and each other. Each GPIO is programmable via 8-bit configuration registers. Data registers, direction registers, pull- up/pull-down registers, interrupt mask registers and interrupt registers allow the system master to allow the system master to program and configure 8 GPIOs using a 2 wire standard 400kHz I C interface. PLD (Programmable Logic Device) The SX1502 offers a unique fully programmable logic functions like a PLD to give more flexibility and reduce external logic gates used for standard applications. Pins IO4-IO7 are available for PLD use on the 8GPIO board. Since the whole truth table is fully programmable, the SX1502 can implement combinatory functions ranging from the basic AND/OR gates to the most complicated ones with up to four 3-to1 PLDs or two 3-to-2 PLDs which can also be externally cascaded if needed. In all cases, any IO not configured for PLD functionality retains its GPIO functionality while I/Os used by the PLD have their direction automatically set accordingly. Please note that while RegDir corresponding bits are ignored for PLD operation they may still be set to input to access unused PLD inputs as normal GPI (PLD truth table can define some inputs to have no effect on PLD output) and/or generate interrupt based on any of the PLD inputs or outputs bits. For more information, check out the SX1502 specification from Semtech.