We love the Beaglebone Black. With all of its I/O connections it offers exciting potential for embedded/connected devices. The two PRU I/O Coprocessors have potential for Input/Output that no other board in its class can offer. It even has real mounting holes which let the board be used for real-world applications.
When we got our first Beaglebone Black we were excited to try it with some of our Arduino GVS (Ground/Voltage/Signal) sensors and GVS output devices but couldn't since they are all 5V sensors. Sure we could cobble together some level shifters on a breadboard but in the end we wouldn't have something that could be deployed in a real application What we really wanted was a 5V Sensor shield like the one we use for our Arduino. But there were none out there. So we designed one.
Introducing the BBB-GVS cape.
- (5) 5V GPIO GVS connections (auto direction detection)
- (4) 5V GPIO/Timer GVS connections (auto direction detection)
- (2) 5V UART Tx/Rx connections (auto direction detection)
- (1) 5V PWM GVS connection
- (1) 5V I2C bus 4-pin connections (auto direction detection)
- 5V pins are all ESD protected pins with 15 kV of protection
- Cape configuration EEPROM
- (7) 3.3V GPIO connections
- (1) 3.3V UART Tx/Rx connection
- (1) 3.3V PWM GVS connection
- (7) 1.8V analog GVS connections
- Resettable Fuses on 5V and 3.3V power
- Selectable 5V source
- 3.3V and 5V status LEDs
- Beaglebone Black form factor
In a nutshell, the 3.3V digital signals of the Beaglebone Black need to be changed into 5V digital signals. There are a number of discrete ways to convert 3.3V bus to 5V signals. Some of them use MOSFETs and a couple of resistors. These work OK but there are some powerful chips out there that can do the conversion even better.
We looked around and found what we think is the best 3.3V<>5V data conversion chip, Texas Instrument's TXS0108. The TXS0108 is an 8-bit, bi-directional buffer with automatic direction detection. Each and every pin can transmit and receive independently and even at the same time. The part supports both open drain and push-pull operation. The part can run as fast as 60 Mb/s in push-pull operation and 2 Mb/s in open drain. This speed is fast enough enough for microprocessor GPIO pin or even the fastest serial interfaces that a microprocessor can throw at it.
What is GVS?
GVS is great for prototyping or deploy-able products. The beauty of the GVS connection is that power and ground are provided with each I/O signal. That provides the power needed to power external sensors and output devices. Otherwise splitting the one or two power pins into separate cables ends up being a real mess.
GVS stands for Ground, Voltage and Signal. It's a 3-pin unofficial standard. It uses 0.1" pitch pins. There are a large number of GVS sensors (inputs) and devices (output) parts on ebay although they are not called GVS sensors typically. They are identifiable by the three pins and the silkscreen near the pins as GVS sensors. Even sensors which don't have the GVS pin ordering can still be used they just require a cable with wiring other than 1:1.
The sorts of GVS sensors include:
The sorts of GVS output devices include:
- Relay modules (not always wired as GVS, but they frequently require 5V).
Buzzers (also not often wired as GVS so cable must match)
To connect a GVS sensor to a GVS card, just use a 3-wire cable. 3-pin cables are available on ebay or you can make your own cables by using parts from Pololu and others. Another easy way to cable the device to the card is with female-to-female cables. They typically come in 40 pin cables which can be torn apart to make your own jumpers.
The Beaglebone Black also has I2C, SPI and UART connections. These allow various devices to be connected:
We wanted a sensor shield like the ones use for the Arduino. In the Arduino's case, there's a limited amount of I/O lines The Beaglebone has many more I/O lines than the Arduino. We wanted to convert as many of the signals to 5V as we could possible fit on a board the size of a mint can. In particular, we wanted to convert the buses (I2C and SPI) as well as the UART lines to 5V. Also, we wanted to have a mix of 3.3V and 5V GVS signals. We also wanted to allow external connection to the analog inputs as we providing the analog reference voltage to run the analog input sensors.
We built a first pass card and found that a lot of the lines which we thought we open were actually used by other functions. So we designed a new card which only used available pins.
All of that translated into 2 parts which handle 8 I/O lines each. Putting these parts along with all the GVS connections we could possibly add resulted in our design.
In the upper left there are 7 Analog inputs. These each have GVS connections where the Ground is the Analog Group and the V pins connect to the Analog Voltage supply from the Beaglebone Black.
In the bottom left cover we provide 8 direct connection 3.3V GVS connectors. These can be used to connect to devices which are 3.3 level parts.
The rest of the connectors are 5V GVS signals. The other buses (UART Serial and I2C) are also provided on connectors specific to their interface type.
The cape has fuses on the 5V and 3.3V power connections. This provides a level of protection to the card and your Beaglebone. Nothing works better than not hooking things up. Measure twice and cut once could be figure what you want to hook up, do the hooking up, then check your hookup.
Risks and challenges
We don't feel this is an overly challenging problem technically. We know this board is a great idea since it's something we want ourselves and can't find.
The biggest material cost driver on this project is the voltage translator chips. They are over $5 for two chips in low volume. Getting this board produced with a higher volume will help lower the cost of the board and make it practical.
The alternates to this board include buying a proto cape and doing your own hand wiring. But it won't take long until the time to do that wiring and the mess it makes will prove impractical. Usually, for us, it's just a few connections until we are tired of messing around that way.
Our biggest challenge will be getting this board into the hands of people who, like us, are eager to start working with our Beaglebone Black boards. We have a team of local assemblers and we can scale production as demand is received.Learn about accountability on Kickstarter
- (32 days)