This is a fairly simple project: connect the application-specific I/O pins on the Feather to connectors that can make use of those applications. These consist of:
- An SPI connector similar to those on full-sized Arduinos
- A Qwiic connector for the I2C bus
- A 3-pin Picoblade connector to utilize the RX/TX pins (something I've given the admittedly rather unimaginative name "BobWire," described below)
As a bonus, the board also has:
- An additional I2C bus, completely separate from the main one
- Eight (count 'em, eight) additional GPIO ports
Since the Feather doesn't really have a 5V pin for the SPI, a voltage converter (the Maxim MAX619) is included to provide the needed voltage. (Note that the converter is rated at 50mA, so don't overload it!) If you need this, just connect the solder header on the bottom of the board.
The voltage converter is important, as some connected devices require 5V and draw their power from that pin. Some other devices (such as other boards) provide their own 5V power, so a rectifier diode is also included to keep that voltage from overloading the Feather's 3.3V line.
In all other ways this should function just like the vertical SPI connector on most full-size Arduino boards.
The Qwiic connector at the side of the board is wired directly to the appropriate pins on the board, making it that much easier to connect external I2C devices.
Thanks to a CP2120 SPI-to-I2C bridge, the Feather's SPI bus also hosts a second I2C bus, along with an additional Qwiic connector for that bus located at the end of the board. This can be handy should you need two separate I2C buses, such as if they need to run at two different speeds, or the Feather is a Slave on the regular bus but also needs to be a Master for its own set of devices. In the latter case, by using this Wing, you can bypass the headaches of trying to manage a multi-Master I2C bus.
The CP2120 also provides 8 additional GPIO pins, and there's just enough room left on the board to squeeze in space for an extra header for those ports. While I assume you'd want vertical female headers, put in what you want.
"BobWire" RX/TX Connector:
This is something I cooked up myself, since UART isn't always a practical solution. RX/TX is a great way for boards to communicate with each other on an as-needed basis; however, the usual 4-wire UART connections also carry power, which can put a burden on the host system or create conflicts if multiple boards have their own power, while single-wire male-header cables can be clumsy and insecure. The innovation I've created here is what I call "BobWire." This puts the Ground wire between the RX and TX wires; a cable would make the connections straight-through, so that the RX at one end connects to the TX at the other and vice versa. Since the Ground is in the middle, that becomes common, but the unit at each end has its own power.
At present, this "BobWire" system (using 3-port Picoblade connectors) will only work with another Feather with a GateWing; or a Duo, Mega, Grand Central, or similar board with a Grand Central Connector Union Station Shield (qv). I'm declaring this a completely "open-source" idea, though, with a Creative Commons Attribution license: anyone may use it without having to worry about compensating me. The only restriction is that you must credit me; if you use it without modification, though, you really should include the "BobWire" name so people know what they're getting (i.e., two boards with BobWire connections should, with the right cable, get along just fine).
(And yes, I know that the name is pretty unimaginative. I did come up with a few other names, but -- believe it or not -- they were all even stupider.)
There are many potential problems with using more than one of these on a Feather at once, mainly to do with data conflicts. Chief among them are the potential for SPI conflicts, and the temptation to use more than one BobWire...Read more »