# Loading a hex program using PICkit 3 and MPLABX-v5.52

**URL:** <https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963>\
**Category:** Development Boards, Kits, Programmers\
**Tags:** microchip-technology, programmers-emulators-and-debuggers, associated-products\
**Created:** [July 18, 2019, 9:17pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963 "2019-07-18T21:17:04Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 9:17pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/1 "2019-07-18T21:17:04Z")

</div>

I am a newbie. I need to discover how to load a hex program on a Microchip 18F45K80-I/PT (E3) 16151HY using a PICkit 3 (ser BUR184871703) and MPLABX-v5.52.

---

<div class="post-metadata">

**Author:** ![Robert\_Fay](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/robert_fay/32/6529_2.png) [@Robert\_Fay](https://forum.digikey.com/u/Robert_Fay)\
**Post date:** [July 18, 2019, 9:33pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/3 "2019-07-18T21:33:35Z")

</div>

To do the HEX i believe you have to use the IPE which is loaded with the MPLABX.

Here is a link to the page.  
[https://www.microchip.com/mplab/mplab-integrated-programming-environment](https://www.microchip.com/mplab/mplab-integrated-programming-environment)

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 9:34pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/4 "2019-07-18T21:34:39Z")

</div>

MPLAB IPE V3.35 is not available from MC any longer. I cant find it in their archives.

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 9:36pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/5 "2019-07-18T21:36:52Z")

</div>

This is what was originally used to program the hex file onto the chip.

---

<div class="post-metadata">

**Author:** ![ReidLandsrud](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/reidlandsrud/32/2052_2.png) [@ReidLandsrud](https://forum.digikey.com/u/ReidLandsrud)\
**Post date:** [July 18, 2019, 9:52pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/6 "2019-07-18T21:52:16Z")

</div>

The version of IPE should not matter. The hex file will stay constant. IPE should be installed with MPLAB X v5.52, and that should work fine for uploading the hex file to the PIC18.

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 10:09pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/7 "2019-07-18T22:09:16Z")

</div>

Ok. Thank you! I will give it a go and get back to you.

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 10:22pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/8 "2019-07-18T22:22:50Z")

</div>

One other question, does the PICkit 3 need to be recognized by the MPLAB X v5.52 before I start this?

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 11:17pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/9 "2019-07-18T23:17:27Z")

</div>

I have attempted programming. I get a CAUTION notice that says:

"Check the device selected in MPLAB IDE (PIC18F45K80) is the same one that physically attached to the debug tool. Selecting a 5V device when a 3.3V device is connected can result in damage to the device when the debugger checks the device ID. Do you wish to continue?

Note: If you would like to program this device using a low voltage programming, select CANCEL on this dialog. Then go to the PICkit 3 node of the project properties and check the Enable Low Voltage Programming check box of the Program Options Options Category pane (low voltage programming is not valid for debugging operations)."

I went to the node and changed it to ‘low voltage programming’ but with no affect. I changed the voltage to 3V and no affect. I changed both with no affect.

Here is what the output stated after the attempts:

"\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

Connecting to MPLAB PICkit 3…

Currently loaded firmware on PICkit 3  
Firmware Suite Version…01.32.09 \*  
Firmware type…dsPIC33F/24F/24H

Now Downloading new Firmware for target device: PIC18F45K80  
Downloading bootloader  
Bootloader download complete  
Programming download…  
Downloading RS…  
RS download complete  
Programming download…  
Downloading AP…  
AP download complete  
Programming download…

* * *

Connecting to MPLAB PICkit 3…

Currently loaded firmware on PICkit 3  
Firmware Suite Version…01.56.00  
Firmware type…PIC18F

Target device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.

* * *

Connecting to MPLAB PICkit 3…

Currently loaded firmware on PICkit 3  
Firmware Suite Version…01.56.00  
Firmware type…PIC18F

Target device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.

* * *

Connecting to MPLAB PICkit 3…

Currently loaded firmware on PICkit 3  
Firmware Suite Version…01.56.00  
Firmware type…PIC18F"

Thoughts?

---

<div class="post-metadata">

**Author:** ![PaulHutch](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/paulhutch/32/3357_2.png) [@PaulHutch](https://forum.digikey.com/u/PaulHutch)\
**Post date:** [July 18, 2019, 11:34pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/10 "2019-07-18T23:34:48Z")

</div>

How you get this to work is dependant on how the circuitry around the PIC18F45K80 is designed. There are a whole bunch of different conditions that can cause the symptoms you’re seeing and without the schematics for the circuit, and schematics for how you are connecting it, there is no way to be certain what need to be done to get it working.

That said the people on the official Microchip forum do this kind of troubleshooting all the time and are 1000 times better at troubleshooting PICkit issues than I am.

FYI - PICkit is a hobbyist level tool, if this is for a business the ICD3/4 or RealIce are professional grade. (I have all of these for my work)

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 11:42pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/11 "2019-07-18T23:42:09Z")

</div>

