How I Made This 18F4550 Programmer in Ten Years

Summary of How I Made This 18F4550 Programmer in Ten Years


This article details a decade-long evolution of a serial programmer, starting with a 2003 JDM circuit for the PIC 16F84. The author later adapted this hardware to program the PIC 18F2220 and finally the advanced PIC 18F4550 by adding specific IC sockets and extensions. The project utilizes the PC's serial COM port for power and data, requiring specific software loaders like PicPGM. A final update added In-Circuit Serial Programming (ICSP) capability via headers.

Parts used in the PIC 18F4550 Programmer:

  • JDM Microcontroller Programmer Circuit
  • PIC 16F84 Microcontroller
  • PIC 18F2220 Microcontroller
  • PIC 18F4550 Microcontroller
  • 28 Pin IC Socket
  • 40 Pin IC Connector
  • Small piece of plastic
  • Conductive ink
  • Wires
  • 5 pin headers

It really took me 10 years to build that programmer !!

Don’t be surprised , I actually started building the original programming circuit of Microchip PIC 16F84 ( JDM 2 ) on 2003 and finished it in 2 days. Then on 2013 , I found that it can be reused to program the advanced Microcontroller used these days like PIC 18F4550. Here I found and built a simple and easy 18F4550programmer.

This-18F4550-Programmer-in-Ten-Years
This-18F4550-Programmer-in-Ten-Years


I really thought that this programming circuit follows the old saying :

The Best keeps getting better.

This is a serial Programmer for PIC 18F4550.

This is a serial Programmer for PIC 18F2220.

And for many other Microcontrollers.

Note:

This circuit uses the serial ( COM ) Port of your Desktop PC. It is powered by the 12V from the serial port. So it cannot be used with the USB-to-RS232 Converter.

If you want to use your laptop to program the Microcontroller, you can use this ready made USB Pic Programmer Circuit.

Here is the link of the project on my Blog ” Embedded Egypt “

http://embedded-egypt.blogspot.com/2013/12/pic-18f4550-programmer-best-is-getting.html

Here is my Channel on Youtube:

AeroArduino

https://youtu.be/vZwksd18lLw

Step 1: 16F84 JDM Programmer

16F84 JDM Programmer
16F84 JDM Programmer

It was 2003 since I built my first JDM Microcontroller Programmer. Since that time, I didn’t stop programming and building Embedded Systems based on the Microcontroller Microchip PIC 16F84A. I’ve learned many other Microcontrollers from Microchip and another manufacturers. But I still have the same love for this old Microcontroller and this beautiful programming circuit ( JDM ).

This is the same programmer I built in a previous instructable :

https://www.instructables.com/id/Easy-16F84-Microcontroller-Programmer-JDM/

At that time I used the software loader IC-Prog .

Step 2: Minor Update – 18F2220

Minor Update - 18F2220
Minor Update – 18F2220

I built new Programmers for other Microcontrollers. Recently I searched for a programmer for the MicrocontrollerPIC18F2220and I found a software programmer that uses JDM circuit for programming it.

I just added a 28 pin IC Socket and searched for a new software loader other than IC-Prog.

After finishing this step I had a 18F2220Microcontroller Programmer .

Step 3: 18F4550 Programmer

18F4550 Programmer
18F4550 Programmer

And then I searched about the advanced Microcontroller PIC18F4550which can be directly connected to the USB port. The best thing was it can also be programmed by the same JDM circuit. The only modification I had to do with the circuit is adding a new socket for the new Microcontroller chips. The Microcontroller chip PIC18F4550has 40 pins so I had to install an extension to my old JDM circuit because it had no space left.



That`s the way I built this extension. A 40 Pin IC connector on small piece of plastic connected to wires by the conductive ink.

Then I welded the wires to the PIC18F222028 pin IC connector.

Basically, all the PIC Microcontrollers use the same pins for programming.


Five pins are used for basic serial programming :

Vpp —– Programming voltage

Vdd —– Vcc

Vss —– Gnd

Data —– Serial Data

Clock

Step 4: Software Loaders

Software Loaders
Software Loaders

Programmer software loaders used with this circuit

As for any other software loader , this loader can be used to load and read HEX files . It can also be used to erase the device and write configuration words.

PicPGM http://picpgm.picprojects.net/

The program can auto detect the port to which the programmer is connected and auto detect the type of it ( Here JDM ) and auto detect the Microcontrollertype.
Finally I had a PIC18F4550 Programmer !!

Step 5: New Update : IcSP Capability

IcSP Capability
IcSP Capability

Recently, I added a 5 pin headers to my first Microcontroller programmer that enables it to program any Microchip PIC inside its application board or on the bread board. This is called IcSP ( In-circuit Serial programming )


It is very simple but useful modification :

Vcc

~MCLR

RB7 ( Serial Data )

RB6 ( Serial Clock )

GND

https://youtu.be/vZwksd18lLw

Source: How I Made This 18F4550 Programmer in Ten Years

Quick Solutions to Questions related to PIC 18F4550 Programmer:

  • How long did it take to build the original programming circuit?
    The author started building the original circuit in 2003 and finished it in 2 days.
  • Can this serial programmer be used with a USB-to-RS232 converter?
    No, it cannot be used with a USB-to-RS232 converter because it is powered by the 12V from the serial port.
  • What modification was needed to program the PIC 18F4550?
    The only modification required was adding a new socket for the new Microcontroller chips.
  • Why was an extension installed on the old JDM circuit?
    An extension was installed because the PIC 18F4550 has 40 pins and the old circuit had no space left.
  • How many pins are used for basic serial programming?
    Five pins are used for basic serial programming.
  • What functions does the PicPGM software loader perform?
    The loader can load and read HEX files, erase the device, and write configuration words.
  • Does the software auto-detect the connected hardware?
    Yes, the program can auto detect the port, the type of connection, and the Microcontroller type.
  • What is the purpose of adding 5 pin headers to the programmer?
    The headers enable In-circuit Serial programming to program any Microchip PIC inside its application board or on the breadboard.

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.