Resumo TL;DR: para ARM SWD, TI Spy-Bi-Wire ou Microchip ICD, use o footprint Tag-Connect No-Legs com atribuições de pinos/pads padrão e obtenha cabos Tag-Connect.
Ao projetar dispositivos que utilizam microcontroladores, é necessário fornecer um conector de depuração e programação. Este pode ser utilizado apenas para desenvolvimento, ao escrever e depurar software, ou também pode ser deixado nas unidades de produção, para programação na fábrica.
Os fabricantes e criadores de ferramentas garantiram que vivêssemos num mundo onde existe uma multitude de conectores de depuração com muita confusão à volta deles. É por isso que acabamos com isto: 
Então, qual conector escolher para um novo projeto?
Este artigo foca principalmente em dispositivos ARM que possuem a interface SWD (Single-Wire Debug), mas também é aplicável a outros componentes, como o Texas Instruments MSP430 que usa o protocolo Spy Bi-Wire (JTAG de 2 fios), Microchip ICD, ou até mesmo componentes que precisam de um conjunto mais completo de pinos JTAG.
Algumas das escolhas comuns que são frequentemente consideradas:
Uma observação imediata é que a maioria destes conectores requer, bem, conectores. Isso é um componente adicional que precisa de colocar na placa, o que custa dinheiro. Para unidades de produção ou séries de protótipos maiores, esse conector será usado apenas uma vez em toda a vida útil do produto, o que é um desperdício.
As soluções Tag-Connect ou footprints personalizados com conectores baseados em pogo-pin têm uma vantagem óbvia aqui, pois não exigem que nenhum componente seja colocado na PCB, então o custo do conector de depuração por placa despenca para 0, o que é ótimo!
É assim que um footprint Tag-Connect se parece numa placa real: 
E é assim que o cabo com pinos pogo se parece:
A segunda consideração principal é o tamanho e os requisitos de espaço resultantes na placa. Os únicos concorrentes são o micro-conector de 10 pinos de 0,05" e um footprint Tag-Connect de 6 pinos. O micro-conector de 10 pinos é na verdade um pouco menor numa direção, mas a diferença não é significativa. Aqui está a aparência de um micro-conector de 10 pinos de 0,05" (este é de uma placa de desenvolvimento Nordic Semiconductor nRF52832, a PCA10040): 
Existem duas variantes de um cabo conector Tag-Connect: uma com "pernas" e outra "sem pernas". Qual é a diferença?
O Tag-Connect utiliza pinos pogo, que têm molas no interior e empurram contra a PCB. Se quiser que o conector permaneça no lugar, tem de aplicar força continuamente sobre ele. Isto é bom para programação rápida, onde pode usar uma mão para segurar o conector no lugar e outra para iniciar o trabalho de programação, mas não funciona tão bem para sessões de depuração prolongadas. Para isso, a pegada "legs" (e o conector) funciona muito melhor. As pernas funcionam como pequenos clipes, por isso, uma vez inserido o conector, elas encaixam no lugar e mantêm os pinos pogo firmes contra a placa, por tempo indeterminado.
O problema com o footprint "com pernas" é o seu tamanho: é significativamente maior do que a variante "sem pernas". O que é pior, ele precisa de quatro furos grandes na placa. Furos grandes são sempre um problema: eles (obviamente) precisam passar por todas as camadas, e você precisa de uma área de isolamento (keepout) ao redor deles também. Isso significa que o impacto de um footprint "com pernas" no seu design é muito maior do que o da variante "sem pernas".
Para unidades de produção, onde a conexão provavelmente será feita apenas uma vez na vida útil de um produto e pode ser facilmente segurada à mão o tempo todo, não há dúvida: você definitivamente prefere o footprint "sem pernas", que economiza espaço na placa. Mas o que fazer com os protótipos? Por um lado, você pode arcar com o espaço na placa, mas, por outro lado, não quer redesenhar a PCB apenas porque precisa remover os furos na revisão final.
Felizmente, existe outra solução. A Tag-Connect vende um pequeno clipe de retenção. É um pedaço de PCB com três soquetes que se encaixam nos pinos do cabo Tag-Connect. Não é uma solução mecanicamente perfeita e os clipes tendem a se desgastar com o tempo (eles também são incrivelmente fáceis de perder!), mas na prática funciona muito bem.
Minha recomendação é sempre optar pelo footprint "sem pernas" e cabos, comprar um monte de clipes de retenção e economizar espaço na placa e no redesenho das placas.
Já vi hardware em uso, onde os designers usaram um footprint Tag-Connect para ARM SWD (num Cortex-M0), mas atribuíram os sinais de forma diferente. É provável que a motivação fosse ofuscar a interface.
Isso não é algo que eu recomendaria: a ofuscação é facilmente descoberta, e acaba-se com um footprint incompatível, o que inevitavelmente causará problemas no futuro.
A Tag-Connect recomenda que nenhum componente seja colocado (ou trilhas roteadas) no outro lado do footprint. Embora essa seja uma boa recomendação, nem sempre se tem esse luxo, especialmente em placas pequenas com restrições de layout apertadas.
Como descobri, pode-se colocar componentes no outro lado, mesmo quando se utiliza o clipe de retenção para segurar o cabo no lugar. Sugiro a utilização de um pedaço de isolante entre os componentes e o clipe de retenção, no entanto, para evitar possíveis curto-circuitos (papel funciona bem). Embora não seja a prática recomendada, isto funciona, embora fixar o conector de depuração no lugar se torne um pouco mais complexo.
Aqui está um exemplo de uma placa de protótipo (por favor, desculpe a qualidade da solda do protótipo) onde os componentes são colocados dentro da área do footprint de depuração: 
Nem tudo são flores com o Tag-Connect. O site não é bem organizado, então é difícil encontrar as informações que você está procurando. Há uma infinidade de variantes oferecidas e, embora a maioria das pessoas precise de um único tipo de cabo, ele não é exibido com destaque. Infelizmente, isso parece ser uma tradição com empresas que fabricam equipamentos de depuração e programação no mundo embarcado.
A segunda queixa que tenho é que a empresa oferece bibliotecas CAD para download com footprints Tag-Connect, mas afirma que:
Esses arquivos são fornecidos 'COMO ESTÃO' e sem garantia de que estejam completos, livres de erros ou adequados para uso. Verifique cuidadosamente os decalques importados em relação ao datasheet mais recente fornecido no site da Tag-Connect (veja abaixo). Em particular, verifique os tamanhos dos furos, a numeração dos pinos e preste muita atenção à camada de máscara de pasta de solda para garantir que nenhuma pasta de solda seja depositada nas ilhas do footprint.
Se você olhar nos arquivos ZIP fornecidos, geralmente haverá várias variantes de footprint para um determinado CAD. Qual delas eu uso? E por que é minha responsabilidade verificar isso?
Acho que a Tag-Connect deveria limpar esta biblioteca e fornecer um conjunto de footprints suportados, pelo menos para os pacotes CAD mais populares, sem um aviso legal. Deveria fazer parte do valor desta solução.
Considerando tudo, o Tag-Connect ainda é a melhor solução de depuração e programação pronta para uso. Eu recomendaria padronizar com ele e usá-lo em todos os seus projetos.
O PartsBox é um aplicativo online que permite controlar seu inventário de componentes eletrônicos, preços de BOM e produção em pequena escala. Ele acompanha onde os componentes estão armazenados, quais são os níveis atuais de estoque e quais componentes são usados em quais projetos/BOMs.