Grove Digital Extender 0059-GRVDE-DSBT/SF

Similar documents
Quad Power Management Board

I2CMux Grove Board 0057-GRV4I2CMux-DSBT/ SF

Thunder Board 0240-THNDRBRD-DSBT

Grove Lightning Detector 0219-MOD1016G-01

WXLink LoRa For WeatherRack 0210-GWXLink-DSBT

WXLink For WeatherRack 0210-GWXLink-DSBT

8:1 Serial Port Expander

Prototyping Module Datasheet

WeatherPiArduino Weather Board

BC BIGCIRCLE32-DSBT

USB PowerControl 0042-USBPC-DSBT / USBPCNE-DSBT

KNJN I2C bus development boards

WeatherPlus Board

KNJN I2C bus development boards

WeatherPiArduino Weather Board

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

Adafruit seesaw. Created by Dean Miller. Last updated on :30:23 AM UTC

Explorer V1.20. Features

Gravity: I2C ADS Bit ADC Module(Arduino & Raspberry Pi Compatible) SKU: DFR0553

Cookie User Manual. For NuMicro Edition 1.0. Rev. 1.0 Release: forum.coocox.org.

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

ARDUINO MEGA 2560 REV3 Code: A000067

ARDUINO MEGA ADK REV3 Code: A000069

AK-DS2482S-100. Reference manual. Copyright 2016 Artekit Italy All rights reserved

Skywire BeagleBone Black Cape Data Sheet

LM53X Development and Evaluation Product Family

ARDUINO YÚN Code: A000008

ARDUINO LEONARDO WITH HEADERS Code: A000057

EPT-200TMP-TS-U2 TMP102 Temperature Sensor Docking Board Data Sheet

keyestudio Keyestudio MEGA 2560 R3 Board

User s Guide SX1508 Evaluation Kit ADVANCED COMMUNICATIONS & SENSING. SX1508 Evaluation Kit. User's Guide. Rev th Sept

IDUINO for maker s life. User Manual. For IDUINO development Board.

ARDUINO PRIMO. Code: A000135

ESPino - Specifications

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

Device: MOD This document Version: 1.0. Matches module version: v3 [29 June 2016] Date: 23 October 2017

Skywire Raspberry Pi Adapter Data Sheet

CorePressure. Issue: A (Preliminary)

GRAVITECH GROUP

Modtronix Engineering Modular Electronic Solutions SBC28DC. Single board computer for 28 pin DIP PICs

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

IOX-16 User s Manual. Version 1.00 April Overview

Arduino ADK Rev.3 Board A000069

USB-to-I2C. Ultra Hardware User s Manual.

Raspberry Pi board. EB080

4 Channel Stepper Driver Shield

IO Expansion Shield User Manual

ARDUINO UNO REV3 Code: A000066

1.6inch SPI Module user manual

Introducting Itsy Bitsy 32u4

P-NUCLEO-6180X2. Proximity, gesture, ambient light sensor expansion board based on VL6180X for STM32L053R8. Description. Features

PIXI click PID: MIKROE Weight: 28 g

SH1030 Rev Introduction. Ultra low power DASH7 Arduino Shield Modem. Applications. Description. 868 MHz. Features

8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

Breeze Board. Type A. User Manual.

RASPBERRY PI MEGA-IO EXPANSION CARD USER'S GUIDE VERSION 2.3

EZ-Bv4 Datasheet v0.7

