Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Standalone PIC programmer for ICD2 (Win32)

Not open for further replies.


Newbie level 2
Mar 9, 2007
Reaction score
Trophy points
Activity points

Hi ppl !
I don't know if this is proper section to post new software; if not, please accept my apologies and kindly ask one moderator to move it.

If you consider useful my small app., help me to improve it by postings bug reports and your suggestions to this thread. Thanks !

ProgICD2 : Standalone PIC programmer for Microchip's ICD2
Copyright (C) 2007 by altxro (


This software is FREEWARE. See "Readme.txt" for full disclaimer.
"ProgICD2" is NOT affiliated with, supported by, or endorsed by Microchip !

1) Extract all from archive to your pref. directory.

2) Install Microchip ICD2 USB drivers.
Search on google/forums if you don't know how to do it.
(if you already have MPLAB+ICD2 skip this step )

3) Run ProgICD2.exe

Command line parameters:
-P <PIC>        ; Microcontroller name (with/without "PIC" or "P" prefix)
-F <FileName>   ; File to programm ( *.HEX , format INHX8M,INHX16,INHX32)
-W              ; Command: Write to PIC
-A              ; Autoload ICD2 firmware without user confirmation
-Q              ; Close after programming

Configurations files:
* Firmware files must be present in "\Firmware" subdirectory.
To update, copy ICD????????.hex from latest "...\MPLAB Ide\Icd2\"

* You can add new devices into file "ProgICD2.pic"
Proper values can be found in microcontroller datasheet and/or
programming specifications.


[16F877A]            ; PIC Name without any literal prefix
Archt=16X            ; Architecture         ( 10X,16X,17X,18X,30X )
Firmw=01             ; ICD2 Firmware to use ( see Icd2.xml )
FamID=04             ; ICD2 family ID       ( see Icd2.xml )
DevID=0E20           ; Device ID            ( if available )
MemPG=000000-001FFF  ; MemoryRange: Code
MemEE=000000-0000FF  ; MemoryRange: Eeprom
MemCF=002007-002007  ; MemoryRange: Configuration
MemUI=002000-002003  ; MemoryRange: User ID
MemDI=002006-002006  ; MemoryRange: Device ID
MemCA=               ; MemoryRange: Calibration

* Do not remove USB connector from ICD2 if application is still active
* If you see "Cannot open driver" error try to restart it (Disable/Enable) from
windows Device Manager

Tested on:
* Operating Systems: Win2K SP4 & WinXP Sp2. I don't know if is working on Vista
* Microcontrollers : Some PIC16xxx and PIC18xxx (should work for dsPIC30xxx)

Download: **broken link removed**

Happy programming,


icd2 programmer software


Tested on my ICD2 clone and 18F1320
Works fine
Very nice

Thanks !

icd2 command line

Nice to have an application like that.

At the moment my ICD2 are damaged, so I can't test it, but thanks.

Off topic: When the ALT-DVB 3? :D I'm waiting...

oh my god! what I was looking for! sorry I have my ICD at home... sure I'll test it

(my secret wish is to have a portable standalone icd2 programmer, with configuration bits...)

icd2 programmer

Can any body ask me for project "Incircuit debuging with ICD2 +MPLAB IDE"
Actually i dont have ICD2 but want to make it own for incircuit debugging. If it is possible then help me. I am very thankful to u for this kindness.

icd2 programmer altxro

Great work :thumbsup:
Remember that both F and P parameters are mandatory.

icd2 altxro

nice app!

also how is altdvb going!?:D

icd2 command line programmer

thx budy

standalone pic

it's working well, thx

icd2 standalone software

I'm using the program voor a few days, and I have some problems.

I have a program witch I can program whit my old programmer. Also I can program my PIC 18F4523 with MLAB using my new ICD2 Clone.

I'm started whit a small program and that works fine with ProgICD2.exe. I had no problems, but my program gets bigger and now I have a problem.

This is the log off ProgICD2.exe:
everything is OK and then:
Write Code ERROR
Write error (993 words)

My original HEX file is 5.710 bytes, but when I do a read after program error, the HEX file has become 5.739 bytes.
I have compare the both files and there are small diference:

Original HEX:
:10001000011CECEC00F003500410D8B41200E7EC23 difference with other file


HEX file after read:
:1000200000F000C0E9FF0150EF1A000000D000D03E difference with other file





I will attach the both files, by the way, with my old programmer and with MLAB it still works without errors. Mayby some one can help.

icd 2 programmer software

I'm using Proton PicBasic and ProgICD2 is a stand alone programmer for the ICD2 programmer. See the top of this topic

progicd2 download

Is the download link valid? I can't open the files


Is there a ProgICD3 in the works or is it possible to change Drivers & or Firmware directory for the ICD3.



GlennP: There is a command line utility for the ICD3 built in to MPLAB. Find it at C:\Program Files\Microchip\MPLAB IDE\Programmer Utilities\ICD3\icd3cmd.exe.

blueroomelectronics: MPLAB is great for engineering, but for production it is desirable to have a command line utility that can be built into a script or batch file. For example, I have a network enabled board, and the firmware allows me to set the MAC ID. I would like to automate the process of programming the board and then setting the MAC ID into one process in order to save time and simplify the operation for the production department. I can't do that with MPLAB's GUI tools, but if I have a command line based programmer then I can do that.

Not open for further replies.

Part and Inventory Search

Welcome to