WxPicPIC Micro-controller Programmer
I wanted to build an application with a PIC micro-controller 12F629 and I had to build my programmer. I found several schemas on the web but all required an external power supply except for some that were using a USB connector to get this power from an USB port. I wanted to go further and use only the serial port connector. To debug such piece of hardware you usually need a software that you can tune or even modify to stimulate the inputs as you wish.
So I searched on the net and I found only DL4YHF Winpic that was tunable and that has the capability to manually toggle the interface inputs. Unfortunately I found it was generating an exception when I tried to run it on my PC. And the author has discontinued its maintenance. But it was provided with the source code. So I decided to fix the issue.
But Winpic is a program written for Borland C++ Builder. I had been a fan of this environment in the late 90's for its capability to build in Wysiwyg the GUI. But in 2006 I switched to an open source solution based on Code::Blocks, wxSmith, wxWidgets, MinGw gcc. And in 2007 I ported all my applications to this environment when I discovered there were no longer running under VISTA (probably because I was still in BCB3). So I decided to port also WinPic. Of course it was a little more complicated as I did not write the original code.
So I finally release this new version of WinPic I have renamed WxPic. I provide the code too, it can be generated with free open source software. So you can add what you need and if you wish contribute to improve this software (see download page and forum).
As I have tested WxPic only with my unique adapter and my unique PIC12F629 model, its test coverage is weak! So be aware that the probability that you get some anomalies with other programmer and/or PIC model is high. Fortunatelly this is limited by the architecture that is quite generic.
WxPic allows, with a PC and an adapter (programmer), to program a PIC micro-controller. It provides the following functions:
- Loading a HEX file such as those generated by MPLAB the free tool from Microchip. This files defines the binary content of memory areas. The file data is loaded in buffers.
- Mapping these memory areas on the memory areas (code, data and configuration) of a PIC micro-controller model to be selected in a list of supported devices.
- Writting in the device the buffer content completly or by part
- Reading the content of the micro-controller (if this is allowed by the device) either to compare it to the loaded buffers, or to load it in the buffers.
- Reviewing, edit or save in HEX format the content of the loaded buffers.
And it also helps debugging a new programmer by allowing to command manually the programmer inputs, or to adjust the timings of the programmer interface management.
The unicode multi-language support is included into WxPic. At this time only a partial French translation is provided in addition to the default built-in English language.
WxPic has been tested with the PIC12F629 and therefore should work with PIC12F675, PIC16F630 and PIC16F676 that have almost exactly the same characteristics when you consider their programming. See the help for a longer list of supported (but not tested) models.
If you (un)successfully test a new device please advise by posting in the forum.
WxPic license is identical to WinPic license. This is NOT a "standard" open source or GNU license.
- THIS SOFTWARE IS CONSIDERED 'FREEWARE'. THIS SOFTWARE IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In other words, THE ENTIRE RISK FOR THE USE OF THIS SOFTWARE IS WITH YOU. Permission is granted to use, modify, or redistribute this software so long as it is not sold or exploited for profit.
- Use this program as long as you keep in mind that this program is no professional software ! Because this program is freeware, the entire risk of its use is with you. As usual, neither the author nor contributors will be liable for anything. This also applies to the schematic diagrams presented in this document, and in "the software" itself. A missing copyright note in these documents does not indicate "no copyright" for names of products or companies mentioned here.
- WinRing0 License
Copyright (c) 2007-2009 OpenLibSys.org. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 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.
The WxPic Contributors are:
- Porting of WinPic to wxWidgets WxPic by Philippe Chevrier
- Porting of Win32 WxPic to Linux by Erdem U. Altinyurt
- WinPic original program by Wolfgang Buescher (DL4YHF)
- PIC12F508 by Leonid Lisovskiy
- PIC12F609/615, 16F610/616 by Andrew Kibler
- PIC18Fxxxx by Martin van der Werff
- WinRing0 by OpenLibSys.org
- Code::Blocks contributors
- wxSmith by Byo
- MinGW contributors
- NullSoft Scriptable Install System contributors
I hope I forgot nobody. Please advise in case someone is missing.
You will find the following sections on this site:
WxPic binaries for Windows embedded in an installer as well as the source code are available on the WxPic download page. On this page you will also find the news and some information about code generation and how to contribute.
You can find the WxPic help starting from its index. The Help is also provided in the installation of WxPic. And as the help is part of the installable binary and it is also provided in the source code that you can both find on download page.
I provide the schema and the PCB drawings of my F629 programmer that works without any external power supply. I used WxPic to debug it and by the way WxPic has only been tested with it.
For any feedback please use the WxPic forum. Though you can use the bug tracker for bug report or feature request. Note that you need to register to post and that the registration to the forum and to the bug tracker are independant (sorry but I did not integrate both to share the same user database...) but you can use the same username and password :-)
The bug tracker will help to manage the bug fixes and the evolutions. You can use it to enter the anomaly you have detected. Please try to express clearly the issue and describe all the steps you have done from the start until the error occurs. If you have analyzed and fixed the issue you can provide a patch (new source or patch file as those managed by SVN).