DL4YHF's Software Archive:
WinPic - A PIC Programmer for Windows

last updated: 2016-01-25 (YYYY-MM-DD)

WinPIC now supports dsPIC, PIC10F, new PIC12F6xx family, PIC16F9xx, PIC18F;
has an integrated terminal emulator (for 'printf-style' debugging via UART),
no need for SMPORT or PortTalk on COM-port any longer, Plugin-DLLs,
Czech, French, Greek, Portugese, Spanish, Russian and Turkish translation available.
It even seemed to work under Windows 7 and 8.1 when installed outside the windows 'Programs' folder.

Main Site : www.qsl.net/dl4yhf/winpicpr.html

Please note: I don't use PICs myself anymore, except for some trivial ad-hoc projects, in favour of other microcontrollers (mostly ARM).
My time is too limited, and for that reason, I don't develop winpic further, so please don't ask me to add new features, fix that bug, support that new chip, etc. If WinPic doesn't work for you, try one of those other programmers out there.
Maybe a descendant of WinPic called WxPic works better on your system.

PIC programmer for Windows 95 / 98 / XP / 7 / 8

Short Description
This is a simple Windows application to program the PIC firmware from a HEX-file (the type generated by Microchip's MPLABTM) into a PIC microcontroller. Most modern PICs (like the PIC16F84, 16F628, 12F675, dsPIC30Fxxxx) can be reprogrammed many times, because the program can be erased electrically (the code is stored in a FLASH, not a simple ROM). Some of the "very simple" programmer interfaces can be used, a few of them are described in the manual.
Originally I wrote this program for myself to get the PIC-keyer firmware into a PIC16F84, after discovering that the once-famous DOS program called "PIP-02" refused to work under windoze.
Note: Meanwhile there are other programs called "WinPic" on the web. If you look for an update, search the net for "WinPic" AND "DL4YHF" to find the right one.



  • serial interface: compatible to the "COM84", "JDM", and user-defined
    Most interfaces for the COM-port should work without a special port-access driver, and may even work with USB<->RS-232 adapters now !
  • parallel interface: compatible with SM6LKM's "PIP84"-interface, check Johan's homepage
  • many other interfaces can be driven with a simple interface definition file (see manual)
  • exotic interfaces can be supported through a specialized hardware-interface DLL (plugin)
  • possibility to verify the PIC at different voltages (almost "production grade")
  • requires a PC with WIN95, Win98, Win XP (Win NT 4.0 and Win2000 not tested)
  • Code memory size now up to 8192 words, data EEPROM memory up to 256 byte.
  • Code and data memory may be programmed separately
  • Bulk erase ("erase all") or individual programming of all bytes present in from HEX-file
  • Built-in "hex editor" for quick patches in code or data EEPROM memory
  • Invocation with command line arguments is possible, so you can run WinPic from a shell
  • Extra window with "Reload & program" function (always in front of others)
  • WinPic now also supports JDM PIC-programmer 2, Velleman K8048, the Hoodmicro, the Willem interface, El Cheapo, and many others. The only(?) interfaces which WinPic doesn't support are Microchip's "PicStart plus" (far too expensive) and "PicKit2" .
  • Thanks to various collaborators, a French,  Greek, Portugese, Spanish, and Turkish translation of WinPic's user interface is available. All languages are now contained in the installer (no need to download anything separately)
  • Besides SMPORT, the PortTalk driver can be used. It proved to be faster under WinXP, especially when programming larger PICs (dsPIC and PIC18F).

Supported PIC microcontrollers

  • dsPIC30F2010 (theoretically ALL dsPIC30F devices supported, a few tested)
  • PIC16C61, PIC16C71
  • PIC16C84, PIC16F84
  • PIC16C710, PIC16C711, PIC16C715
  • PIC10F200, PIC10F202, PIC10F204, PIC10F206
  • PIC12F629, PIC12F635, PIC12F675, PIC12F683
  • PIC12F609, PIC16F610, PIC12F615, PIC16F616
  • PIC16F627, PIC16F627A, PIC16F628, PIC16F628A
  • PIC16F630, PIC16F636, PIC16F648A
  • PIC16F676, PIC16F684, PIC16F688
  • PIC16F73, PIC16F737, PIC16F74, PIC16F76, PIC16F77
  • PIC16F818, PIC16F819
  • PIC16F87, PIC16F88
  • PIC16F873A...PIC16F877A
  • PIC16F1782, PIC16F1783, and possibly similar devices
  • PIC16F1827
  • PIC18F242, PIC18F248, PIC18F252, PIC18F258
  • PIC18F442, PIC18F448, PIC18F452, PIC18F458
  • PIC18F2XX0/2XX5/4XX0/4XX5 (tested: PIC18F2550)
  • and other "quite compatible" devices, if you have the datasheet and a text editor !

Links and more info:

(As you can see, many of the once-active websites have gone..)

(Please note: The websites listed above are under the sole control, copyright and responsibility of the authors of those pages. I am unable to take any responsibility for the content of web-sites that you reach through these hyperlinks. Furthermore, though some sites may be "commercial", WinPic is and remains a non-profit amateur project - see disclaimer ).


  • DL4YHF's WinPic Programmer installation archive .
    Contains everything you need to run WinPic, including the help system. Since 2005-11, WinPic is distributed with an installer, which contains all translations (so Czech, Dutch, English, French, German, Greek, Italian, Portugese, Russian, Spanish, and Turkish are now all "built-in" - thanks to all collaborators ! )
  • Sourcecodes for writing your own interface-plugin-DLL (interface_dlls.zip) . Contains a sample DLL project written in DevC++ V (a nice freeware C/C++ compiler based on GCC/MINGW, including a simple IDE).

For non-profit purposes, most of the sourcecodes are available too (if the link doesn't work, I have removed the sources from the website on purpose. If you need the sources, ask for them). WinPic was written in Borland C++ Builder V4 for Windows. The port access drivers SMPORT (by A. Weitzman) and PortTalk (by Craig Peacock) are not included in the sourcecode archive. Please note the individual terms of use in some of the modules, especially those written by the collaborators (- thanks !-).  If the sourcecodes are not there (which happens if I work on WinPic again), or if you urgently need the very latest sourcecode, send an email to me - .
Permission is granted to use, modify, or redistribute this software so long as it is not sold or exploited for profit, and as long as you mention where you found the original parts. A part of the old 16C84-programming algorithm and the hex-file loading routine was 'inspired' by David Tait's PIC programmer for DOS. The PIC18F programming routines were written by Martin van der Werff, who also informed me about the better performance of the PortTalk driver.

A note for Japanese users

A Japanese version of WinPic, written by FENG3, is now used to be available at his website: http://feng3.cool.ne.jp/winpic/.


This software is provided 'AS IS' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability(*), fitness for a particular purpose, or non-infringement, are disclaimed. In no event shall the author or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement for the substitute of good or services, loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

(*) to be more specific, this software isn't merchantable at all, since I will not sell it, and no-one else is allowed to... ;-).

In other words, the entire risk is with you ! (what else would you expect from a freeware..)

Namings for products in this document, that are registered trademarks, are not separately marked. The same applies to copyrighted material. Therefore the missing ®(r) or ©(c) does not implicate, that the naming is a free trade name. Furthermore the used names do not indicate patent rights or anything similar.