Este problema puede soslayarse utilizando un módulo USB-TTL (ó USB-Serie) ⁽¹⁾, la última versión del programa gratuito PICpgm para Windows, un par de resistencias muy comunes y una placa de prototipos (breadboard).
Así quedaría en su configuración (casi⁽²⁾) mínima para un PIC16F1827,
![Imagen](https://raw.githubusercontent.com/r3p0s/ibom/main/images/FT232R_USB-TTL_JDM_Programmer/FT232R_USB-TTL_JDM_Programmer_0.00_breadboard_th.jpg)
y, como se puede observar en la siguiente captura de pantalla, el programa PICpgm detecta este engendro como un "JDM Programmer".
![Imagen](https://raw.githubusercontent.com/r3p0s/ibom/main/images/FT232R_USB-TTL_JDM_Programmer/FT232R_USB-TTL_JDM_Programmer_0.00_PICpgm.jpg)
Después sólo quedaría usar la opción para programar o su correspondiente icono (el de la llama roja, a la derecha de la persiana de selección de PIC).
La programación del código (Flash), datos (EEPROM) y bits de configuración puede llevar hasta 10 minutos e incluso acabar con algunos errores de verificación de datos (EEPROM) o de los bits de configuración (normalmente el bit correspondiente al modo de programación alta tensión/baja tensión) pero, para el caso que nos ocupa (el PIC del DD!) no afecta en absoluto y cuando he probado el PIC en mi ZX VaDeRetror! 2.1c con su ZX VaDeRetror+ 1.02 todo ha funcionado perfectamente a la primera.
A continuación el esquema con las dos posibles variantes, a la izquierda LVP para programación a baja tensión compatible con los PIC16F182x; y, a la derecha, HVP para programación a alta tensión para quienes necesiten usarlo con PIC que no soporten LVP pero que requiere una alimentación externa a +12VDC.
![Imagen](https://raw.githubusercontent.com/r3p0s/ibom/main/images/FT232R_USB-TTL_JDM_Programmer/FT232R_USB-TTL_JDM_Programmer_0.00_print_th.png)
La lista de componentes adicionales para la variante LVP es muy simple,
Lista de componentes (2)
Cantidad | Referencia | Valor | Formato |
---|---|---|---|
1 | R1,R2 | 10kΩ | 1/8W ó 1/4W |
Lista de componentes (4)
Cantidad | Referencia | Valor | Formato |
---|---|---|---|
3 | R1,R2,R3 | 10kΩ | 1/8W ó 1/4W |
1 | Q1 | BC548 | Transistor NPN universal como BC547, BC548,... |
⁽²⁾ Casi mínima porque, en teoría, la resistencia R1 no es imprescindible.