The Pure Modules Development connector is a zero cost universal way to program, debug, power, and provide expansion to your embedded designs.
History
After doing over 20 years of PCB design and trying many, many different ways to provide the above goals for programming and debugging hundreds of PCB's, we have settled on what we think is a good compromise for most designs. In the past we have tried zif connectors, SMD connectors, 100 mill headers, test points, tag-connect, standard 10-pin cortex connectors, 20 pin JTAG connectors, 6 pin FTDI 100 mil headers, and a handful more. Each has its advantages and disadvantages. Because we wanted SWD, UART, I2C, and Power we often had several connectors to provide all the debugging we wanted. In addition a connector per PCB all cost money and needed to be added to each design, even if were only using it one time to test and flash a boot-loader.
We came up with the PUREmodules interconnect several years ago and use it for all our development when possible. We ended up using this pin-out on most of the PCB's for programming because it costs nothing to add it even when we the standard 10-cortex, a ftdi header, and an I2C header already. Often it turned out that we used the connector for troubleshooting or in the future to test something out. It turned out extremely useful. Also for adding an i2c sensor to the design became extremely easy. We discovered that is is also very easy to solder wires to when experimenting or needed to move something further away or something random.
PUREmodules Debug Connector
The key enabler for this PCB edge connector is this part 009159010061916. It is the 10 pin version from AVX from the Open Ended Card Edge: BTB Series. Please note in the drawing above the Pin names are Labeled for the CPU side. The debug adapter or sensor is oppose to mate with it.
PUREmodules
Please note that the PUREmodules is an ecosystem of CPU, Sensor, and Power modules that are designed to interconnect together. This Write-up is intended only for the CPU side and programming and can be used with or without the rest of the PUREmodules ecosystem. The PUREmodules debug connector is useful just on its own for just programming and debugging only, the rest is bonus. Please note the standard PUREmodules pin-out does not have RESET, SWDIO and SWCLK on them. Typically pins 6-10 are GPIO or SPI. We typically only have one special PUREmodules debug/programming connector, and the other PUREmodule connectors have the GPIO or SPI.
The SWD Breakout PCB
Below is a PCB we use internally for converting the PUREmodules debug connector to a 10-pin Cortex and a 6-pin FTDI header. It has proven invaluable.
For those of you interested in making your own, Here is a link to order one from OSH park.