Introducción 
Si tienes un programador serie de la familia 
T20 o derivados estás de suerte. Ahora, con una mínima modificación en tu programador, puedes programar microcontroladores 
PIC utilizando la herramienta 
PICPROG que actualmente se encuentra en su versión 1.7 (y tu programador seguirá siendo compatible con 
icprog Qué necesitamos
Hablaremos del software. Lo único que nos hace falta es tener instalado 
picprog. Bajamos el paquetito debian que vemos (a la hora de escribir éste documento es picprog-1.7-2_i386.deb
 Cuando tengamos el archivo, lo instalamos. Como root tecleamos
~# dpkg -i picprog-1.7-2_i386.deb
  Después de la instalación ya estaremos listos para utilizarlo como se muestra a continuación. 
Utilización 
Borrado del microcontrolador 
Para borrar por completo el microcontrolador escribimos:
~# picprog --erase --burn -d pic16f84 -pic /dev/ttyS0
  Las opciones son las siguientes: 
- --erase Borra el chip.
- --burn Si no utilizamos ésta opción, en realidad no haremos nada sobre el micro, tan solo simularemos la operación, lo cual nos sirve para verificar que la sintaxis ha sido correcta.
- -d pic16f84 Microcontrolador sobre el que operar. Picprog es capaz de autodetectar gran cantidad de micros por si mismo, pero no está de mas ayudarle un poco.
- -pic /dev/ttyS0 Puerto a utilizar para comunicarnos con el programador. Por defecto se utiliza /dev/ttyS0, pero tampoco está de mas indicárselo. No debemos olvidar dar los permisos necesarios a los puertos para poderlos utilizar.
Programación 
Para programar el micro:
~# picprog --input mi_archivo.hex --burn -d pic16f84 -pic /dev/ttyS0 
La única opción nueva aquí es 
--input que como habremos imaginado sirve para indicar cual es el archivo 
con extensión .hex a utilizar. 
Lectura 
Por último como leer del micro:
~# picprog --output mi_archivo.hex --burn -d pic16f84 -pic /dev/ttyS0 
Con la opción 
--output le decimos a picprog dónde queremos que guarde los datos leídos. 
Notas 
- Es útil indicar que se pueden realizar varias operaciones a la vez, como por ejemplo el borrado y la programación en una misma llamada, para ello solo hay que indicar las dos opciones a la vez y picprog borrará y después programará nuestro micro con el archivo que le indiquemos.
- Para los menos versados en el tema que seguro que se preguntan que qué pasa con los fusibles, con la EEPROM, etc... Bueno, tanto los fusibles como el espacio de EEPROM pertenecen al espacio de direcciones de los micros, por lo que solo hay que buscar en la documentación de cada micro e indicarle al ensamblador con las directivas adecuadas qué valores hay que almacenar en cada dirección de memoria (usualmente suelen utilizarse directivas db para éso.
El hardware 
Para poder utilizar el programador T20 con picprog (y aún así que sigua siendo compatible con icprog) deberemos hacer una pequeña modificación en el hardware. Ésta modificación consiste tan solo en cortar un par de pistas e introducir un transistor MOS 2N7000 o compatible.
 En el siguiente enlace sobre 
modificación del T20 podremos ver de forma gráfica éste proceso.
 Es muy sencillo, y si no nos atrevemos nosotros seguro que conocemos a alguien que se atreva a hacerlo por nosotros. 
Enlaces