Free Software Microcontroller Programmer

Help ICSP programming mode using an executive code

Series dsPIC30F / dsPIC33F / Pic24H / Pic24F
Software WinPic800 + Hardware GTP-USB [plus]


This method indicated in the specifications of Microchip has the advantage of being four times faster (for example 15 sg a dsPic30F6014 with full flash), since it uses an internal firmware that runs the microcontroller itself so that the protocol is much simpler .

We will be very useful to be able to debug our codes without investing much time to be programmed.
It is self-reprogrammed, for this it is necessary to pre-load the required executive code.
This code will be in a zone outside the program memory, it will be transparent and it will not be necessary to reserve memory or registers for this purpose nor to take it into account when designing our programs.
The area where we will load the executive code is from the address 0x800000 reserved for this purpose.


This method uses the same programming lines as with the normal mode, Data, Clock, Mclr, having the advantage of being able to use both modes without changes in our hardware, nor the inconveniences of using the UART module as the DownLoader, and without Depending on the clock used since the program runs under its internal oscillator whatever we use in our hardware.

The required hex code firmware is located in the installation folder of
WinPic800 -> “ICSP_EC.”
The corresponding names for each series are:
  • WPEC_dsPIC30F.hex
  • WPEC_dsPIC33F.hex
  • WPEC_PIC24H.hex
  • WPEC_PIC24F.hex

How to proceed:
 We will open the corresponding hex File to the device and record it to the PIC / dsPIC with the normal method.
This Code will always remain resident even if we delete the device.
Once recorded we can proceed to verify if it is available, checking “ICSP Mode” and pressingDetect Device“. We will leave “ICSP Mode” enabled while we use it,
We will disable it to return to normal mode as it suits us.


Next we will enter in “Software Configuration” and we will choose in the zone that we want to interact.
  • Delete Chip – Always erase everything
  • Code -Data – If unchecked, you will respect its contents without ever recording it
  • Configuration – Only necessary the first time or when we modify them in our program

We will not be able to use and we will have to leave by default some configuration bits that would prevent their programming.
Of course, those who protect the writing of the code will not be able to use them. Do not forget to maintain a correct supply with the maximum and minimum specifications of the manufacturer.
An image of each series with the status of the configuration bits. Marked ones must be maintained as indicated, the rest to the needs of the user.

Serie dsPIC30F

Series dsPIC33F / PIC24H

Serie PIC24F

If for some reason some bits of the indicated ones are programmed in an incorrect state and
Lost communication, just deleting the device
s will be enough to recover



WinPic800 © 2016