View Full Version : PBP3.1 Gold + MCSX+ + Microchip's ICD3 programmer?

- 18th March 2018, 01:14
I am working with PBP3.1 and Microcode Studio Plus and a PIC18F67K40. I like writing my programs in Microcode Studio Plus and PicBasic Pro 3.1 Gold.
Perhaps I am missing something when I compile because there seems to be no seamless way to go straight into ICSP programming on my Microchip ICD3 programmer. It isn't a selection on the list of programmers and I don't think the instructions for adding a new programmer are clear to me. :confused:
What I have to do is keep Microcode Studio running and Microchip's MPLAB IPE running in a different Window (Windows 10). The MPLAB IPE is connected to the Microchip ICD3 programmer and watches for changes in the compiled hex file. If it spots a change to the hex file, the "minimized" MPLAB IPE icon at the bottom of the screen lights up orange and asks if I want to load the new hex file. Now all of this interconnection in these programming aids is amazing and makes life easier for me and I appreciate it...... BUT... isn't there a way to add the ICD3 to list of programmers for a seamless flow from PBP and MCSX to ICD3 programming? I really don't want to use MPLAB IPE if I don't have to.
Any input on how to incorporate the ICD3 programmer into the PBP3/MCSX operation?:confused:

- 18th March 2018, 16:27
You should be able to. It's similar to adding the Pickit3, but instead of using PK3CMD.EXE you'll need to use the file from the MPLABX folder mplab_ipe\icd3cmd.exe

See this thread for adding a custom programmer http://www.picbasic.co.uk/forum/showthread.php?t=14064.
I'm sure there are other posts, as well as the MCSX IDE help.

The command-line options for icd3cmd.exe can be found in the MPLABX folder docs\Readme for RealICECMD_ICD3CMD.htm

Give it a try and see how it goes.

- 19th March 2018, 07:02
If you're using IPE then this thread (http://www.picbasic.co.uk/forum/showthread.php?t=21149) might be helpful. It also targets the PICKit3 which is likely different from the ICD3 but as eagleman pointed out you should be able to find the corresponding commands and options for the ICD3 and apply those.

My guess is that for newer devices you're going to have go "thru" IPE since that's where they add support for the new devices. But once you have it working from within MCSP+ it's a one click operation. Then again, I've only worked with the PICKit3 so I don't really know about the ICD3.


- 19th March 2018, 10:35
In case there's any confusion, the mplabx ipecmd.exe is the generic command-line driver that can handle any of the programmers.

The '傍P' option lets you select which tool:
傍PPK3 PICkit3
傍PPKOB PICkit On Board (PKOB) demo boards

The april update of mplabx is supposedly going to add the Pickit4.

For legacy purposes, some tool-specific command line interfaces are available:

Probably easier to just follow Henrik's example and use ipecmd.exe for all of them.

- 19th March 2018, 20:57
If I may add, ICD3 is a crap...

It is supposed to be a professional programmer-debugger but ... un-functional for me. Also unable to power the very light (in aspect of current consumption) circuits and external power is always a must.

PicKit3 is great and when possible I use the Stand alone software for this.

Even better a third programmer, (in my case Elnec which is far away...).


- 19th March 2018, 21:20
IMHO the ICD3 is the best one I've used. Far better than the pickit3, and I prefer it even to the RealICE.
Mine supplies well over 150mA to the target... way more than the pickit2 or 3.

There must be something wrong with yours. They usually fix them for free...

- 20th March 2018, 08:16
Most of the time, there is even no communication with the ICD3.

Something with Endpoint ..etc.

All start with the new MPLABX thing. When I used the MPLAB 8.xx it worked OK.

After changing firmware and swithced to X all went too bad.

It is too pity as I really liked it as it was before.


- 20th March 2018, 11:07
Oh, so your problem is with MPLABX. Welcome to the club.

It's not the ICD3 that's crap, it's MPLABX. I've had problems with all the tools in every version of MPLABX.
Some versions are better than others. I've had the least issues with the earlier V3.xx releases, but V4.xx is basically unusable for me.

I try and use MPLAB 8.92 whenever I can.

- 20th March 2018, 12:06
I get that too with icd3 and pk3 , I think it may be a usb issue unplugging and reconnecting programmer fixes it for a while.
saleae logic8 now does it too [keeps saying it can't keep up even @50k s/sec it used to do 16million] . perhaps my i5 laptop just does not keep pace with the real world any more now its bogged down in windoze 10

- 20th March 2018, 13:05
I have the issues at Win-7 64 with the ICD3 and sometimes with Pickit3 but none with Saleae so far. Taday I downloaded the Beta version but have not test it.

Unfortunately going back to MPLAB 8 is not always an option.

Also using third party hardware has issues too. For example my trusted old Elnec Pikprog+ does not support new devices anymore and I have to buy a new programmer...


- 2nd April 2018, 05:11
Most of the time, there is even no communication with the ICD3.

Something with Endpoint ..etc.

All start with the new MPLABX thing. When I used the MPLAB 8.xx it worked OK.

After changing firmware and swithced to X all went too bad.

It is too pity as I really liked it as it was before.


I have had issues with this too with both pk3 and icd3 . today I noticed it was much worse when using salea logic no salea in use minimal connection losses , so I did a bit of googling . one suggestion was to use a powered usb hub.

well guess what it really works :) problem is gone

- 2nd April 2018, 07:10
Then, what about using USB3 ports on the PC as they supply more current?


- 2nd April 2018, 07:20
its not a power issue, even if I power the hub through its usb connection only the pk3 icd3 still work.
neither is powering the dev board in use.
I wonder if the pc usb ports behave differently when a hub is detected ?

- 2nd April 2018, 07:39

Also I noticed that when the PK3 is changing/loading new firmware, if the controller to be programmed is not connected, the IPE stays in loading for ever. No timeout, ne message, just waiting.


- 2nd April 2018, 07:50
never tried that , I just let it do its thing with my eyes glossed over