El PICkit3 tiene firmware intercambiable dependiendo del PIC o dsPIC a programar/depurar.
Si vas a programar un dsPIC33 por ejemplo, debes conectar el ICSP al dsPIC33, alimentar al dsPIC, ir a MPLAB, elegir el PIC objetivo (Configure, Select Device), elegir el PICkit3 como programador/depurador.
MPLAB leerá el PICkit3 y verificará si su firmware corresponde al PIC que tiene conectado en su ICSP. Si no corresponde (por ejemplo, habías programado un PIC32 antes), entonces actualizará el firmware del PICkit3 para el dsPIC33.
PICkit 3 detected
Connecting to PICkit 3...
Firmware Suite Version...... 01.26.43
Firmware type......................dsPIC33F/24F/24H
PICkit 3 Connected.
Target Detected
Device ID Revision = 00003001
Luego cuando cambias de PIC pasa esto (dsPIC33 a PIC18 por ejemplo)
PICkit 3 detected
Connecting to PICkit 3...
Running self test...
Self test completed
Firmware Suite Version...... 01.26.43
Firmware type......................dsPIC33F/24F/24H
Downloading AP...
AP download complete
Running self test...
Self test completed
Firmware Suite Version...... 01.26.43
Firmware type......................PIC18F
PICkit 3 Connected.
PK3Err0045: You must connect to a target device to use PICkit
3.
El PICkit3 es algo torpe con la auto-detección de voltaje en la tarjeta. Si tu PIC o tarjeta no tienen fuente propia, puedes alimentarlos con la fuente del PICkit3 yendo a Programmer, Settings, Power.
PICkit 3 detected
Connecting to PICkit 3...
Firmware Suite Version...... 01.26.43
Firmware type......................PIC18F
PICkit 3 Connected.
Device ID Revision = 00000007