JDM2 PIC 18F Programmer
Source: InternetPublisher:uqHGu5A Keywords: Programmer Updated: 2026/03/27

JDM2 PIC 18F Programmer
This is a simple serial-based JDM2 PIC programmer for programming PIC18F chips. The programmer is powered by an RS-232 port and operates only at RS-232 levels < ±8.6V. It can program PIC12C5XX, 12C67X, 24CXX, 16C55X, 16C61, 16C62X, 16C71, 16C71X, 16C8X, 16F8X, and ISO-CARDs with ASF. The high Vpp is achieved by driving the chip using a negative voltage. The voltage is stabilized by Zener diodes. These do not require voltage drops like voltage regulators or large offset currents. This allows for the use of ultra-low input voltages. The transistor driver guarantees an output level > ±3V. This programmer is supported by PICPgm and WinPic programming software.

If you don't have a PIC programmer available, there are many PIC programmer schematics available online due to the simplicity of the ICSP protocol. Surprisingly, most of them use a parallel port interface, such as the EL Cheapo programmer. Accessing a parallel port programmatically under Windows 2000/XP is quite cumbersome and requires a special kernel-mode driver. I chose the serial-based JDM2 as the simplest option. The programmer schematic is shown below and includes all the updates needed to program the PIC18F chip.
The programmer can be built on a small prototype stripboard. All traces are cut at the holes using a 9/64 drill bit with a finger rotation. The next step is to try different software. WinPic800 was a complete failure, despite its claims of supporting JDM interfaces and PIC18F2450 and 18F2455 chips; WinPic, however, performed well, as shown in the image below.
Programming the PIC18F245X controller using WinPic has a few pitfalls. First, it requires installing the Microchip device files into the WinPic device folder. These files are part of the Microchip IDE and are not included in the WinPic installation. Essentially, you must download and install the Microchip IDE, locate the required files, and copy them to the WinPic device folder. For programming the PIC18F2455, you need the PIC18F2455.dev file. Note that if you attempt to program without it, WinPic will complain about missing device files for that specific chip. Second, WinPic does not properly check the configuration words because the device has a user-configurable memory space from 300000h to 30000Dh, as shown in the table below. Two configuration registers are missing: CONFIG3L (300004h) and CONFIG4H (300007h). PICkit2 recognizes this and handles it correctly, but WinPic attempts to program it as a contiguous block of memory and fails during verification.
A simple solution is to inject two extra lines of code into the Hex file to avoid WinPic obfuscation:
:0100000034CB
:010001000EF0
:010002003FBE
:010003001EDE
:0100040000FB
:01000500807A
:01000600C138
:0100070000F8
:0100080008EF
:0100090000F6
:01000A000FE6
:01000B00E014
:01000C000FE4
:01000D0040B2
:00000001FF
Another free PIC programmer that can be used with this interface is PICPgm. It works "out of the box" and does not require Microchip IDE device files.




- AVR LCD Thermometer—LM35
- JDM2 PIC 18F Programmer
- Design of Simple Digital Voltmeter
- Computer Interface Level Matching Using Photocouplers
- How to solve the problem when MAX485/RS485 overheats and stops working when driven by a microcontroller?
- Introduction to MCU GPIO Interface
- What is serial communication of microcontroller?
- Make an alcohol tester based on 8051 microcontroller
- Make an Interactive Arcade Bedside Clock
- Phase-locked loop controller using AT89S51 microcontroller







京公网安备 11010802033920号