Intro.
Si llegaste hasta acá, probablemente ya sabes qué es el Bus Pirata! Pero en caso de no saber, es un circuito que sirve de interfaz para comunicar desde un puerto USB de la PC con varios protocolos: Serial, I2C, SPI, 1-Wire, JTAG entre otros.
Cuenta con una sonda de medición de 0 a 6 Voltios (Para muchos sensores analogicos), medidor de frecuencia (Para un contador de revoluciones de motor, p.e.), generador de PWM (Para los servos) entre otras muchas cosas interesantes. Tambien puedes utilizarlo como datalogger.
Si ponen en google «Bus Pirata Venezuela» quizá se sorprendan por la cantidad de resultados arrojados no relacionados con la electrónica. Lo que me hace pensar que a mas de uno le caerá bien esta información en su momento.
Documentación
Las referencias que vamos a estar citando a lo largo de esta entrada son:
Ingredientes:
Como de costumbre, nuestros amigos de electronica magnabit comercializan muchos de los componentes necesarios en Venezuela.
Elaboración:
Lo primero que noté es que los pines del conector FT232 son MUY pequeños, y como mi intención es montar todo en un protoboard primero, voy a necesitar un conector SOIC a DIP.

Lo mismo para el conector USB

Esos conectores hacen falta debido a que mi intensión es armar primero los circuitos en el proto. Es simplemente una cuestión de estilo. En otro post, lo montamos en un PCB!
El montaje de cuicuito usb debe parecer esto

Las líneas azules son «masas», «tierra», «0v» o cómo quieran llamarlas. De cualquier manera, guiense con el esquematico del circuito. Si todo fué bien, al conectar el cable usb, windows7 lo reconoce como un dispositivo, el led rojo parpadea y luego se apaga, y el administrador de dispositivos muestra un puerto COM nuevo, como en la imagen:

Nota: el dispositivo debe estar frio! me pasó que invertí la polaridad de la alimentación del circuito, y el FT232 se calienta… MUCHO.
Nota: el 4066 es un CD4066, no un 74XX4066. Es distinto! El cd4066 es un chip cmos, y se usa en parte como un nivelador de tensión

Eso es el circuito mas o menos terminado. No tengo en mi disposición los reguladores mic5205, pero voy a hacer lo posible por conseguir algunos.
Programando el Bus Pirata.
El bus pirata tiene 2 clases de programas: El bootloader, y el firmware. El bootloader es cómo un sistema operativo donde se guardan muchas configuraciones básicas del sistema. El firmware son cómo los programas que corre nuestro sistema operativo… mas o menos.
Lo importante es que necesitamos cargar el bootloader para que algo funcione.
Desde este enlace descargar v3-PIC Bootloader-v2.hex y el v3-Firmware-v3.6.hex
Y desde acá, descargar P24QP.exe, P24QP.ini y PICBOOT.dll y guardar todo eso en una misma carpeta.
Programar el pic24 con el archivo hex a través del ICS (los 5 pines de programación) (Se programa con el pickit)
Desconectar el programador de pic
Abrir P24QP.exe, con click derecho seleccionar el puerto COM que nuestro bus pirata emula, Y luego click en el ícono «Conect to Device»
Si todo salió bien, deberían tener una imagen como esta! 
Luego, click en abrir, y seleccionar qué imagen var a pasar (vxx-Firmware-vx.hex). Sustituir las x por el número de la versión que ustedes dispongan.

Click en erase, click en write. La operación de write se tarda bastante… BASTANTE como 2 o 3 minutos. Los leds de la comunicacion van a estar parpadeando todo el proceso.
Al final se abre una archivo .TXT llamado ERROR con unos «errores» si todos los errores están entre las direcciones 0x400 y 0xBFF, entonces no hay problema! en esa zona reside el bootloader, y es normal.
Click a la flecha verde de la derecha y decirle que sí.
Halar el cable usb, y reconectar.
En http://dangerousprototypes.com/2009/07/23/bus-pirate-101/ dicen que el terminal de windows no funciona muy bien con el bus pirata, y recomiendan otro terminal, el Tera Term. Bajen ese zip, y descomprimanlo en alguna parte que puedan localizar fácilmente después.
Una vez bajado, configurado, y conectado, dale a enter, y van a ver el prompt %HiZ> luego escribe el signo ‘?’ y enter otra vez
EUREKA!!!

Comprobación: Comando «G 50 10» debería generarles una señal cuadrada de 50 KHz y 10% de duty cicle en el pin 21 de PIC!
Estoy probando una ROM no oficial en mi android, y no tengo camara. Ergo les debo la foto del la señal del osciloscopio D:
Comentarios
Despues de hacer pruebas sobre los comandos básicos podemos concluir:
- El comando de PWM (G) trabaja bien
- El comando de frecuencimetro (F) no trabaja muy bien: Inyectando una señal de 1KHz reporta 768Hz. Desconozco si es un bug o qué.
- A medida que vaya probando, voy updateando 😀 (30/03/2012)