@Mr.Blinky - by the way… Since you already have some carts made up, I wanted to try and use the same pinout for the expansion header. But I ultimately ran into some limitations, so this will come with a new expansion header layout.
First, I think you are re-using Rx for your external cart select? I would prefer to reserve Tx/Rx for linking two Arduboys. With my proposed expansion header, I broke out some additional un-used pins (PF0/PF1 = A4/A5) that can be used for the cart select instead.
Also, I am planning on running the internal flash select on a separate un-used pin (PE2). This means (in theory) we could have a cart management app to clone flash carts, or copy between internal and external.
Also, I am running everything at 3.3v, which reduces the need for voltage level converters. Yes I know this is technically out of range for the ATmega32U4 at 16 MHz, but the official Arduboy does it like this, and it doesn’t seem to cause problems in practice, so…
I also wanted to make it possible to plug in both a serial link cable as well as an external cart at the same time. This would make it possible to copy from a second Arduboy over the serial connection.
So, my proposed layout is:
- 1x3 header with Tx, Gnd, Rx (on the bottom of the board)
- This makes it possible to simply reverse the cable on one end to establish proper Tx->Rx and Rx<-Tx cross-over.
- Both Tx and Rx would have a series resistor to limit the current if it was plugged in backwards and both sides were trying to actively drive the lines inversely.
- 2x5 header with MISO, SCK, RESET, PF0/A4, PF1/A5 on the top, and 3V3, MOSI, GND, PD1/SDA, PD0/SCL on the bottom.
- The first 2x3 section of the 2x5 has the same layout as a 6 pin ISP header making it easy to hook up to an external programmer.
- An external flash cart would use the same 2x3 header plus one other pin for chip select (potentially PF0/A4).
- A Bluetooth serial card would only need to use the 1x3 and some portion of the bottom part of the 2x5 port (i.e. for power and possibly gpio).
- There would probably be a ‘key’ for the 2x5 section, potentially integrated into the case itself.