En esta entrada ya comenté como los amables chicos de Dangerous Prototypes me habían suministrado una plaquita para montar un BUS Pirate versión 3.8.
Por fin he encontrado un ratillo libre y me he puesto a montarla. Lo primero es hacer recapitulación de los componentes necesarios, no sea que nos falte alguno:
A base de soldadura en pasta y aire caliente, tras un rato de entretenimiento obtenemos esto:
Una vez que el BUS Pirate tiene todos sus componentes adecuadamente soldados en su lugar, sigue siendo un peso muerto. Tiene cuerpo, pero no alma. Éste es el software que, desde el PIC, lo controlará.
El alma del BUS Pirate tiene dos componentes, el primero es el bootloader, que nos permitirá actualizar el segundo componente, el firmware, de una forma sencilla. Para instalarlo en el microcontrolador, que ahora mismo está sin programar, necesitamos un dispositivo adecuado: un programador de PICs. En mi caso utilizaré uno de los que comercializa Microchip, un PICKit3.
Para grabar el PIC del BP necesitamos conectar éste al PICKit3 tal que así:
Lo más elegante hubiera sido soldar el conector adecuado en los orificios dispuestos para ello, pero es un conector que no se necesita utilizar más que en una ocasión, así que nos lo ahorramos.
El software de programación que utilizaré con el PICKit3 es el suministrado con el entorno de grabación gratuito de Microchip, MPLAB X, llamado IPE.
Como vamos a alimentar el BUS Pirate con el PICKit3, necesitamos utilizar IPE en modo avanzado. Para ello pulsamos en Settings -> Advanced Mode:
La interfaz del programa cambia y tenemos acceso a más funciones para controlar el programador.
Una de esas funciones es el control de la alimentación del dispositivo a programar. La encontramos en la sección Power, donde debemos asegurarnos que VDD está a 3.25 y Power Target Circuit from Tool está seleccionado:
El LED de PWR del BP se encenderá:
Ahora ya podemos conectarnos con el BUS Pirate. Vamos a la sección Operate y seleccionamos nuestro microcontrolador en el apartado Devices. Tenemos un PIC24FJ64GA002. Pulsamos Connect y el PICKit3 alimentará y comenzará la comunicación. Si todo ha ido bien, en la ventana Output debe aparecer el mensaje Target detected. Si no es así debemos comprobar la conexión entre el PICKit3 y la placa del BUS Pirate, así como que hemos elegido el microcontrolador adecuado en el programador.
Ahora hay que seleccionar el fichero que queremos grabar en el PIC, en este caso el correspondiente al bootloader. En Dangerous Prototypes tienes disponible un archivo ZIP con las últimas versiones del software del BUS Pirate, que puedes bajarte desde AQUÍ. Una vez descomprimido, podemos elegir el fichero adecuado desde IPE pulsando en Source -> Browse:
Selecciono BPv3 ya que tengo un BP versión 3, y lo abro. IPE reconoce el archivo como válido y lo carga adecuadamente:
Con todo listo, pulsamos en Program y en unos poco segundos el PIC del BUS Pirate tendrá grabado el bootloader:
Ya podemos cerrar IPE y desconectar el PICKit3 de la placa del BP, ya que no lo necesitaremos más.
En este momento el BUS Pirate está medio vivo, no tiene el software que lo convierte en un verdadero BUS Pirate cargado pero sí tiene instalado el bootloader que nos permitirá de forma muy sencilla cargar en él el firmware, por primera vez en unos momentos, y cada vez que sea necesario cuando aparezcan nuevas actualizaciones.
Para poder cargar el firmware necesitamos un programilla, ds30, que viene incluido en el archivo comprimido que hemos descargado antes desde Dangerous Prototypes. Para que este programa conecte con el BP necesitamos poner éste en modo bootloader. Nada más sencillo, ponemos un puente en la placa del BUS Pirate entre PGC y PGD y lo conectamos al PC con un cable USB. Deben de encenderse los LEDs de PWR, por la alimentación, y el de MODE, al estar en modo bootloader:
Uno de los parámetros que debemos indicar cuando utilicemos ds30 es el puerto serie en el cual tenemos conectado el BP.
El BUS Pirate se conecta a través del puerto USB al PC, pero lo hace a través del integrado que lo acompaña en la placa, el FT232, que se identifica a sí mismo a través del puerto USB como un adaptador RS232. Para poder conectarnos a él necesitamos configurarlo, y ésto se hace a través de Panel de Control -> Administrador de Dispositivos (en Windows):
Allí buscamos los puertos COM y nos aparecerá nuestro FT232 como USB Serial Port. Anotamos su número de puerto, 13 en mi caso, y abrimos sus propiedades, cambiando la velocidad de conexión a 115200 baudios:
Ya podemos abrir ds30, donde seleccionaremos el puerto que hemos anotado antes y configuraremos la misma velocidad:
Pulsamos en Check for bl y ds30 encontrará nuestro BUS Pirate.
Ahora hemos de cargar el firmware adecuado en ds30. Para ello pulsamos los tres puntitos a la derecha de Hex-file y navegaremos hasta el archivo descomprimido de Dangerous Prototypes:
BPv3-firmware-v6.1.hex es el que nos interesa.
Y pasamos a programar: pulsamos Download:
Y comienza la programación:
¡Hecho! Download finished nos confirma que todo ha ido bien:
Podemos cerrar la aplicación y desconectar el BP del puerto USB. Recuerda eliminar el puente entre PGC y PGD para que la próxima vez que se conecte no entre en modo bootloader.
Ya tenemos nuestro flamante BUS Pirate preparado y actualizado a la última versión disponible.
Comprobemos que funciona adecuadamente, entonces. Para ello arrancamos nuestro programa de terminal favorito y lo configuramos con los mismos valores de siempre:
- COM13 (en mi caso)
- 115200 baudios
- 8 bits de datos
- Sin paridad
- 1 bit de parada
Abrimos la conexión en el terminal y conectamos el BUS Pirate al puerto USB:
HiZ>
El BUS Pirate ha hablado.
¡Está vivo!
Pingback: Quark XXLIV .::. Montando el USB IR Toy v3 del Free PCB Drawer | ELEKTROQUARK
muy bueno yo no soy ducho en esto pero tratamos de entender
Great job! Just ordered my free pcb and i’m looking for the parts and the how-to-build! This will be of a great help. Thanks!
Hi FelloPirate,
Thank you!
I’m glad the article is helpfull!
Iñigo.