From blwiki
Jump to: navigation, search

GVS Connector


What is GVS?

The letters GVS stand for "Ground-Voltage-Signal". GVS is a standard for connecting Microcontrollers to Input/Output devices. GVS is the order of the pin numbers (Ground=pin 1, Voltage=pin 2, Signal=pin 3) for the connections. GVS started out as the pinout at the end of the cable from a servo and has grown to be the standard for many Sensor cards.

Advantages to using GVS

There are quite a few advantages to using GVS. These include:

  • The GVS pins are standard 0.1" pitch .025" square headers.
    • Three pins have a decent retention force - much better than a single pin in a single socket.
  • Most devices that connect to a Microcontroller require power and ground connections.
    • Power/Ground pins GVS pins bring out a power and ground out for each I/O connection eliminating messy wiring.
      • The Arduino UNO only has 2 ground pins and 1 power pin on the expansion connector.
  • Standardized hookup due to common pinout.
    • Uses 1:1 cabling.
    • This makes it easy to hook up three wire direct cables to many sensors.
  • There are many off the shelf sensors which are already set up for GVS connections.

Use of GVS "Parts" with Microprocessors

GVS interfaces can be either digital or analog signals. GVS Interfaces can support signals into or out of a Microprocessor.

Many Microprocessors have weak pullups which can be selectively enabled for inputs. These may not be strong enough for some GVS input devices. In that situation, the GVS card needs to have pull-up resistors on the Sense line.

Our GVS Designs

GVS Processors Boards

We have a number of GVS processor boards:

  • GVSDuino - Arduino UNO compatible with a full set of GVS pins
  • GVS-32U4 - Arduino Leonardo compatible with a full set of GVS pins
  • MiniDuino - Arduino UNO compatible with a single GVS pin (for 5-way-switch)
  • TinyDuino85 - ATTiny85 board with 5 GVS pins
  • TinyGrid85 - ATTiny85 board with 5 GVS pins at the center and a generous breadboard area for quick prototyping
  • Tiny85ISP - ATTiny85 ISP based Programmer board with 2 GVS pins

GVS I/O BOards

We also have quite a few GVS I/O boards:

  • DS18S20 - One Wire Temperature Sensor
  • DS18S20-LDR - One Wire Temperature Sensor plus Light Dependent Resistor (LDR) Sensor
  • IR_Sensor - Infrared Sensor
  • LDRSensor - Light Dependent Resistor (LDR)Sensor
  • Sw5Way - A 5 way switch on a single analog input line
  • One Wire Logger - Much more than just a sensors, it's a complete datalogger with display

GVS Pinout

The pinout is:

Pin Number Letter Signal
1 G Ground
2 V VCC (+5V)
3 S Signal

Land-Boards uses the standard GVS pinout for both microprocessor boards and sensor boards.

GVS Sensor Shield Development Board

Here's an example of a GVS sensor shield which connects to an Arduino UNO or compatible. The shield can be purchased for less than $5 from China on ebay. The Sensor Shield development board allows designs to be quickly prototyped using inexpensive off the shelf hardware. There are several variants of this basic design called V4 and V5.


I2C Connector Pinout

In addition to the GVS pins, the board also has an I2C connector which has the following pinout:

Pin Number Letter Signal
1 G Ground
2 V VCC (+5V)
3 SDA I2C Serial Data
4 SCL I2C Serial Clock


Cables that are wired 1:1 can easily be used.

GVS wiring provides the ultimate in flexibility since individual sensors and outputs can be fully connected with standard 3-pin to 3-pin cables.

Cables can be purchased from many sources, but I like Pololu best since they sell pre-crimped wires and crimp connector housings of various sizes so you can have custom colors.

Here's an example cable:

P1 P2 Letter Signal
P1-1 P2-1 G Ground
P1-2 P2-2 V VCC (+5V)
P1-3 P2-3 S Signal

Cable Lengths

  • Ribbon Cables with preterminated pins come in 3 sizes (10 cm (~4"), 20 cm (~8") and 30 cm (~12"))

Pin Crimping in Cables

Connector Kits


Common GVS designs

Here are some other simple designs.

GVS Pushbutton Momentary Contact Switch

Switches come in a variety of configurations such as normally closed and normally open. Also, the switch output can be high or low when pressed. With a Microcontroller it doesn't much matter whether the pin is normally high or low since the Microprocessor can deal with whatever the pressed value might be. The typical way would be to have a switch which is pulled up to VCC and then when the button is pressed goes down to Ground.


Here is an example of a GVS Pushbutton Switch as found in ebay:


Test with Arduino DigitalReadSerial


LEDs can be turned on by being driven high or low. The choice depends upon the electrical output characteristics of the particular part being used to drive the LEDs. Some parts have symmetric capabilities and can drive high or low with the same drive levels. Many other parts are only capable of driving low with the current required to drive an LED. The most typical design would be to have the LED pulled up to Vcc and drive the S pin low to light the light. Here is a good write-up on using LEDs with a calculator which can be used to select the series resistor value for a given LED color.


Test with Arduino Blink

GVS Potentiometers

Pots are useful to present an analog voltage to a Microprocessor. They provide finer control than a switch but require an analog input to the Microprocessor.


While it might be intuitive to connect the outside pins of a potentiometer to the outside pins of the GVS connector, it would also be fatal to the potentiometer since the entire voltage would be present across a small portion of the travel of the pot.


The following is the correct wiring. It is important to note that plugging this connector in backwards would produce the same fatal result.


Test with Arduino AnalogReadSerial

GVS Buzzer

Here is a GVS buzzer as found in Ebay. This sort of buzzer should be driven from a PWM output on the Arduino.


GVS Touch Sensor

Here is a GVS Touch Sensor as found in Ebay.