The PUREmodules Development connector is a zero cost universal way to program, debug, power, and provide expansion to your embedded designs.
- No cost to add to your design
- Provide power and GND
- Provide SWD JTAG programming
- Provide TX and RX UART debugging pins
- Provide I2C expansion pins
- Solder-able if needed
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.
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.
- 1: VCC system, 2-3.3V range. typically could be directly tied to a lithium coin cell or two AA's in series
- 2: RAW battery, 3.3V-15V range. cound be a li-ion battery, wall wart, solar cells, etc. this raw battery is typically regulated down to 3V-3.3V
- 3: GND, Common ground reference point
- 4: SDA (I2C)
- 5: SCK (I2C)
- 6: UART TX (the uart TX out of the micro-controller)
- 7: UART RX(the uart RX into the micro-controller)
- 8: CPU RESET
- 9: CPU SWDIO
- 10: CPU SWCLK
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.
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.