Best Microchip Programmer These Days

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
As the embedded development sofware moves ahead faster than some existing embedded systems i decided few years ago keep on one PC MPLAB 8.92 and MPLAB X 4.20 to support old projects if needed (and maybe have fun with old MCUs). On this PC i use PICkit3 and ICD3 with IDEs and PICkit2 with a standalone PK2 app if needed. For the newer projects i use different PC with MPLAB X new versions and ICD4 or PICkit4. Both PCs have Windows 11, no problems so far.
If i do finally decide to upgrade i will probably end up doing something like that too. Can not lose support for older chips, no way Microchip.

BTW, how do you connect your PK3 and your PK4 to the board with the chip to be programmed? And dont you have to ensure there are resistors on certain pins or something when it is being programmed?
I was wondering about that because the one i have now is different, it has a socket on the dev board that you use to program the chip, so you have to unplug it from the application board and plug it into the dev board to program it.
I did the in circuit programming thing with Arduino type chips, but never with PIC chips, yet. Isnt here a Vpp signal that has to get to the chip also?
 

MaxHeadRoom

Joined Jul 18, 2013
30,658
I did the in circuit programming thing with Arduino type chips, but never with PIC chips, yet. Isnt here a Vpp signal that has to get to the chip also?
In MPLAB IDE, When assigning a programmer it has a check box option for whether the target is powered externally or requires power from the Pickit.
 

trebla

Joined Jun 29, 2019
599
BTW, how do you connect your PK3 and your PK4 to the board with the chip to be programmed? And dont you have to ensure there are resistors on certain pins or something when it is being programmed?
For PICkit3 is usually necessary to use some jumpers on PGD and PGC pins to isolate other circuitry from programming connections, PICkit2 &4 and ICDs are not very often affected if you follow ICSP recommendations from Microchip.
 

nsaspook

Joined Aug 27, 2009
16,321
For PICkit3 is usually necessary to use some jumpers on PGD and PGC pins to isolate other circuitry from programming connections, PICkit2 &4 and ICDs are not very often affected if you follow ICSP recommendations from Microchip.
+1

I've always liked some sort of physical isolation (usually a slide switch) on the PGD and PGC pins when they are needed by other functions.
1680550186226.png
 

Attachments

nsaspook

Joined Aug 27, 2009
16,321
If you dedicate the programming / debugging pins to that purpose, nothing extra is needed.
True but there are sometimes limited or no PPS options for some communications device pins on controllers. That's not a problem if the I/O Power connector TX/RX and PGD and PGC programmer interface use the same pins. ;)

1680552893907.png
TTL level CAN-FD RX/TX functions on the programming connector PGD and PGC pins.
 

Attachments

Last edited:

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
For PICkit3 is usually necessary to use some jumpers on PGD and PGC pins to isolate other circuitry from programming connections, PICkit2 &4 and ICDs are not very often affected if you follow ICSP recommendations from Microchip.
Hi,

Oh that's interesting. I think i can manage that. With the way i do it now i have to remove the chip and plug it into the programmer to program it so maybe jumpers would be simpler.

One other thing i dont get though. They seem to have either a 6 pin connector or an 8 pin connector. From what i have read now, that requires a header on the target application board. Is that right? I hate to have to add a header just for that.

I also see that it seems that the PK2 and 3 will not be able to program the chips i want to use, unless they updated it and did not update the list of uC chips they can program.
Do you happen to have what they are calling the "Pickit3 readme file"? Supposedly they list the supported chips in that file, but it doesnt seem to be available online. They have a list i found, but it seems to short to be correct so if possible i'd like to see that readme file.

Thanks.
 

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
If you dedicate the programming / debugging pins to that purpose, nothing extra is needed.
Hi,

Oh yes that makes sense, i might be able to swing that.
I am not sure i like adding a header just for programming though, is there a way around that?

Also, would you happen to have the "Pickit3 readme file" ?

Thanks much.
 

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
In MPLAB IDE, When assigning a programmer it has a check box option for whether the target is powered externally or requires power from the Pickit.
Oh that sounds good. I am still looking around and so far it looks like the Pickit2 and 3 will not be able to be used for the chips i want to use.
I cant seem to find the "Pickit3 readme file" though, which supposedly has a list of supported uC chips.
Would you happen to have that file? They say it is in one of the directories after you install i think MPLAB X or whatever they call it. It may be with MPLAB 8 also i dont know, but maybe MPLAB X supports more chips than 8.

I also read that some of the uC chips they make now are "optimized" for using C code.
 

trebla

