Electronic – programming 3.3V PIC32 board with pic32prog and PICkit 2

pickitprogrammer

I already managed to overwrite the bootloader of my clients's PIC32MX7 board while experimenting with mikroe-uhb. so before I can continue the assignment I need to reprogram it, and all I have on hand is a PICkit 2. I have a PICkit 2 to ICD3 cable on order, but my worry is that the different voltage levels (5VDC on the Pk2, 3.3 on the MMB) could fry the board. googling around, I've seen suggestions for using diodes or resistors, or adding capacitors here and there, but I'm wondering if it really needs to be that complicated. I saw at least one post that indicated if the PICkit2 sees a voltage on the VDD line, it won't put out its own. can anyone here tell me authoritatively what the deal is?

[added later]
just for reference, here is the adapter cable I bought: http://www.ebay.com/itm/251569322951

it turns out that its pin numbering is in reverse to the PICkit 2, i.e., hook the blue wire to pin 1 of the Pk2, rather than the white wire. I powered up the mikroe board, then connected the PICkit2 to the ICD3 port and ran pic32prog:

jcomeau@aspire:~/rentacoder/jm_____$ pic32prog/pic32prog pic32mx795f512l_bootloader_firmware_v130.hex 
Programmer for Microchip PIC32 microcontrollers, Version 1.96
    Copyright: (C) 2011-2014 Serge Vakulenko
      Adapter: PICkit2 Version 2.32.0
    Processor: MX795F512L
 Flash memory: 512 kbytes
  Boot memory: 12 kbytes
         Data: 12428 bytes
        Erase: done
Program flash: ########################### done
 Program boot: #### done      
 Verify flash: ########################## done
  Verify boot: #### done       
Rate: 1517 bytes per second

Best Answer

The PicKit2 can program 3.3V devices just fine. Look at the PK2 user guide, section 3.4.2:

3.4.2 The application circuit is powered externally

The PICkit 2 may be used with application circuits powered externally between +5.0V and +2.5V.

You should look at the whole chapter 3, and compare its requirements / recommendations with the schematic of the board you need to program. But if it has an ICD3 header you probably should be fine.

You can measure, before connecting the PK2 to your board, that it indeed does output the proper voltage on Vdd when controlled by pic32prog (about 3.3V).

(Updated after reading Majenko's answer who did indeed look at the source code)