If you want to take advantage of the great I/O power on the Adafruit Grand Central M4 Express or any other Arduino Mega-compatible board, this should be a great help.

This shield features:

*Assuming this is a regular Mega, Duo, or similar board. The Grand Central ties both I2C buses on the shield together into one, so this extra Qwiic connector is just a third I/O for that.


The two Qwiic connectors at the west end of the board are connected directly to the main I2C bus.

The third Qwiic connector, hear the northeast corner, connects to the secondary I2C bus on the Mega. Since the Grand Central puts these two pins to the main bus, for that board this connector just serves as a third Qwiic.

There is also a fourth Qwiic connector connected to an NXP Semiconductors PCA9665, which gives the board an additional I2C port. The 8-bit parallel data for the port is tied to pins 42-49, while the control pins are tied to pins 37-41. This will require some coding to make it work -- quite a bit more than the two lines needed for a software hack. I have yet to see how much benefit it will actually have, though I suspect that speed will be a factor. A connected solder jumper is on the Power pin for the chip; if you're not going to use this additional bus, I recommend that you cut this jumper, saving power and freeing up those 13 pins.


There doesn't really seem to be a standard connector for I2S, but a simple 6-pin shrouded male header just seemed like the best choice.


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 (currently represented here by a 4-pin header) 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 is presumed to have its own power (or a separate connection to the same power source).

Also, remember that any RX/TX connection is a direct two-way connection, not a bus. Don't connect the UART and BobWire from the same port. This may seem obvious to some, but even the brightest and most experienced among us can make silly mistakes.

At present, this "BobWire" system (using 3-port Picoblade connectors) will only work with a Feather with a GateWing (qv); or another Duo, Mega, Grand Central, or similar board with a Grand Central Connector Union Station Shield. 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.)


Putting more than one of these boards into the same system is not recommended. The RX/TX connectors don't duplicate, any PCA9665 beyond the first would have to be depowered to avoid hardware conflicts, and the I2S port would be blocked. The only real benefit you'd get is the three additional Qwiic connectors on the main I2C bus(ses), and there are other Shields you can get that provide more than that.

Note that all connectors are either at the board's "west" end, or in the space that's left open with a conventional shield on top. Unless you're not using the latter set, this should be the uppermost Mega-sized board on the unit.

I would have liked to have included a connector for the 14-bit Parallel Capture Peripheral interface that the Grand Central is designed to handle. However, there's no standardized connector for that (at least, that I can tell) and, in contrast with the fairly simple "BobWire" system above, I don't consider myself the person to invent one. Additionally, some of those pins are already used for the I2S connector. Thus, I used some of the other pins for the PCA9665.