As I said earlier, I tend to like what I called a hacker's shield that has islands with pins needed for a particular purpose (I2S1, I2S2, Serial1, Serial2, i2C0, i2C1, SPI0, SPI1, etc.). And it would be nice if there was an option for using standard cables (such as the 5x2 IDC cable, or the RJ45 cable with 8 wires).
Now in your shield there isn't necessarily room for these island, but it would be useful to avoid the usual cross wiring that you see with breadboards. Obviously there are some issues, such as you can't use SPI1 and Serial1 at the same time, since they use the same pins. And with SPI pins, you often want to chose other pins for the CS, D/C, and reset pins, particularly if you have multiple SPI devices on the bus (such as flash memory, a SD card reader, and a display).
Speaking of the CS pins, you may want to have pull-up resistors for the common pins, just like you have for the i2c pins.
And a lot of times now, I find myself wishing I had a separate 5v power bus.
But again that likely won't fit this into your current setup.
Yeah, it's a pretty tight sqeeze on a 2 layer board, but it helps keep the cost down. If I add too much more, some traces are going to have 4-5 vias.... not ideal for high-speed signals. There isn't much room for any more connectors, but there are a few things I think I could fit:
- A 5V level translator for WS2812 strings
- 5-pin Serial port header
- Some general purpose LEDs
- Piezo buzzer
- Spring terminals for the sides
I was wondering about carving a through path for a wire under the spacer PCB to get that missing pin connected as long as the trace connects all the other pads?
That should work. You could also find some 1mm washers and use those as spacers. I'm pretty sure the ones that come with the kit are about 1mm thick, so you could try those.