Thanks Paul. The programs are pre-built and readied for this controller. Originally, the controller was installed with MPLAB IPE V3.35, but that is no longer available. The process for using that loader was clear. Using MPLABX-v5.52 is not the same, so its difficult to know what the output means. What I have seen with others is that they ignore that message and continue to program, but I am suspect and cautious. I am hoping someone can interpret a bit. All the connections are per the instructions.

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 18, 2019, 11:43pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/12 "2019-07-18T23:43:29Z")

</div>

Further, I am not the programmer, but I have a machine down and I am trying to reload it and get it running.

---

<div class="post-metadata">

**Author:** ![Taylor\_1236](https://avatars.discourse-cdn.com/v4/letter/t/b5a626/32.png) [@Taylor\_1236](https://forum.digikey.com/u/Taylor_1236)\
**Post date:** [July 19, 2019, 1:37pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/13 "2019-07-19T13:37:53Z")

</div>

How are you powering the target device? From the PICkit or externally?

This usually has something to do with the “Power Target from PICkit” setting not being checked when you need it to.

---

<div class="post-metadata">

**Author:** ![nathanhightower](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@nathanhightower](https://forum.digikey.com/u/nathanhightower)\
**Post date:** [July 19, 2019, 6:34pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/14 "2019-07-19T18:34:14Z")

</div>

Powering 18F device externally

---

<div class="post-metadata">

**Author:** ![PaulHutch](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/paulhutch/32/3357_2.png) [@PaulHutch](https://forum.digikey.com/u/PaulHutch)\
**Post date:** [July 21, 2019, 4:28pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/15 "2019-07-21T16:28:52Z")

</div>

> [@nathanhightower](#):
>
> Originally, the controller was installed with MPLAB IPE V3.35, but that is no longer available.

It’s still available in the official Microchip archives here (get the MPLAB X v3.35 download):  
[https://www.microchip.com/development-tools/pic-and-dspic-downloads-archive](https://www.microchip.com/development-tools/pic-and-dspic-downloads-archive)

However as @ReidLandsrud mentioned new versions of MPLAB IPE are included with new versions of the MPLAB X IDE and should be nearly identical in setup and usage (Microchip intentionally makes few changes to the UI of the IPE).

BTW according to Microchip the latest version of the MPLAB X IDE is v5.20.

> **[MPLAB® X IDE | Microchip Technology](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide)**
>
> MPLAB X IDE is an expandable, highly configurable software program that offers tools to help you program our microcontrollers and digital signal controllers.

---

<div class="post-metadata">

**Author:** ![PaulHutch](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/paulhutch/32/3357_2.png) [@PaulHutch](https://forum.digikey.com/u/PaulHutch)\
**Post date:** [July 30, 2019, 7:01pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/16 "2019-07-30T19:01:00Z")

</div>

A quick follow up because I used MPLAB X for the first time in a couple years today. I actually had to install it from scratch because of a Windows 10 fresh start last fall.

MPLAB IPE is an option when installing but the installer can be set to install either or both MPLAB X IDE and MPLAB IPE. Didn’t notice what the default choice is but definitely check which options are selected before clicking next (I know I too often skip reading many dialog prompts during an install and just click next to get it done)

The “Check the device selected in MPLAB IDE …” error message in no way indicates anything is wrong with your settings. It’s meant as a reminder that MPLAB, and all of the Microchip in-circuit debuggers/programmers, can not tell if you have set the power configuration correctly. The first time I went to use my new MPLAB X IDE installation I saw the message and then remembered the details. I checked off the box to make MPLAB X stop reminding me of this operational detail.

The warning may seem overly cautious on Microchip’s part however, if you accidently set the power options wrong you can burn out the micro and possibly other circuits on your PCB. The powering options are voltage and device or programmer as supplier. IIRC, the available options depend on which in-circuit debugger/programmer you are using.

---

<div class="post-metadata">

**Author:** ![JackRyan404](https://avatars.discourse-cdn.com/v4/letter/j/76d3ee/32.png) [@JackRyan404](https://forum.digikey.com/u/JackRyan404)\
**Post date:** [August 5, 2019, 3:29pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/17 "2019-08-05T15:29:49Z")

</div>

I open the IPE, connect the PICkit 3 to the chip. It does not recognize it .  
I open the 5v supply to the circuit. The IPE shows me the Chip selected, and the serial number of the PicKit3.  
When I click on connect. It shows Connection failure.

---

<div class="post-metadata">

**Author:** ![PaulHutch](https://sea2.discourse-cdn.com/digikey/user_avatar/forum.digikey.com/paulhutch/32/3357_2.png) [@PaulHutch](https://forum.digikey.com/u/PaulHutch)\
**Post date:** [August 5, 2019, 11:04pm UTC](https://forum.digikey.com/t/loading-a-hex-program-using-pickit-3-and-mplabx-v5-52/3963/18 "2019-08-05T23:04:40Z")

</div>

I don’t use PICKit3 so can’t help directly.

You may want to ask on the MPLAB X IPE section of the Microchip forum, the people who hangout there are very expert in PICKit3 and IPE.  
[https://www.microchip.com/forums/f292.aspx](https://www.microchip.com/forums/f292.aspx)