Joined Jun 29, 2019
599
Also, would you happen to have the "Pickit3 readme file" ?
Do you mean this file? This is from PICkit3 standalone app directory, i suspect every version of MPLAB / MPLAB X has own version of this file. I add MPLAB 8.90 and MPLAB X 4.05 readme .htm files (delete .txt and _mplabXXXX on these filenames). I can find this file from MPLAB 8.90 and 8.92 plus 4.20 and 6.00. Maybe some other versions too, i must look on different workplaces, this takes some time.
 

Attachments

BobTPH

Joined Jun 5, 2013
11,515
I am not sure i like adding a header just for programming though, is there a way around that?
Believe me, you will wonder why you didn’t do it before. It also allows you to debug on the hardware, which you cannot do with a separate programming socket. Not to mention using SMT parts.

After my very first project, swapping a socketed DIP back snd forth to program with pickit 1, I have included that header on every board I have made except a tiny board where I could not fit it. On that board I soldered three wires to pads on the board to program.

Another method I have seen is to include only pads and make a jig with pogo pins that you press onto the pads to program.
 

MaxHeadRoom

Joined Jul 18, 2013
30,658
Oh that sounds good. I am still looking around and so far it looks like the Pickit2 and 3 will not be able to be used for the chips i want to use.
I cant seem to find the "Pickit3 readme file" though, which supposedly has a list of supported uC chips.
Would you happen to have that file? They say it is in one of the directories after you install i think MPLAB X or whatever they call it. It may be with MPLAB 8 also i dont know, but maybe MPLAB X supports more chips than 8.
What Pic's are you primarily using?
If you have MPLAB IDE 8.92 loaded you can run the pic No. and it shows whether it is supported.
 

trebla

Joined Jun 29, 2019
599
They say it is in one of the directories after you install i think MPLAB X or whatever they call it
Documentation files are usually in C:\Program Files (x86)\Microchip\MPLABX\v4.20(or some other version)\docs directory, for old version of MPLAB X, 64 bit versions are installed in C:\Program Files\Microchip\MPLABX\v6.00(or some other version)\docs directory. MPLAB 8 readme files are in C:\Program Files (x86)\Microchip\MPLAB IDE\Readmes directory
 

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
Do you mean this file? This is from PICkit3 standalone app directory, i suspect every version of MPLAB / MPLAB X has own version of this file. I add MPLAB 8.90 and MPLAB X 4.05 readme .htm files (delete .txt and _mplabXXXX on these filenames). I can find this file from MPLAB 8.90 and 8.92 plus 4.20 and 6.00. Maybe some other versions too, i must look on different workplaces, this takes some time.
Oh ok thanks.

As always, the first chip i look for does not show up on ANY of the lists.
The chip part number:
16F18426 or 16F18446

Now it should be impossible not to be able to program these chips right?
 

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
Believe me, you will wonder why you didn’t do it before. It also allows you to debug on the hardware, which you cannot do with a separate programming socket. Not to mention using SMT parts.

After my very first project, swapping a socketed DIP back snd forth to program with pickit 1, I have included that header on every board I have made except a tiny board where I could not fit it. On that board I soldered three wires to pads on the board to program.

Another method I have seen is to include only pads and make a jig with pogo pins that you press onto the pads to program.
Cant find the support for chips i want to use though anywhere.
16F18426 and 16F18446
 

Thread Starter

MrAl

Joined Jun 17, 2014
13,704
What Pic's are you primarily using?
If you have MPLAB IDE 8.92 loaded you can run the pic No. and it shows whether it is supported.
Hi again,

I am TRYING to use these:
16F18426 and 16F18446

I guess they are relatively new? I thought they were at least 4 years old but i could be wrong.
Cant find on any lists.

I have an older version of MPLAB right now.
 

trebla

Joined Jun 29, 2019
599
As always, the first chip i look for does not show up on ANY of the lists.
The chip part number:
16F18426 or 16F18446

Now it should be impossible not to be able to program these chips right?
I looked from MPLAB X 5.45 supported devices file, there are those MCUs supported for PICkit3
 

LesJones

Joined Jan 8, 2017
4,511
I have programmed the PIC16F18446 using the PICKit4 without any problems. I first bought a PIC16F18446 -XPRESS boarf when they were on offer. That board has the programmer built in. I think it may be possible to use this board to program an external PIC16F18446.

Les.
 

trebla

Joined Jun 29, 2019
599
I think it may be possible to use this board to program an external PIC16F18446
Onboard programmers and Microchip Snap programmer usually can program all PICs which support LVP. PICkit4 has on-board Vpp charge pump, so it can program older chips too.
 
Top