Construindo um cabo ISP para Arduino

Quem possui um Arduino (Uno e Mega na maioria, embora outros também se enquadrem nesse quesito), deve ter percebido aquele conjunto de pinos que nunca utilizou e que acha que provavelmente nunca vai utilizar (ao menos eu pensava isso), até precisar gravar o bootloader de outro Arduino ou mesmo, por algum motivo, precisar programar outro Arduino através de um Arduino já conectado ( Arduino as a programmer ) .

A idéia desse artigo não é explicar o que é a interface ISP ( In System Programming ), é possível realizar essas tarefas mesmo sem o cabo, com um monte de jumpers, porém é um processo muito trabalhoso e com o cabo ISP a tarefa fica bem mais fácil.

Para fazer o cabo, é necessário apenas um conector IDE ATA (paralelo) que esteja sobrando.

Inicialmente vamos dar uma olhada na pinagem do conector ICSP do Arduino:

Conforme pode ser visto, são 6 pinos, que devem ser conectados nos mesmos 6 pinos de um outro Arduino que tenha essa pinagem ( com certeza o Uno e o Mega 2560 ), com exceção do pino de reset em uma das pontas, como será explicado adiante.

Comece do lado com o fio vermelho (também conhecido como pino um) contando três furos do conector IDE (o que vai resultar nas 6 conexões necessárias pois são três furos por linha) e com a ajuda de alguma ferramenta de corte (eu utilizei uma micro-retífica no 4o furo para evitar danos ao 3o furo), mas pode ser também um estilete, uma mini serra, etc. O resultado do corte é como está na foto:

Faça isso nas duas pontas do conector. Em uma das pontas apenas, basta levantar o acabamento do conector para expor as conexões do cabo nos conectores. Após isso, identificar a conexão do pino de RESET ( ver pinagem ), que vem a ser o último pino da primeira fileira (fila do pino 1), eu utilizei um multímetro para testar se o conector era o do pino 5 ( RESET ). Identificado o pino, basta cortar essa conexão e com a ajuda de um estilete, separar todo o fio do pino 5 desse conector ( a outra ponta permanece sem alterações ). Feito isso, basta fechar novamente o conector ( eu ainda coloquei uma fita isolante para ajudar a prender o conector ).

Na ponta do fio solto do conector, pegar um pedaço de arame fino ( basta desmontar ou um jumper de Arduino ou um arame utilizado para amarrar pão fatiado ou prender cabos, conforme mostra a foto )

 

Cortar um pedaço pequeno e soldar na ponta do fio. Após isso, basta utilizar fita isolante para dar um acabamento ou então utilizar um cabo termo-retrátil para isolar tudo.

Segue a imagem com a ponta que deve ser colocada no Arduino que irá servir como programador:

E era isso! Esse conector com o corte no RESET deve ser sempre utilizado no Arduino que está ligado diretamente no computador, o que irá programar o outro Arduino. Em ambos os lados, conectar sempre o fio vermelho no primeiro pino da interface ICSP do Arduino.