IRCFL Firmware Upgrades & ICSP

Connection to PICkit 2 for ICSP

For the more advanced user, who has a PIC programmer, and wishes to upgrade the firmware themselves or perhaps wishes to load their own written firmware program,. then the following circuit diagram is provided to enable 'In circuit Serial Programming' (ICSP).

Create the following cable for direct connection to a PICkit2 and ICSP. Important Note: The cable needs to be extremely short e.g. 20mm or less, to work correctly.

Please ensure not to erase the original firmware already programmed on the supplied microcontroller. If possible use a spare PIC microcontroller (PIC16F628A).

If you are unsure about all this then please do not do it. If a new firmware patch becomes available you may return the PIC microcontroller (or a spare) to ROBOTmaker and we will load the new firmware for you. We only charge postage for this service.

Procedure & Fuse Settings

(for PIC16F628A).

Step 1 - Send an email to with details of order (e.g. name, date, address)

Step 2 - When you receive the latest patch, download the .hex file attached to the email in location easy to find

Step 3 - Erase the firmware completely

Step 4 - Setup the fuse settings as follows:

The main configuration bit settings are:

    • OSC = XT (external oscillator)

    • WDT = OFF

Other fuses :

    • Power-up timer = Enabled

    • Brownout reset = Enabled

    • Low voltage programming =OFF

Should look something like this:

Step 5 - Program

Step 6 - Test. If you experience a problems then try again from step 3. You can experiment with different fuse settings, but ensure the WDT is off and OSC is XT. ( See config setting in Microchip's data sheet below)

Connection to PICkit2 for ICSP and PIC UART tool feature

The later PICkit 2 Programmer application versions include the UART Tool feature. This feature allows PICkit 2 to be used as a serial UART terminal interface for communicating with a PIC microcontroller. This enables sensing results from the IRCF to be displayed.


The tool supports full duplex asynchronous serial communications at 9600 baud (and others). The PICkit 2 connects via the ICSP connector directly to microcontroller TX and RX pins at logic levels. No transceiver is therefore needed. The PICKIT 2 will not provide power in this set-up, so 5v power therefore needs to be provided to the IRCFL via the normal power pin 1.

PIC16F628A pin diagram

PIC16F628A - Link to Data sheet on MicroChip's website - > here