PCB-STM32-F3U. Development baseboard for the STMicro Discovery-F3 module (STMicro part# STM32F3DISCOVERY)

Grove - Mini I2C Motor Driver v1.0

Sanguino TSB. Introduction: Features:

Power Supply, Arduino MEGA 2560, and Stepper Motors Connections

Please refer to "4. Evaluation Board" on page 2 for more information about these steps. Figure 1. System Connections

Featuring the SM700 RF Engine from Synapse TOWER SYSTEM. Quick Start Guide Wireless Mesh Networking Module featuring SNAP Technology (TWR-RF-SNAP)

mi:node User Manual Element14 element14.com/minode 1 User Manual V3.1

Electric Imp impexplorer Kit

ARDUINO LEONARDO ETH Code: A000022

BV4218. I2C-LCD & Keypad. Product specification. December 2008 V0.a. ByVac 2006 ByVac Page 1 of 9

1. Introduction NM7010A Features. WIZnet Inc.

PDIUSBH11A/H12/D11 Evaluation Kit

XBee Grove Development Board. User Guide

Getting started with X-NUCLEO-53L1A1 long distance ranging ToF sensor expansion board based on VL53L1X for STM32 Nucleo

AVR Intermediate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

802.11b/g/n IOT Module

Manual iaq-engine Indoor Air Quality sensor

Gooligum Electronics 2015

4X4 Driver Shield Manual

USER MANUAL FOR HARDWARE REV

Adafruit USB Power Gauge Mini-Kit

Pmod modules are powered by the host via the interface s power and ground pins.

ARDUINO MICRO WITHOUT HEADERS Code: A000093

SERDESUB 913ROS DS90UB913Q Serializer and DS90UB914Q Deserializer Evaluation Kit User s Manual

RF4431 wireless transceiver module

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

Adafruit HMC5883L Breakout - Triple-Axis Magnetometer Compass Sensor

Kinetis K70 System-On-Module (SOM) Baseboard Hardware Architecture

DS1845 Dual NV Potentiometer and Memory

Pridgen Vermeer Robotics ATmega128 Revision 0

VLSI AppNote: VSx053 Simple DSP Board

Zero2Go Omini. Wide Input Range, Multi-Channel Power supply for Raspberry Pi. User Manual (revision 1.01)

1 Introduction Overview Quick Start Circuit Description Port Setting...5

BV4626 General Purpose I/O. Product specification. Mar 2010 V0.a. ByVac Page 1 of 13

Cytron USB to UART Converter UC00A

EVALKIT-VL6180X. VL6180X plug-in and STM32 F401RE Nucleo board explorer kit. Description. Features

1602 SMART LCD DISPLAY MODULE HCMODU0122

Product Brief. Model: TLM922S-P01A. Ver.1.0

USB RELAY MODULE WITH ANALOG AND GPIO INTERFACE

Product description Rev. 3 11/06/14

MINI DSP EVM KIT Application Manual

X-NUCLEO-53L0A1 ranging and gesture detection sensor expansion board based on VL53L0X for STM32 Nucleo

PI5USB30216DXUA Demo Board Rev.B User Manual

Transcription:

Features and Benefits: The board is an easy to use I2C controlled board that provides 8 Grove Digital I/O ports. 8 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 and Raspberry Pi Included Low Cost Quantity Discounts Available Immediate Availability Introduction This board is an inexpensive Grove I2C controlled 8 pin GPIO Board for the Raspberry Pi, Arduino and the ESP8266. It has 8 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. Version 1.1 - Page 1 of 16

Board Compatibliity Board Raspberry Pi Arduino ESP8266 Digital Grove X X X How To Use The is a eight-channel, flexible 8 / Connector GPIO extender controlled by an I2C bus. The board uses a 3.3V / 5V SX1502 8 channel GPIO extender. The default I2C Address is 0x21. To use the 8GPIO board, you connect up the I2C bus to an Arduino, ESP8266 or Raspberry Pi. The 8 GPIO pins are split into two banks, A and B. Each bank can be set to be 3.3V or 5.0V compatible. Version 1.1 - Page 2 of 16

LEDs on the D0 - Buffered Green LED D1 - Buffered White LED VDDM Power LED Version 1.1 - Page 3 of 16

What are Grove Connectors? A Grove connector is a four pin standardized size connector used to plug into the Pi2Grover base unit and Grove devices and modules. These standardized connectors (common to all types of Grove Connectors) are the key to making this system work. They are keyed to prevent plugging them in backwards, and the four types of connectors (see below) are all designed so that if you plug the wrong type of device into the wrong type of base unit, there is no problem. They just won t work. This is a good thing. Less smoke, more prototyping! The Four Types of Grove Connectors Below are some of the specifics of each of the four types of connectors. First of all, physically all of them are the same. Exactly. The differences are in the signal types that are provided. Now, note. You will never short out power and ground by mis-plugging one type of Grove connector in the other. However, it is possible to plug a 3.3V Grove Module into a 5.0V Grove connector and damage the device. The same could happen with an output coming back from a Grove button or switch for example into another output. While you do need to be careful and think about what you are doing, it is a lot less risky than soldering or using just jumpers to wire up devices to your Pi or Arduino. Generically, all of the Grove connectors are wired the same: Signal 1, Signal 2, Power, Ground. A digital Grove connector consists of the standard four lines coming into the Grove plug. The two signal lines are generically called D0 and D1. Most modules only use D0, but some do (like the LED Bar Grove display) use both. Often base units will have the first connector called D0 and the second called D1 and they will be wired D0/D1 and then D1/D2, etc. Version 1.1 - Page 4 of 16

Pin 1 D0 Primary Digital Input/Output Pin 2 D1 Secondary Digital Input/Output Pin 3 VCC Power for Grove Module (5V or 3.3V) Pin 4 GND Ground Examples of modules are: Switch Modules, the Fan Module, and the LED Module. Grove Analog (Note: The has no Analog Connectors. Grove Analog is supplied by the Grove 4Channel 16 bit ADC Module) An Grove Analog connector consists of the standard four lines coming into the Grove plug. The two signal lines are generically called A0 and D0. Most modules only use A0. Often base units will have the first connector called A0 and the second called A1 and they will be wired A0/A1 and then A1/A2, etc. Grove Analog Pin 1 A0 Primary Analog Input Pin 2 A1 Secondary Analog Input Pin 3 VCC Power for Grove Module (5V or 3.3V) Pin 4 GND Ground Examples of Grove Analog modules are: Potentiometer, Voltage Divider and the Grove Air Quality Sensor. Version 1.1 - Page 5 of 16

Grove UART (No Grove UART on the ) The Grove UART module is a specialized version of a Module. It uses both Pin 1 and Pin 2 for the serial input and transmit. The Grove UART plug is labeled from the base unit point of view. In other words, Pin 1 is the RX line (which the base unit uses to receive data, so it is an input) where Pin 2 is the TX line (which the base unit uses to transmit data to the Grove module). Grove UART Pin 1 RX Serial Receive (from base point of view) Pin 2 TX Serial Transmit (from base point of view) Pin 3 VCC Power for Grove Module (5V or 3.3V) Pin 4 GND Ground Examples of Grove UART modules are: XBee Wireless Sockets, 125KHz RFID Reader Version 1.1 - Page 6 of 16

Grove I2C There are many types of I2C Grove sensors available. Most are 5V/3.3V devices, but there are a few that are only 3.3V or 5.0V. You need to check the specifications. The Grove I2C connector has the standard layout. Pin 1 is the SCL signal and Pin 2 is the SDA signal. Power and Ground are the same as the other connectors. This is another special version of the Grove Digital Connector. In fact, often the I2C bus on a controller (like the ESP8266, Raspberry Pi and the Arduino) just uses Digital I/O pins to implement the I2C bus. The pins on the Raspberry Pi and Arduino are special with hardware support for the I2C bus. The ESP8266 is purely software. Grove I2C Pin 1 SCL I2C Clock Pin 2 SDA I2C Data Pin 3 VCC Power for Grove Module (5V or 3.3V) Pin 4 GND Ground Version 1.1 - Page 7 of 16

Interface Pinout Pin Headers Version 1.1 - Page 8 of 16

Wiring Lists for Non Grove Pin Headers Raspberry Pi (A/B/A+/B+/Pi 2/Pi 3) Signal Name Raspberry Pi A/B/A+/B+/Pi 2 GND GND (GPIO/6) GND (JP1/1) Power 3.3V (GPIO/1) VDDM (JP1/2) SDA I2C1_SDA (GPIO/3) SDA (JP1/3) SCL I2C1_SCL (GPIO/5) SCL (JP1/4) Version 1.1 - Page 9 of 16

Arduino Uno Signal Name Arduino Uno GND GND (POWER/GND) GND (JP1/1) Power 5.0V (POWER/5V) VDDM(JP1/2) SDA ADC4/SDA (ANALOG IN/A4) SDA (JP1/3) SCL ADC5/SCL (ANALOG IN/A5) SCL (JP1/4) Ardunio Mega 2560 Signal Name Arduino Mega 2560 GND GND (POWER/GND) GND (JP1/1) Power 5.0V (POWER/5V) VDDM (JP1/2) SDA SDA (COMMUNICATIONS 20) SDA (JP1/3) SCL SCL (COMMUNICATIONS 21) SCL (JP1/4) Theory of Operation SX1502 IC For more complete information, see the full SX1502 Specification at: http://www.semtech.com/images/ datasheet/sx150x.pdf. The board uses a Semtech SX1502 8 GPIO I2C IC to supply the 8 on the board. Version 1.1 - Page 10 of 16

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/pulldown 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. Version 1.1 - Page 11 of 16

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. Operating Values Min Normal Max Unit VDDM VCC1/VCC2 Supply Voltage IO Supply Voltage 1.2 5.5 V 1.2 5.5 V IOH GPIO Output High Source Current 8 at VCC1/ VCC2 > 2V 0.3 at VCC1/ VCC2 < 2V ma IOL GPIO Output High Source Current 12 at VCC1/ VCC2 > 2V 6 at VCC1/ VCC2 < 2V ma Pin Locations Physical dimensions of board: 63 mm x 48 mm x 10mm(max). I/O Key: I - Digital Input Version 1.1 - Page 12 of 16

O - Digital Output A - Analog Pin Functions JP1 - Computer Side Pins Input / Output Control Lines for NAME PIN I/O DESCRIPTION GND JP1 / 1 A GND VDDM JP1 / 2 A Power for the. Use 3.3V with Raspberry Pi and 5.0V with Arduino SDA JP1 / 3 I/O Serial bus data line; open-drain input/output. SCL JP1 / 4 I Serial bus clock line; open-drain input. NINT JP1 / 5 O Outgoing Interrupt Line; 0 = Interrupt; open-drain output NRES JP1 / 6 I Reset SX1502; open-drain input ADDR JP1 / 7 I 8GPIOB I2C Address Select - 0x21 if tied to VDDM, 0x20 if tied to GND. Default 0x21 GND JP1 / 8 A GND JP2 - Auxiliary VDDM Pins Auxiliary VDDM pins NAME PIN I/O DESCRIPTION VDDM JP3 / 1 A Tied to VDDM input on JP2 (JP1 / 2) Version 1.1 - Page 13 of 16

VDDM JP3 / 2 A Tied to VDDM input on JP2 (JP1 / 2) JP3 - Bank A/B Power Supplies VCC1/VCC2 Power Supplies NAME PIN I/O DESCRIPTION VCC1 JP3 / 1 A Supply for SX1502 IO pins 0-3. Default tied to VDDM, but can be tied to 3.3V or 5.0V to provide level translation. To change you MUST cut SJ2 VCC2 JP3 / 2 A Supply for SX1502 IO pins 4-7. Default tied to VDDM, but can be tied to 3.3V or 5.0V to provide level translation. To change you MUST cut SJ2 JP4 - GPIO Pins GPIO Pins NAME PIN I/O DESCRIPTION IO0 JP4 / 1 D GPIO Pin 0 IO1 JP4 / 2 D GPIO Pin 1 IO2 JP4 / 3 D GPIO Pin 2 IO3 JP4 / 4 D GPIO Pin 3 IO4 JP4 / 5 D GPIO Pin 4 IO5 JP4 / 6 D GPIO Pin 5 IO6 JP4 / 7 D GPIO Pin 6 IO7 JP4 / 8 D GPIO Pin 7 JP5 - Auxiliary GND Pins Auxiliary GND pins NAME PIN I/O DESCRIPTION GND JP4 / 1 A GND GND JP4 / 2 A GND Version 1.1 - Page 14 of 16

GND JP4 / 3 A GND GND JP4 / 4 A GND Jumpers SJ1 Default closed - Cut SJ1 to supply a different voltage to VCC2 (Bank D4-D7). Supply VCC2 voltage at JP3 pin 2 SJ2 Default closed - Cut SJ2 to supply a different voltage to VCC1 (Bank D0-D3). Supply VCC1 voltage at JP3 pin 1 SJ3 Default closed - Cut SJ3 and solder SJ4 to change I2C Address to 0x23 from the default 0x21 SJ4 Default open - Cut SJ3 and solder SJ4 to change I2C Address to 0x23 from the default 0x21 Software for Arduino and Raspberry Pi SwitchDoc Labs developed this pure Python Raspberry Pi library for this as well as developing the Arduino C++ driver. The Python Raspberry Pi software is located on the SwitchDoc Labs github under https://github.com/ switchdoclabs/sdl_pi_grovedigital Arduino drivers are located on github under https://github.com/switchdoclabs/ SDL_Arduino_GroveDigital The first test on the Raspberry Pi should always be i2cdetect -y 1 which should show you the at the default address of 0x21. A similar test can be run on the Arduino (I2CTest - http://playground.arduino.cc/main/i2cscanner). Version 1.1 - Page 15 of 16

Running the test results from the are below on the Raspberry Pi: pi@rpi3:~/sdl_pi_grovedigital $ sudo python SDL_Pi_GroveDigital_Test.py Test SDL_Pi_GroveDigital Version 1.0 - SwitchDoc Labs Sample uses 0x21 I2C Address Program Started at:2016-05-15 00:20:02 ----------------- setdirect channel = 0x1 olddirectionreg= 0xff newdirectionreg= 0xfe setdirect channel = 0x4 olddirectionreg= 0xfe newdirectionreg= 0xfa ('GPIO Value =', 1) ---------------- ++++++++++++++ ('GPIO Value =', 0) ---------------- ++++++++++++++ ('GPIO Value =', 0) ---------------- Next, here are the results of the test on the Arduino. This test blinks the D0 and D2 LEDs: -------------------------- SDL_Arduino_GroveDigital_Test Version 1.1 ---------------- ++++++++++++++ GPIO Value =1 ---------------- ---------------- Version 1.1 - Page 16 of 16