PDA

View Full Version : Very Simple ICSP Programmer



Squibcakes
- 1st September 2004, 01:55
Hi guys,

I have been using this simple programmer.. why pay big bucks for a PIC programmer when this one costs just cents! In fact I have stopped using my 'other programmer' all together now.

All you need is:
three 4.7k Resistors,
a few wires (1m)
9 pin d-connector (female),
and a 5 volt dc supply.

I have used it on 16F84, 16F62X, 16F87X chips without problems.

To make it:

TXD (3) ------[4.7k]-------VPP

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA

CTS (8) ------------------DATA

RTS (7) -------[4.7k]------CLK

Numbers in Bracket are the connections on the 9-Pin D-Connector.

I have made up a small PCB to mount the resistors on but... you could just solder them in line to go cheap.. Just be carefull they dont short out. If anyone wants the PCB footprint I can post it.

Then just put your PIC into a breadboard, connect your 5 volt supply to VDD/VSS, and away you go.

Ingvar
- 1st September 2004, 09:47
Looks neat.

What software are you using on the PC?

Squibcakes
- 2nd September 2004, 00:19
IC-Prog

http://www.ic-prog.com

NavMicroSystems
- 2nd September 2004, 00:48
If you are looking for a cheap programmer have a look at:

http://www.olimex.com/dev/pic-pg2c.html

it is a JDM-type of programmer, it has an ICSP connector and doesn't even need an external power supply.

The assembled Programmer is $9.95 only.

regards

Dwayne
- 2nd September 2004, 16:21
Hello Ralph,

Yes, My friend bought one of those programmers. They have them on Ebay for 15 dollars delivered. He likes it.

the only thing he doesn't like about it, is not ZIF socket. got to be careful on removing the chips.

Also, (IF i remember correctly) the programmer does *not* list the 16f648A chip as a programmable chip, but lists the 16f628. Since the chips are interchangeable, he has been programming the 16F648A with the 16F628 include file. Works like a charm...<g>

Dwayne

Squibcakes
- 3rd September 2004, 00:17
That programmer looks good.

However when you convert the cost of the programmer plus the freight into Aussie dollars.... it starts getting more expensive.

Cheers

NavMicroSystems
- 4th September 2004, 02:47
Dwayne,

youe are right, ICprog doesn't support the 16F648, but thhere is another free software for serial programmers that does,
see:
http://www.qsl.net/dl4yhf/winpicpr.html

regards:

Ralph

microcozmoz
- 4th November 2004, 23:40
Which programmer do u choose in the ic-prog??

NavMicroSystems
- 4th November 2004, 23:54
JDM-Programmer
Direct I/O
I/O Delay 20

regards:

Ralph

microcozmoz
- 5th November 2004, 00:14
Thanks.

languer
- 6th November 2004, 00:29
Have any of you been able to use this with a USB-Serial adapter? When I moved laptops, the new one only had USB ports and I was not able to use it with a USB-serial adapter. I can still use it with the old one, but since the topic was brought-up I figure I asked.

NavMicroSystems
- 6th November 2004, 01:10
As the programmer is powered by the serial port I doubt it works with a USB-Serial adapter.

regards

Ralph

toreto
- 8th November 2004, 22:52
does this work for 12c508a chip?

Squibcakes
- 9th November 2004, 00:40
I don't know.. I have only ever used the 16F**** type chips.

If the 12c508a chip supports ICSP then probably does.
J

toreto
- 9th November 2004, 09:55
ok thanks Squibcakes

toreto
- 9th November 2004, 10:42
can you tell me which pins of 12c508 are VPP,VSS,DATA,DATA,CLK.
thanks.

mister_e
- 9th November 2004, 14:31
>can you tell me which pins of 12c508 are VPP,VSS,DATA,DATA,CLK.
thanks.

here they are

VPP = 4
VSS = 8
PGD = 7
PGC = 6
VDD =1

toreto
- 9th November 2004, 14:56
which of this two is conected to the resitor?
PGD = 7
PGC = 6
thanks for your answer

mister_e
- 15th November 2004, 13:17
sorry for the late reply,
well i never use serie resistor for PGD, PGC for all my purpose i do like this.
http://www.melabs.com/support/icsp.htm

hope this help

regards

Squibcakes
- 16th November 2004, 00:29
Originally posted by toreto
which of this two is conected to the resitor?
PGD = 7
PGC = 6
thanks for your answer

Both are connected through 4.7k resistors, as well as the vpp through a 4.7k resistor.


GP0 = GPD = 7
GP1 = GPC = 6

So in your case you would connect the 12Cxxx chip like this:

D-Conn............................uPIC
TXD (3) ------[4.7k]-------VPP(pin 4)

GND (5) --------------------VSS(pin 8)

DTR (4) -------[4.7k]------DATA(pin 7)

CTS (8) ------------------DATA(pin 7)

RTS (7) -------[4.7k]------CLK(pin 6)

5 volts DC to VDD(pin1)

Hope this helps.
J

toreto
- 16th November 2004, 09:56
i am goin to test it and i will post the results.thanks

microcozmoz
- 24th December 2004, 18:14
Hi,

I have made pic-pg2 programmer. But I havent got any idea connecting rs232 cable to the device.

I cant find any schematics in net...:(

I have an RS232 cable connecting 1-1,2-3,3-2,5-5 but cant connect with this one.

Could u please tell me how can I connect the RS232 cable?

Thanks.

mslaney
- 4th January 2005, 14:57
microcozmoz,
did you ever figure out how to connect your cable? What chip are you using?

mslaney
- 4th January 2005, 15:02
ICSP Sacrifice.

It seems that I lose a couple I/O pins when I use ICSP. RB6 and RB7 specifically.
I want to program the device then be able to use every IO on the chip. Is this possible without disconnecting the ICSP cable entirely?

oh, microcozmoz, I will send you my schematic when I get back to my lab tonight.

mister_e
- 4th January 2005, 16:09
It seems that I lose a couple I/O pins when I use ICSP. RB6 and RB7 specifically.
I want to program the device then be able to use every IO on the chip. Is this possible without disconnecting the ICSP cable entirely?

Depending what you want to do with those pins. Many here will use those PGD, PGC pin as push button inputs. You must design your circuit in regard to this issue.

In the worst case, you can use an DPDT relay + 1 switch to toggle those pins manually between PROGRAMING and NORMAL use.

For all of my application i use a 5 pins ICSP connector with an external switch box (circuit attach here) between my PICSTART and the taget PIC.

PIN 5 (GND/PGM) is a switched Ground. This is use with some PIC that need GND to PGM (low voltage programming pin) when programming. You can use this pin for the relay trigger.

microcozmoz
- 4th January 2005, 19:22
Thanks for your replys....

Actually I want to make a control circuit with ICSP...When I want to edit the program it will be usefull connect to circuit by notebook and programming device on a machine...

I am very busy nowadays :(

When I'll make the circuit I 'll write here...

Thanks again.

TONIGALEA
- 13th January 2005, 16:51
hi Squibcakes

Does this support 16f627A?


Toni

Squibcakes
- 17th January 2005, 04:29
TONIGALEA,

In short, no.

(But) Yes for 16F84, 16F627, 16F628.

I've used it successfully on 16F628 chips (F27's big brother), but recently I have found some of the F27/8A chips have problems erasing after a successful write.

I found that these chips start up too fast when power is first applied.

Hence this ICSP programmer isn't quick enough to pull the MCLR line high for the erase.

As a work around, put 12volts on the MCLR pin before applying power will erase the chip (this method also a bit flakey).

Since I started this post, I have revised the circuit and added a FET between 12volts and the MCLR line and this is fast enough for all PICS I have tried so far.

Cheers
J

JoeCJK
- 31st March 2005, 09:44
Hi Squibcakes,

I connected the serial port pins to a 16F628 as specified in your simple programmer and ran IC-Prog to write to it. However, the verify always fails, meaning that the hex file is not written into it at all. Could you please suggest a way to fix this? Thanks!

NavMicroSystems
- 31st March 2005, 16:28
Joe,

would you let us know what exactly you have connected to which pins of the 16F628?

See THIS (http://www.picbasic.co.uk/forum/showthread.php?t=1254)
and
16F628 DataSheet (http://ww1.microchip.com/downloads/en/DeviceDoc/40300c.pdf)
Programming Specs (http://ww1.microchip.com/downloads/en/DeviceDoc/30034d.pdf)
ICSP-Guide (http://ww1.microchip.com/downloads/en/DeviceDoc/30277d.pdf)

JoeCJK
- 2nd April 2005, 21:16
Hi,

thks for the reply. Pls bear with me for I am a novice programmer. I connected the 16F628 chip directly to the serial port in the config as shown below:


Serial Port Pins : 16F628 Pins

TXD (Pin 3) -----[4.7K]------ MCLR ( Pin 4)

GND (Pin 5) ----------------- Vss (Pin 5)

DTR (Pin 4 ) -----[4.7K]------ RB 7 (Pin 13)

CTS (Pin 8) ----------------- RB 7 (Pin 13)

RTS (Pin 7) -----[4.7K]------ RB 6 (Pin 12)


To power up the chip, I connected the power supply to these pins on the 16F628.

Vdd (Pin 14 ) ------ + 5V
Vss ( Pin 5 ) ------ + 0V

Afterwards, I used IC-Prog and did a wirte of a hex file but was unsuccessful. No other programmer was used, just a direct serial port to chip connection. By all indications it should work right?

NavMicroSystems
- 2nd April 2005, 21:53
Joe,

There are a few things you could check in addition:

What are the levels on you serial port?
(if it's one of those LapTop ports with 5V levels this programmer is most likely NOT going to work).

Another issue might be a floating LVP pin (RB4/PGM on the F628)

See link "Programming Specs" posted earlier

JoeCJK
- 3rd April 2005, 08:46
Hi,

I will try it on a desktop instead of a notebook and short MCRL and the LVP pins together to raise LVP to the correct level. Will get back on wheter it works.

BTW, on the settings of the IC-Prog I do have some queries. I am not using the JDM Programmer but on the hardware options chose "JDM Programmer" ,"Direct I/0" with a time delay of 20. Not inverting any pins. Is this the correct settings on the IC-Prog?

NavMicroSystems
- 3rd April 2005, 14:22
Joe,

You don't really want to feed 12-14V into RB4, do you?

Have you really read the programming specs?

Have you checked the levels on your COM-port?

you could try to drop the resistor values down to 2k2 or even 1k.

if you Google for JDM you'll find many examples, schematics, etc.

BTW
A fully assembled and working JDM-type of programmer would be $9,95 only.

JoeCJK
- 3rd April 2005, 18:50
hi,

really sorry, as I mentioned, I am a novice programmer with PICs and not familiar so pls correct me if I'am wrong.

1) The chip CAN be programmed without any programmer ,eg. JDM etc, just the right serial to chip connections and IC-Prog right?

2) I've read the specs but it gets pretty confusing. Low voltage programming---The Vdd is raised first to +5V , following which MCLR and RB4 are also raised to +5V by serial connections with a 4.7K resistor(no longer 12 V from serial port) . So shorting out MCLR and RB4 should be the way?

That way, both MCLR and RB4 are raised to 5V. (LVP)

Thks, really appreciate the advice.

NavMicroSystems
- 3rd April 2005, 21:20
The chip CAN be programmed without any programmer ,eg. JDM etc, just the right serial to chip connections and IC-Prog right?

You need to make sure the voltage levels on all pins used for programming are within the specs.
This is actually all the JDM-programmer does.

AGAIN:

have you checked the levels on your COM-port yet?
have you read all specs?
Have you understood the concept of JDM?
are you sure your PIC is ok?
(you might have killed it with your experiments)

As long as you haven't understood what you are doing you will never get this working.

The time we all have spent on this thread is worth far more than the $9,95 a working programmer would have cost.

Why don't you just go and get one?

JoeCJK
- 4th April 2005, 11:54
The serial port voltage levels are about 5V.(notebook)

And you're probable right, I should just go and get a programmer, althought it will cost some time and a bundle in shipping fees. Will try with a smaller value resister and other stuff just one more time.

Thks.

NavMicroSystems
- 4th April 2005, 20:35
Joe,

the PIC-PG2 is a JDM-type of programmer and will (most likely) NOT work on a 5V COM-Port !!

If you had told us you are working with a 5V COM-port,
we would have told you that the method you are trying is not going to work.

You must tie RB4 on the F628 to GND (or at least pull it low)
and you must apply high voltage (~13V) to the Vpp pin to make it work.

The links posted on this thread would have given this answer.

JoeCJK
- 5th April 2005, 09:36
Thanks Nav,

I tried it on a desktop and it works. But I think we are talking about different programming modes. Here is my rundown: (16F62X series)


Low Voltage Programming : MCLR is low(+ 5V) , MCLR is shorted to RB4 as
RB4 needs to rise to 5V also.

High Voltage Programming : MCLR is high(~ + 13V),
RB 4 has to be grounded



Voltages to Vdd of both modes are +5V. High voltage programming is better than low voltage programming in that all I/O pins can be used. (RB4 can't be used for LVP) But the downside is that it is harder to get 12 V source.

Luciano
- 5th April 2005, 10:15
The time we all have spent on this thread is worth far more than the $9,95 a working programmer would have cost.
Why don't you just go and get one?

Yes, buy one before you blow up the serial port of your computer!

Luciano

charudatt
- 24th May 2005, 15:40
I am not able to Program any PIC using the Simple Interface suggested. I am using Windows XP (SP2).

I get Programming failed at Dataaddress 000000h. Any help or suggestion. I am using ICP, Windows API , I/O delay 1. I tried changing these setting to diffrent settings but could not get the Chip to Prog. I am trying to Prog F72, F873A and F876

charudatt
- 25th May 2005, 06:47
I just found out a good explaination to the possible problem I could be facing with my programing software.

Just thought of sharing the link with the Thread.

http://www.talkingelectronics.com.au/Projects/MultiChipPgmr/MultiChipPgmr-03-Using.html

I shall post my findings later when I overcome my problem.

regards

Art
- 14th July 2005, 14:33
I have just set up a 16F877 circuit for ICSP using this interface
with my desktop PC. (XP service pack 2 BTW). No problem with
read, verify, or erase :)

I used the settings with IC prog suggested earlier in the thread:
I/O delay 20, JDM programmer, Direct I/O with nothing inverted.
Have you have also powered the pic seperately with 5 volts while trying
to use this interface?

Cheers, Art.

zero13
- 27th September 2005, 16:40
Hello, i am use WinPic800 for programming Pics.

Info:

WinPic800 3.55 f
http://www.zerobots.net/electronica_software.html

Web:
http://perso.wanadoo.es/siscobf/winpic800.htm

Slds!
Zero13
www.zerobots.net

breogan
- 22nd November 2005, 21:52
Hi Art,
Please, could you tell me what are the connections that you have made between the Serial port and the PIC16F877 ?.

PIC Serial Port
MCLR/Vpp ---- ?
RB3/PGM ---- ?
RB6/PGC ---- ?
RB7/PGD ---- ?

Thanks a lot !.

Dave
- 22nd November 2005, 22:53
Today 20:52
breogan, You only need

MCLR/Vpp
RB6/PGC
RB7/PGD

to flash a program into any pic using high voltage programming (+12 volts) on the Vpp line. Now if you are planning on programming it using low voltage programming then you need:

MCLR/Vpp
RB3/PGM
RB6/PGC
RB7/PGD

If you plan on using a boot loader then you need to use 1 of the first 2 options loading a bootloader hex file into the pic (if it supports bootloading). Then all you need to do is connect the RX/TX lines from the PIC thru an inverter such as a Max-232 to your pc's comm port to load your application software from that point on. I perfer to use the bootloader method of loading the application code myself.

Dave Purola,
N8NTA

breogan
- 23rd November 2005, 11:43
Thank you Dave,
I will try with
MCLR/Vpp
RB6/PGC
RB7/PGD

I'm tired of programming/erasing 16F74A /JW version...

Squibcakes
- 7th December 2005, 01:35
Hi All,

I've just bought my first 16F88 Chip.

I can confirm that this chip programs using the Very Simple ICSP Programmer too! :)

Cheers
Squibcakes

NavMicroSystems
- 8th December 2005, 17:40
Hi All,

I've just bought my first 16F88 Chip.

I can confirm that this chip programs using the Very Simple ICSP Programmer too! :)

Cheers
Squibcakes

Hi Squib,
I haven't tried it yet, but I can't see a reason why it shouldn't if it is supported by the programmer software.
Even the 16F88 is a PIC ;-)

Squibcakes
- 8th December 2005, 23:47
Hi Nav, True, but some newbies may want to know.. thats all.... ;)

BTW, I've just downloaded the Tiny Bootloader software to use with the 16F88. Use the Very Simple Programmer to load the bootloader program first into the PIC.

There after use Tiny Bootloader to load your programs. Gee it's fast! It transfers the complete program into the PIC in about 4 seconds! (This is in comparison to IC-Prog which takes around 2 minutes)

You can get it here..
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

TinyBootloader programer requires a Max232 chip connected to the Pic's USART port and does not use the Very Simple programmer.

keithdoxey
- 9th December 2005, 09:59
TinyBootloader programer requires a Max232 chip connected to the Pic's USART port and does not use the Very Simple programmer.


I am currently using one of these for bootloading
http://www.dontronics.com/micro-usb.html

It can supply 3.3V or 5V to power the PIC and the TX ad RX lines are at 3.3V. Just put a 1K resistor in series with each for use with a 5V PIC.

I have two test development projects currently built up on pieces of veroboard and each has a 4 pin header. My MicroUSB has a flying lead attached with a 4 pin plug and I just use it with whichever project I am working on at the time. The entire project is then powered from the USB port on the PC.

I have a MANUAL RESET BUTTON on the veroboard as I prefer to manually reset rather than have the PC do it. That way I dont get false resets when I fire up serial comms with the board when I am not bootloading.

I am using it with a 16F88 and 18F452 at the moment.

No connection etc.... other than being a VERY satisfied user :)

Regards

Keith

NewBoy
- 28th January 2006, 12:27
Hello Chaps,

Please help a NewBoy start. I'm moving up from Picaxe and the change is traumatic.

What I want at the-end-of-the-day:
To be able to programme a 16F88 in circuit via a cheap'n'cheerful serial PC link using the MAX232 (or similar).

I have Proton IDE and a MELABS USB programmer.
(I was going to make my own programming board for trial.)

I've picked up a lot of useful information from the Proton forum, but have got stuck due to ineptitude.

My confusions:
- I believe I have to use the programmer to download 'firmware' to allow me to programme/load subsequent code. Where is this 'firmware'?

- Is the above a 2-stage process? I have installed the MELABS programmer software, so where do I go from there?

- What are the pinouts of the MELABS USB programmer to allow me to load the firmware/subsequent code in-circuit? (i.e. in-my-circuit)
(The Mecanique website shows an ICSP diag. but the programmer pins are perhaps only for the serial programmer as they don't tie up).

And finally, a last question:
Is there a simpler PC serial to programmed PIC , rather than using a MAX232 based circuit? (That will work safely).

I'm getting muddled with the terminology interchange of 'bootloader' and 'firmware' too which isn't helping.

I am terminologically challenged and obviously thick.

Thanks. (Any drawings/circuit diagrams/links gratefully accepted).

Squibcakes
- 28th January 2006, 23:12
The Bootloader firmware resides in PIC Flash memory.

You load it into the PIC Flash using the Simple ISCP programmer, or any other program use use. This is a one off programing of the PIC (until you erase the chip)

There after, you load your programs into the pic using RS232 via the USART pins of the pic.

Not sure on the exact details of how it works, but the bootloader in the pic erases or overwrites the existing program with the new program.

In part yes it is a 2 step process, but only the first time you load the bootloader firmware.

You need to use a MAX232 style chip to load your programs (or a USB converter with RS232 outputs).

Get a MAX232 chip, half a dozen 10uF Caps and some V Board.

I use 3 wires from the serial port, TX, RX GND - connected to a MAX232 chip, in turn connected to the PIC.

See my last post about the software for loading the Bootloader Firmware.

happy days.
J

NewBoy
- 30th January 2006, 14:57
Thanks Squibcakes.

I'm perplexed. I'll tell you what I've done.

I have an MELABS USB Programmer and a handful of 16F88s.
I have Proton IDE+Microloader and TinyLoader.

What I want to achieve:
In-circuit serial programming in my own designed pcbs.

How far have I got?
Halfway.
I can programme from the USB Programmer fine. All functions work.
So far, so good.

I have a serial PCB with MAX232 and a ZIF socket.
This is where it all goes wrong.

Here is what I have done:-
I transfer the 16F88 from the programmer to the serial PCB.
I connect cable and switch it all on.
I then try loading a 3 line programme using Microloader.
Cannot load, press reset numerous times - no joy.
I then try Tinyloader - cannot find PIC.
(COM setting correct and I've tried every baud option)
No joy. Neither can recognise the presence of a PIC.

What I have checked on serial pcb +MAx232 (or equiv.).
1. Power.
2. RS232 voltages fine (nom +/-10V)
3. Reset conencted.
4. Connections to Rb6 and Rb7. Fine.
5. Optionally taken Rb3 to ground via resistor.

Then connected oscillioscope:
1. Connected to; MCLR, Rb7 and Rb6 on 16F88.
2. On USB Programmer it does a Reset .... 7mS .... activity on Rb7 & Rb6.
3. On serial card (using Microloader) it does Reset ... repeated 250uS pulse on Rb7, nothing on Rb6.
4. On serial card (using Tinyloader) it holds reset down and double pulses Rb7. (Why it holds reset down - regardless of 'options' settings is odd.)

But there seems to be no response from the 16F88.

Stick it back in the programmer and all is fine!

Sadly, I need the ICSP for 2 reasons:
a) So I can test programme in-situ (like everyone else does).
b) Proton Microloader only supports COMs (as does Tinyloader??)
c) Be able to programme device using a simple serial cable and not have to use USB programmer. i.e. a box with a serial port on the side.

So, assuming my serial card with MAX232 isn't wrong (and all the pin measurements say its OK), what haven't I done?

Keep in mind this is my first forray into PIC programming. I've only used PICAXE and Stamp previously.

Copious thanks to the first person who prevents me having to buy Just For Men!

Squibcakes
- 31st January 2006, 01:51
I see where you are going wrong...

STEP ONE
----------
Firstly, what Frequency is your chip running at?

If 8Mhz internal clock, load tinybld16F88_i8MHz __19200.HEX file into the Pic Flash using ICSP (pins 6+7).

If 20Mhz, then use the tinybld16F88_20MHz_115200.HEX file.

The above is done once only into your newly erased chip.

STEP TWO
-----------

The max chip should be connected to Pin 8 - RB2(RX Data), and Pin 11 - RB5 (TX Data). These Pins are for transfering your actual program to the PIC. Use TinyBootloader to transfer your program. You will need to be able to reset the MCLR line before downloading the program.

If you just want to use ICSP on your already made board.. than you may not be able to use the above example. Just use basic ICSP only, forget tinyBootloader..... else you will need to modify the board so that you can program via pins 8 + 11 (Via Max232 of course :) ).

Hope this is clears the air.

Cheers
J

NewBoy
- 1st February 2006, 09:19
Squibcakes.
You are a GOD!

I had been told to connect the MAX232 circuit as per Proton manual into PG7 and PG6. (I think in fairness this was a minor incorrect extrapolation of muddling pinouts from 2 different data sheets).

Anyway, end result is that it works. Thanks to you.
Everything is fine.
Much appreciated!!!!!!!!

amane
- 5th March 2006, 03:47
I've been using WinPic800 to program PIC18LF4620 using my PC's serial port. It's working fine. I used JDM programmer as the hardware settings. I connected the PC to the programmer using DB9 to ICSP cable. I'm thinking of getting myself a development board with PIC18LF4620. The board comes with ICSP connector that uses PGC, PGD, /MCLR, 3.3Vdc and GND to connect to the PIC and program it. I'm wondering whether will I be able to use the JDM programmer settings using a DB9 to ICSP cable to program the board. The board is going to cost me a huge sum of money and I wanted to be sure that I have the necessary tools to program it. Thanks!

rushabh
- 23rd April 2006, 06:00
i have downloaded details about picwin programmer . in this diode bat 42 component is reqd. which is not available . can anyone suggest the equilent diode. suggest me some good programmer details

NewBoy
- 24th April 2006, 09:34
Re: BAT 42

I've found that BAT43, BAT48 and BAT85 all worked fine in my ICSP.

I don't know anything about the programmer you mention but I guess they're simply specifying a small signal, fast, Schottky diode.

If you don't mind a fatter diode then a 1N5818 will probably do.

I've never tried a 'normal' signal diode, it may work, but no doubt you will messages of doom about them.

BruMans
- 3rd May 2006, 07:03
i guess BAT42 can be replaced by 1N5820 Diode

jwildes
- 12th May 2006, 18:25
Hi guys,

I made the programmer with 3 resistors and using the ICPICPROG 1.0D.
I was confused with the pins connection between COM port and the PIC IC.
I connect to 16F628A as below:

TXD (Pin 3) -----[4.7K]------ MCLR/VPP ( Pin 4)

GND (Pin 5) ----------------- Vss (Pin 5)

DTR (Pin 4 ) -----[4.7K]------ RB 7 /PGD (Pin 13)

CTS (Pin 8) ----------------- RB 7 /PGD (Pin 13)

RTS (Pin 7) -----[4.7K]------ RB 6 /PGC (Pin 12)

The ICprog run fine at Windows 98SE.
Under XP Pro SP2 the program show error : Privileged Instruction...

How i can use ICprog under XP Pro?

NavMicroSystems
- 12th May 2006, 18:36
Under XP Pro SP2 the program show error : Privileged Instruction...

How i can use ICprog under XP Pro?

Install the IC-Prog NT/2000 driver

The driver can be found HERE (http://www.ic-prog.com/download.html)

You should also have a look at WinPIC (http://people.freenet.de/dl4yhf/winpicpr.html)

rushabh
- 26th May 2006, 10:11
i have prepared the pcb serial 9 pin interface given with the download use external supply and 7812 to regulate.
i am getting the message programmer not initialised , their is no interface , how i can check the interface and please some one help me in running this programmer . i want to program 16f676

mister_e
- 26th May 2006, 13:10
Please provide at least the name of your interface (JDM or else) and your device programmer software... as there's few suggestion hre ;)

12Volt could work, but by the PIC spec, VPP should be 13Volts. So i can't safely says if it's caused by this or not. Even worst.. i don't use any of the previous for PICs. I used PonyProg and IC-Prog with SI-Prog for my on-the road radio decode service in the past. Worked good. But now, as some of my UK and US customer, we use my URD-1 decode dongle.

Rufinus
- 30th May 2006, 12:57
Hi everyone.

I tried suggested in the first post connection for high-voltage programming of PIC16F877A. Programmed uC with IC-Prog, with suggested above settings.Works flowless, no problem at all.
However!
There seems to be a problem with the bootloader. If you use the bootloader for PIC16F877, it will not work. And since there is no other bootloader included with older versions of MicroCode Studio Plus, one has a problem.
So, if you want to work with PIC16F877A, you must upgrade to the latest MicroCode Studio Plus version (they have new loader files and they work with 877A), or you have to request it by email from Mecanique.

Hope this info saves somebody some time ;)

rushabh
- 30th May 2006, 15:20
i have downloaded this programmer , prepare the hardware . but as i am putting it to pc thorgh serial port wire, message " programmer not initialised"
please feedback me how i check the fault. i want to program 16 f676 , suggest some way

Alex200
- 14th June 2006, 20:59
Hello all,

My levels at my COM are 10.4V and on another computer are 11.8V. Is the programmer going to work?

rushabh
- 15th June 2006, 07:01
i have made win pic programmer , as i am interfacing some time programmer shows interface ok but i am unable to programe the code. i have prepared the hex by mplab 7.1 ide. pl send me simple code for 16 f 676 chip to check if code are written wrong , or some programmer trouble . pl suggest me

Angus Anderson
- 23rd July 2006, 12:41
Hey Squibcakes-

Just to say thank you for posting this project to the Forum way back when.
I have just completed 6 months of work on a 2 way comms project using DTMF signalling, and I have to tell you that not having to take out the PIC every time I program is an absolute pleasure and revolutionised my programming life. Also, where in the world can you make up a complete working programmer for the cost of 1 DB9 connector, 3 resistors, and some shrink tubing?

The Picstart is now gathering dust in the cupboard, as ICprog and the Squibcakes programmer does everything I want it to do.

Further on the discussion about programming voltages, I found that the programmer would not work with Vprog less than 11.5v, and as my laptop/USB-Serial only gives out 9.5v, I have to stick to my desktop

Steffen44
- 25th December 2006, 17:19
Hallo@all

I need help to connect my 16F877 PIC with the Resistors/Serial Port.
I does not work with the 5 Volt Power Supply.

what i have for 16F877 is :

TXD (3) ------[4.7k]-------VPP/MCLR

GND (5) -----------------VSS (GND)

DTR (4) -------[4.7k]----RB7/PGD (DATA ???)

CTS (8) -----------------RB3/PGM (DATA ???)

RTS (7) -------[4.7k]----RB6/PGC/CLK

are the Connetions wrong ? I dont know ?
IC Prog tells me the Error Code on 0000h.



What stands the two data lines for ?!
DTR (4) -------[4.7k]------DATA (????)
CTS (8) ------------------DATA (????)


Regards
Steffen

mvs_sarma
- 28th December 2006, 21:23
I am not able to Program any PIC using the Simple Interface suggested. I am using Windows XP (SP2).

I get Programming failed at Dataaddress 000000h. Any help or suggestion. I am using ICP, Windows API , I/O delay 1. I tried changing these setting to diffrent settings but could not get the Chip to Prog. I am trying to Prog F72, F873A and F876

Hi Charudatt,
1. please check whether the programmer has external 13.5 volts for Vpp if the derived voltage from COM port is used, pl ensure its value by measurement.

2. Please try winpic800 programme and see. www.winpic800.com

skimask
- 28th December 2006, 21:30
Originally Posted by charudatt
I am not able to Program any PIC using the Simple Interface suggested. I am using Windows XP (SP2).

I get Programming failed at Dataaddress 000000h. Any help or suggestion. I am using ICP, Windows API , I/O delay 1. I tried changing these setting to diffrent settings but could not get the Chip to Prog. I am trying to Prog F72, F873A and F876


Hi Charudatt,
1. please check whether the programmer has external 13.5 volts for Vpp if the derived voltage from COM port is used, pl ensure its value by measurement.

2. Please try winpic800 programme and see. www.winpic800.com

That 1st post was over 1 1/2 years ago... Ya think he might have it figured out by now or had moved onto a different project... I'd doubt if he's sitting in front of his monitor staring into it waiting for another answer :)

bearpawz
- 28th December 2006, 23:09
Ok, I don't know what Im missing here....

I used the circuit after reading through this thread... actualy seems to be no problems with programming. Im using IC-PROG, load a simple hex file made from the pbp samples code to blink an LED on port 1. Im not using any external oscilators.

When I program, no problems. Read back it verifies correctly. Just to be sure I shut the whole thing down, restarted IC-PROG, and reloaded from the pic and there is indeed code in there.

When I pull pic out of the circuit and try to plug into simmple LED blink circuit, nothing happens. Blink circuit is nothing more than 5V+ on VDD, GND on VSS, Cathode of LED to ground, and Anode of LED to Pin 6 (RB0)..

Im using PIC16F818... Am I missing a config fues some where? its been over two years since ive toyed with these things so I cant remember what my set ups were back then

thanks in advance


oh yeah, and I already bought the programmer off e-bay... just waiting for it to show up from Hong kong... mean while this is all ive got and i have to start getting work on this project going.

skimask
- 29th December 2006, 00:19
Ok, I don't know what Im missing here....

I used the circuit after reading through this thread... actualy seems to be no problems with programming. Im using IC-PROG, load a simple hex file made from the pbp samples code to blink an LED on port 1. Im not using any external oscilators.

When I program, no problems. Read back it verifies correctly. Just to be sure I shut the whole thing down, restarted IC-PROG, and reloaded from the pic and there is indeed code in there.

When I pull pic out of the circuit and try to plug into simmple LED blink circuit, nothing happens. Blink circuit is nothing more than 5V+ on VDD, GND on VSS, Cathode of LED to ground, and Anode of LED to Pin 6 (RB0)..

Im using PIC16F818... Am I missing a config fues some where? its been over two years since ive toyed with these things so I cant remember what my set ups were back then

thanks in advance


oh yeah, and I already bought the programmer off e-bay... just waiting for it to show up from Hong kong... mean while this is all ive got and i have to start getting work on this project going.



MCLR pulled up to +5?

bearpawz
- 29th December 2006, 03:47
Actually, its not programming as nice as I thought. Not it seems hit or miss as to weather or not it fails. This is the scheme I have:


+12V------- LM7805 -------+5V------O |-- ->VDD(14)
| (switch)
|
GND/Vss




RS232 PIC16F818
TXD (3) ------[4.7] -------- VPP (4)
GND (5) -------------------- VSS (5)
DTR (4) ------[4.7]--------- PGD (13)
CTS (8) -------------------- PGD (13)
RTS (7) ------[4.7]--------- CLK (12)



ICPROG SETTINGS:
JDM Programmer on COM2, I/o Delay = 20, Direct I/O

I created a small program to blink an LED: Progam with these settings:

Oscilator = INTrc
Code Protect = OFF
Write Enable = OFF
Fuses:
WDT = 1
PWRT = 1
MCLR = 0
BODEN = 1
LVP = 0
CPD = 0
DEBUGGER = 0
CCPMX = 1


All in all just a head ache of problems... I sure hope my JDM programmer I bought of ebay comes in tomorrow... been over a week for "Air mail" to show up...

mvs_sarma
- 29th December 2006, 12:59
......................That 1st post was over 1 1/2 years ago... Ya think he might have it figured out by now or had moved onto a different project... I'd doubt if he's sitting in front of his monitor staring into it waiting for another answer :)

Hi Skimask, you are right-- i too noticed it jsut after posting-- however, even if it is useful to anybody else, it serves-- coming to using winpic800 (ver3.60)programm, the hardware under concern is to be treated similar to propic 2 while configuring the hardware under winpic800 - this what the orginal hardware designer suggested.

i agree and this helps only to locate winpic800 drivers, which are really good.

Squibcakes
- 30th December 2006, 08:07
Bearpawz,

Show us your basic blink code and maybe we can figure it out. BTW did you use a dropping resistor on that LED? If not you may have blow up your IC. Don't suppose the polarity is around the wrong way?

Oh yeah, Winpic800 is a much quicker at programming than IC prog.. I suggest using that now days.

DTR/CTS lines connected to the data I/O are for Program reading and writing of the chip.

Cheers and....


Happy New Year to All

Squib

NewBoy
- 30th December 2006, 10:05
As Skimask says: do you have a pull-up res for MCLR pin in your LED blink circuit? 4K7 is hte commonly used value though higher vals will work with care.
Is your blink circuit power supply good? (With decoupling capacitors where necessary?)
As Squibcakes says: Do you have a dropping/limiting resistor for your LED? 470R to 2K2 should be fine unless you have a superfast 'blink'.

Is it possible to include res+LED etc in your programming circuit to save transferring PIC to the other board? (Just for testing).

If you go the bootloader route I can post a simple transistor circuit for programming via Tx and RX pins. (Easier/cheaper than MAX232 method though obv not true RS232 but it works 100%with the 6 PCs I've tried it with. No guarantees as i don't know how good your soldering is)

mister_e
- 30th December 2006, 14:26
Sorry all, but i would suggest you buy a Microchip PICKIT2 programmer. It's still <50$ and work perfectly (at least the few time i used it on the road).

I see a lot of problem here and there using those JDM etc etc few bucks programmer and free software. Now with Windows and USB to serial etc etc, it's getting hard to make them working.

If you have an old PC running windows '98 it could work better.

Your PC don't have DB9? buy a i/o card OR a USB programmer. The USB programmer like PICKIT 2 is still cheaper than an i/o card so far.

bearpawz
- 30th December 2006, 22:14
The blink code is a copy and paste from the PBP samples folder. Just added a few extra configuration lines... (oscon etc).

When the pic is flashed there is no problems with the program running correctly. The problem is more getting it to program the pic in the first place. Sometimes it works... more often it doesnt. Especialy if start getting complicated programs.

PS: My little programmer I bought on ebay is still a no show... how long does it take to get from Hong Kong to us via "air mail"?

skimask
- 30th December 2006, 23:49
The blink code is a copy and paste from the PBP samples folder. Just added a few extra configuration lines... (oscon etc).

When the pic is flashed there is no problems with the program running correctly. The problem is more getting it to program the pic in the first place. Sometimes it works... more often it doesnt. Especialy if start getting complicated programs.

PS: My little programmer I bought on ebay is still a no show... how long does it take to get from Hong Kong to us via "air mail"?

I had a couple of problems with my Warp13 programmer (serial port based) that caused me some headaches until I figured out that it was junk running in the background, mainly those programs that monitor cpu temps, fan speeds, etc. were causing it to mess up. Try killing all your background processes (well, not all, but at least everything in the tray) and then trying to program. heck, boot up in safe mode and see what happens.

bearpawz
- 31st December 2006, 06:39
Well, this is a "development" machine I use so not much of anything running anywhere... using windows 98SE..

You know, I really wish I could find the old "Kit96" progrrammer. I had that once and it got lost when I moved... but never had any problems with it and it was only about $15.00. If anyone has one laying around they dont use, or for that matter has the schematic and PCB files (I beleive the kit that you put together came with a PCB layout in the literature).

I sure miss that programmer.

skimask
- 31st December 2006, 09:31
Well, this is a "development" machine I use so not much of anything running anywhere... using windows 98SE..

You know, I really wish I could find the old "Kit96" progrrammer. I had that once and it got lost when I moved... but never had any problems with it and it was only about $15.00. If anyone has one laying around they dont use, or for that matter has the schematic and PCB files (I beleive the kit that you put together came with a PCB layout in the literature).

I sure miss that programmer.

How about the cable between the PC and the programmer? If it's a serial cable, it isn't a crossover cable is it? How about the ground pin (9 or 5, can't remember which), is it connected? With mine, I've got continuity between the ground on the Warp13 and the case of the PC. I've heard where some laptop users have problems because the ground in the cable isn't connected (myself included!). I had to blob-solder a jumper to the hood of the cable back in the day to get it to work.

mister_e
- 31st December 2006, 10:40
You know, I really wish I could find the old "Kit96" progrrammer. I had that once and it got lost when I moved... but never had any problems with it and it was only about $15.00. If anyone has one laying around they dont use, or for that matter has the schematic and PCB files (I beleive the kit that you put together came with a PCB layout in the literature).

Google have to be your friend dude...
http://kitsrus.com/pdf/k96.pdf
http://www.picallw.com/
http://picallw.feniks-pro.com/pictures/p16.jpg
http://picallw.feniks-pro.com/pictures/p16pro.gif
http://picallw.feniks-pro.com/pictures/pcb16pro.gif
http://picallw.feniks-pro.com/pdf/p16pro.pdf


Not Enough? Just search for P16PRO40 ;)

Enjoy!

Squibcakes
- 1st January 2007, 22:18
Have you tried another uPic.. Say a 16F628 or 16F88?

This programmer works just not on chips ending in 'A' or when connected to laptop serial ports.

squib

Angus Anderson
- 2nd January 2007, 13:12
Hey Squibcakes-

I'm using your program for development using ICSP with '873A, '876A, '877A - and ICPROG, no problem, works every time

Are you saying that you have come across some problems with -A suffix PIC's and your programmer?

regards

Angus

Squibcakes
- 3rd January 2007, 00:35
Hi Angus,

Yep. I don't use too many chips so I can't say this effects all chips ending in 'A'. I've tested the 84A, 628A chips and they only programmed the first time for me. Subsequent writes failed.

Not that it matters I mostly use the F88 these day's with no problems.

I'm glad it works for you and your happy. For a cheap and dirty programmer it does the job very well. Anyone else wanting a more reliable solution should buy a specialist programmer and pay a handsome sum for it. Mr_e will gladly take your money! ;)

Have you tried using Winpic800 (Free prog software)? Its a lot faster at programming than IC-Prog.

Cheers

mvs_sarma
- 3rd January 2007, 09:44
Hi all,

Acircuit or assembled piece doen't work, the solution need not be hardware and we need not rush tp spend and order another readymade board-- If that does't work shall we run for a third item?

Just cool down and think logically we can resolve. afterall intermittent failure may be due to improper configuration of the hardware w.r.t O/S (like win98,winXP)

i quote a comment of a programmer designer Mr FENG (FENG3 programmer 5.3 ver8). he once idcated he was still using RCD programmer. It proves Hardware / sofware can be maintained and debugged than rushing for replacements.

See the requiremets of a particular chip are met as per programming considerations, while programming a chip. (sometimes one of the RA pins is tobe pulled down)

Angus Anderson
- 5th January 2007, 14:52
Hi Squibcakes-

Yes, on your suggestion I downloaded Winpic800 and you're right - about 3 to 4 times faster. Also allows programmming of code only, data only, or config only which is really useful. Am using it full time now. Tks for the suggestion.

I'll have a go at a '628A this weekend & see what happens. On the other side, I must have reprogrammed one '873A at least 24 times today, not one failure. Could it not be that the '628A is more sensitive to a slightly low VPP than the others? As far a I am aware, VPP should be 13.5v, but most workable (not laptop) RS-232 "12V" levels seem to be a little below that - mine is only 11.8v & it still works.

regards

Angus

Nimrod
- 4th April 2008, 03:47
Both are connected through 4.7k resistors, as well as the vpp through a 4.7k resistor.


GP0 = GPD = 7
GP1 = GPC = 6

So in your case you would connect the 12Cxxx chip like this:

D-Conn............................uPIC
TXD (3) ------[4.7k]-------VPP(pin 4)

GND (5) --------------------VSS(pin 8)

DTR (4) -------[4.7k]------DATA(pin 7)

CTS (8) ------------------DATA(pin 7)

RTS (7) -------[4.7k]------CLK(pin 6)

5 volts DC to VDD(pin1)

Hope this helps.
J

I've tried to make this programmer but somehow I can't program the 12C508a, here is what happends:

I can read the PIC with no problems in ICprog but when I press the program button it gives me an error on 0000h I've checked the Voltage and I have 5V between GND and VCC as expected (I'm powering the programmer through USB since it gives 5V) and between GND and VPP I have -10V without the PIC placed in the socket ofc...its a bit strange to have a value so low isn't it? Can anyone please help me I'm getting crazy with this already screwed 3 PICS...can read them but cant write :( Thnx

mister_e
- 4th April 2008, 05:13
10V is way too low, this have to be ~13V. This kind of programmer is really not recommended anyways.. worst if you use a USB to Serial converter.

There's few variant of such cheap programmer like JDM, JDM2, Taits, Ludipo, ElCheapo, PicBlaster and the list is long... none of those seems to work properly... even worst with Vista :D

I've been told the parrallel PIC programmer in the list above work better... BUT ANYWAY...invest ~40$ and buy yourself a real Microchip PICKit 2 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805) or a clone like JuneBug (http://www.blueroomelectronics.com/Junebug.htm).

and huh.. why not using 12F508 wich is a flash version.. so you can write on it again and again... and again.

mister_e
- 12th April 2008, 22:19
Yet another reason why you should consider PICKit2. Along with it's ICD capability, EEPROM, Keeloq and device programming list, The standalone application give you USART tool (no need for MAX232)... AND NOW, the new V2.50 add this nifty 3 channel LogicAnalyser (logic signal stimulus and monitoring) tool... for free!

As if wasn't enough... >>>PICkit 2 Programmer-To-Go support for programming devices without a PC.<<<

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805

How about that? ;)

~40$ for that... even if you don't use it as a daily/main programmer... only the free tools worth it no? I really like the Programmer-To-Go option....

Ramonetnet
- 23rd April 2008, 00:56
Can you update the schematic to be used with 18F452 ?
Ramon.

Ramonetnet
- 24th April 2008, 15:08
Here I have a LVP-cable, very similar to yours ...

>>> http://home.vrweb.de/~lotharstolz/stolz.de.be/lvpc/index.html

It does NOT work for me, and my RS-232 provides 10 volts.

Is this a problem ?
I thought LVP got "L" from "LOW" voltage, only 5 volts all around.
Am I wrong ?

The resistors here are 10 K, whilst yours are 4K7. Is this important ?
I see 2 mA shall flow in your circuit, and only 1 mA in the LOTHAR desing ...

Leccy-Lee
- 24th August 2008, 11:01
Forgive me for dragging an old topic, but i found this thread via Google and am new to the forum ( HI )..

I am trying to get this to work on a PIC16F88, it was posted that it worked fine but i have been trying for hours.

I have no experience of PICs at all, and all i am simply trying to do is build a design i got online that comes with the .hex firmware already. I simply need to get this firmware onto the PIC and away i can go.

Have read the datasheet for the pic, and about ICSP in circuit, and read this topic 3-4 times now. Heres how i have it so far, but i think its wrong?

9pin serial 16F88 pin
------------- ------------
3 4.7k 4 (vpp/mclr)
5 -- 5 (Grd)
4 4.7k 13 (Data ? PGD)
8 -- 12 (Data ? PGC)
7 4.7k ?? (which port?)

Then i use my circuits 5v to supply 5v to vdd, i measured my PC serial port on pin 3 as 10v, is that enough or is that my problem? I see in datasheet about low-voltage programming is an option but wasn't sure how to connect that up?

I have then tried both Ic-Prog and Winpic to "upload" the .hex firmware to my pic (still in circuit but connected as above) but neither seems to be working? Cant even tell if its connecting to the pic? In Winpic it says "failed to initialise programmer" and in Ic-Prog it just fails on verify. I have set both softwares to programmer "JDM" type as instructed.

Where am i going wrong, and what are the correct pins and settings for PIC16F88 please?

nomad
- 24th August 2008, 11:31
pins are wrong. pgd is data and pgc is clock. so is like this: 3-4.7k-4, 5--5, 4-4.7k-13, 8---13, 7-4.7k-12. sorry for formatting, am on my phone. also, if code protect is on, it will fail verify as it will not be able to read the code back from the pic (protected).

sandeep
- 19th December 2008, 12:52
Hi guys,

I have been using this simple programmer.. why pay big bucks for a PIC programmer when this one costs just cents! In fact I have stopped using my 'other programmer' all together now.

All you need is:
three 4.7k Resistors,
a few wires (1m)
9 pin d-connector (female),
and a 5 volt dc supply.

I have used it on 16F84, 16F62X, 16F87X chips without problems.

To make it:

TXD (3) ------[4.7k]-------VPP

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA

CTS (8) ------------------DATA

RTS (7) -------[4.7k]------CLK

Numbers in Bracket are the connections on the 9-Pin D-Connector.

I have made up a small PCB to mount the resistors on but... you could just solder them in line to go cheap.. Just be carefull they dont short out. If anyone wants the PCB footprint I can post it.

Then just put your PIC into a breadboard, connect your 5 volt supply to VDD/VSS, and away you go.



hi!!!!!!!!!
can u please send the pcb layout &some more details to programm
the pic
its argent!!!!11111
also which type pic r compatable with the such programmer?
im new here
expecting u r kindaa response

sandeep
- 19th December 2008, 13:00
Hi guys,

I have been using this simple programmer.. why pay big bucks for a PIC programmer when this one costs just cents! In fact I have stopped using my 'other programmer' all together now.

All you need is:
three 4.7k Resistors,
a few wires (1m)
9 pin d-connector (female),
and a 5 volt dc supply.

I have used it on 16F84, 16F62X, 16F87X chips without problems.

To make it:

TXD (3) ------[4.7k]-------VPP

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA

CTS (8) ------------------DATA

RTS (7) -------[4.7k]------CLK

Numbers in Bracket are the connections on the 9-Pin D-Connector.

I have made up a small PCB to mount the resistors on but... you could just solder them in line to go cheap.. Just be carefull they dont short out. If anyone wants the PCB footprint I can post it.

Then just put your PIC into a breadboard, connect your 5 volt supply to VDD/VSS, and away you go.



hi!!!!!!!!!
can u please send the pcb layout &some more details to programm
the pic
its argent!!!!11111
also which type pic r compatable with the such programmer?
im new here
expecting u r kindaa response
i l be more happy u send softwares so that i m able to make pcb layouts

skimask
- 19th December 2008, 14:50
hi!!!!!!!!!
can u please send the pcb layout &some more details to programm
the pic
its argent!!!!11111
also which type pic r compatable with the such programmer?
im new here
expecting u r kindaa response
i l be more happy u send softwares so that i m able to make pcb layouts

OR...and I just might be a little bit crazy here...
If it's so argent, just go out and buy a PICKIT2.
Microchip supported, already complete, done, done and done...

sandeep
- 22nd December 2008, 15:00
Hi guys,

I have been using this simple programmer.. why pay big bucks for a PIC programmer when this one costs just cents! In fact I have stopped using my 'other programmer' all together now.

All you need is:
three 4.7k Resistors,
a few wires (1m)
9 pin d-connector (female),
and a 5 volt dc supply.

I have used it on 16F84, 16F62X, 16F87X chips without problems.

To make it:

TXD (3) ------[4.7k]-------VPP

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA

CTS (8) ------------------DATA

RTS (7) -------[4.7k]------CLK

Numbers in Bracket are the connections on the 9-Pin D-Connector.

I have made up a small PCB to mount the resistors on but... you could just solder them in line to go cheap.. Just be carefull they dont short out. If anyone wants the PCB footprint I can post it.

Then just put your PIC into a breadboard, connect your 5 volt supply to VDD/VSS, and away you go.


hi!!!!1111
i m new here.
i want to program the pic16f873/876 by simple programmer sugested by u.
can u plese tell me the pin connection ?
what should i do of pgm?
i 'l be happy if u send pcb layout
expecting u r kinda response

rabidgoalie
- 8th January 2009, 06:11
Like Ramonetnet, I tried to use the Stolz LVP cable design with no success, and then I rooted around the Internet to find a way to get a PIC programmed quick and easy. Luckily, I found this thread. I am going to construct the Stolz ICD2 clone, and I didn't have any type of programmer before I found this thread and without a programmed PIC16F876A I wouldn't be able to construct the ICD2 clone (obviously ;) ). I read through this thread about five times to make sure that I did not confuse any information, and then I breadboarded this simple programmer (using the setup below, exactly how Squibcakes illustrated in the first post) and everything works great!

I made sure to test the levels on my serial port to make sure that they were within the range that seemed to be working for everyone (~11.25V), and they checked out fine. I am using Win98 as the OS because I have an old (but still good) Packard Bell 880, and I am very pleased to say that IC-Prog seems to program much faster under Win98 than under XP. For some reason, I was getting an error from WinPic800 (similar to the one that charudatt was getting from IC-Prog), but I switched to IC-Prog and used the recommended settings and it worked great. Hmm, don't really know what is going on with that but IC-Prog works for me so I will worry about it at a latter date (i.e. I will never think about it again after tonight :D ).

I was able to program the PIC16F876A, verify the programming, and then just to be thorough I closed down IC-Prog and restarted it and read the data back and it all worked flawlessly. Thanks Squibcakes!


TXD (3) ------[4.7k]-------VPP (PIN 1)

GND (5) --------------------VSS (PIN 8 or 19)

DTR (4) -------[4.7k]------DATA (PIN 28)

CTS (8) ------------------DATA (PIN 28)

RTS (7) -------[4.7k]------CLK (PIN 27)

+ (5V power supply) -------VDD (PIN 20)

- (5V power supply) -------VSS (PIN 8 or 19)

P.S. sandeep, when I programmed this PIC16F876A I left PGM unconnected (floating), and I had no problems at all programming, verifying, and reading back the programming inside the PIC. Others could probably help more on the PGM pin than I could (I am still a newbie at this). Hope this helps someone. :D

marksk
- 20th February 2009, 00:02
i've seen it mentioned not to use a laptop because there isn't enough voltage from the serial port. would i be ok if if i used a separate power supply to provide +5V to the pic?

Squibcakes
- 20th February 2009, 02:38
Hi Mark,

This circuit requires an external 5v regardless. In saying that, I haven't had much luck using laptops when programming pics with this circuit. (after all this is a very simple cheap programmer!)

Laptops don't put out high enough voltages on the serial lines.

Attached is copy of circuit board you can use to make this programmer. Have fun!

Cheers

marksk
- 23rd February 2009, 19:59
tried my laptop over the weekend to no avail. i used an external supply for the +5v, but each time i tried i got an "verification failed at 0000h". i also tried applying +12v to MCLR to get it into programming mode, but that didn't work. i prefer to use the laptop for several reasons:

1. it fits nicely in my work area
2. it's 10 years old and isn't used, so if it blows it's no big loss
3. i've got problems if i use my desktop pc and it blows

i have an old 486 pc in my garage, but i don't have a spare monitor or keyboard for it.

can someone point me to a schematic that would allow me to use the laptop? (preferably with easy to find parts) if i use my desktop for the LVP programming, what are my changes of killing the pc?

thanks!

nomad
- 24th February 2009, 20:02
you can't just apply +5, and +12 for power and Vpp and have it work. there's timing issues, when it applies the voltage, which is first applied, to even get into programming mode. these voltages need to be controlled by the programmer. some newer JDM's use external supplies, but it still controls when they're applied to the pic.

as everyone has been saying, break down and buy the pickit2, or other.

by the time you build the cheapo serial one, buy a cable, waste hours upon hours trying to get it to work, you'll have spent way more than if you bought
the pickit (or other) in the first place..

here's the kicker, even after you get an enhanced jdm, get it to work, get/make external supplies for +5/+13, make a housing for it with switches etc, and tweak the software to run off your laptop with a usb converter...............

You'll end up buying a different programmer for the other features.!
(say um, pickit2? for serial i/o, logic injection/analyzer, etc..)

oh, and if code protect is on, it will always fail verification.. even if it programmed fine, it will be unable to read the code to do the verification. :/

aruna1
- 28th September 2009, 13:33
Guys what are the supported and not supported PICs by this simple programmer?
thanks

P.S. cool programmer

joe17301
- 31st October 2009, 04:35
I've tested this very simple programmer with a PIC16F88 and it worked fine. Just programmed a PIC18F2550 as well and it seems to work (I programmed it and then read back the code, tried verifying etc and it worked). If it doesn't work, I'll post a follow-up post later on :)

The software I used was WINPIC800 version 3.55b, and I just chose JDM.

For once off stuff, this is wonderful. Thanks for the great programmer!

t_mask17
- 27th December 2009, 04:45
Guyz I need help for the schematic diagram of this simple ICSP does it really work for 16f877a can you post the schematic diagram for this one.
Im a newbie in PIC and I'm using microcode studio but there are many problems like I build the required circuit but the software says reset the target microcontroller .. and some part of the threads here that I need a bootloader like tinybootloader

http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

but what is the circuit requirements for this one in order to program a 16f877a

Pls reply guyz ASAP

Thanks alot

Gusse
- 27th December 2009, 15:24
Guyz I need help for the schematic diagram of this simple ICSP does it really work for 16f877a can you post the schematic diagram for this one.
Im a newbie in PIC and I'm using microcode studio but there are many problems like I build the required circuit but the software says reset the target microcontroller .. and some part of the threads here that I need a bootloader like tinybootloader

http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

but what is the circuit requirements for this one in order to program a 16f877a

Pls reply guyz ASAP

Thanks alot

Olimex PIC-PG2 (http://www.olimex.com/dev/pic-pg2.html) (in pdf (http://www.olimex.com/dev/pdf/pic-pg2c.pdf))
I have used similar, but homemade with DL4YHF's WinPic Programmer (http://www.qsl.net/dl4yhf/winpicpr.html)
Working well!

BR,
-Gusse-

togum2000
- 6th May 2010, 00:00
I have Problems of error in winpic, the programmer that I use is JDM2, I mounted 4 models jdm of different authors from the web, all the same error.

Operating system Microsoft Windows XP Professional
Version 5.1.2600 Service Pack 3 Compilation 2600
I model of the system KM400-8235
Processor x86 Family 6 Model 7 Stepping 0 AuthenticAMD ~1100 Mhz
Total physical memory 512,00 MB
Available physical memory 300,13 MB
Total virtual memory 2,00 GB
Available virtual memory 1,96 GB
I space of the pagination file 1,22 GB

Wx Pic

15:29:48.187 Info: Loading definitions for "PIC16F84A" from C:\Arquivos de programas\WxPic\devices.ini .
15:29:48.187 Info: PIC16F84A added and tested by FENG3
15:29:48.187 Parsed "C:\Arquivos de programas\Microchip\MPLAB IDE\Device\PIC16F84A.dev" : found 10 bit combinations in 4 configuration bit groups .
15:29:48.390 Initialising PIC-Programmer: Success.
Testing: delay(500ms) took 0.50 seconds, timer_freq=3.5795 MHz ... ok
15:31:39.765 Programming...
15:31:39.765 Erasing ("bulk" or "chip") ...
15:31:40.218 Programming and Verifying CODE, 0x000000..0x000121
15:31:40.437 Verify Error: 000000: read 003FFF, wanted 00018C
15:31:40.453 Verify Error: 000001: read 003FFF, wanted 00019D
15:31:40.468 Verify Error: 000002: read 003FFF, wanted 00018F
15:31:40.484 Verify Error: 000003: read 003FFF, wanted 000190
15:31:40.546 Verify Error: 000004: read 003FFF, wanted 000191
15:31:40.562 Verify Error: 000005: read 003FFF, wanted 000192
15:31:40.578 Verify Error: 000006: read 003FFF, wanted 000193
15:31:40.609 Verify Error: 000007: read 003FFF, wanted 000194
15:31:40.625 Verify Error: 000008: read 003FFF, wanted 000195
15:31:40.640 Verify Error: 000009: read 003FFF, wanted 000196
15:31:40.656 Verify Error: 00000A: read 003FFF, wanted 000198
15:31:40.671 Verify Error: 00000B: read 003FFF, wanted 000199
15:31:40.687 Verify Error: 00000C: read 003FFF, wanted 00019A
15:31:40.703 Verify Error: 00000D: read 003FFF, wanted 001683
15:31:40.718 Verify Error: 00000E: read 003FFF, wanted 003010
15:31:40.734 Verify Error: 00000F: read 003FFF, wanted 000085
15:31:40.750 Verify Error: 000010: read 003FFF, wanted 003000
15:31:40.750 Programming aborted after 17 errors.
15:31:40.953 Programming CONFIG, 0x002000..0x002007
15:31:41.187 Verify Error: 002007: read 003FFF, wanted 003FF1
15:31:41.406 ERROR: Programming FAILED !

Simulate only ( Ignore Hardware )

15:33:13.593 Info: Loading definitions for "PIC16F84A" from C:\Arquivos de programas\WxPic\devices.ini .
15:33:13.593 Info: PIC16F84A added and tested by FENG3
15:33:13.593 Parsed "C:\Arquivos de programas\Microchip\MPLAB IDE\Device\PIC16F84A.dev" : found 10 bit combinations in 4 configuration bit groups .
15:33:13.796 Initialising PIC-Programmer: Success.
Testing: delay(500ms) took 0.50 seconds, timer_freq=3.5795 MHz ... ok
15:34:12.00 Programming...
15:34:12.00 Erasing ("bulk" or "chip") ...
15:34:12.00 Programming and Verifying CODE, 0x000000..0x000121
15:34:16.578 Programming CONFIG, 0x002000..0x002007
15:34:16.703 Programming finished, no errors.

WinPic DL4YHF

Info: Loading definitions for "PIC16F84A" from C:\Arquivos de programas\WinPic\devices.ini .
Info: PIC16F84A added and tested by FENG3
Parsed "C:\Arquivos de programas\Microchip\MPLAB IDE\Device\PIC16F84A.dev" : found 10 bit combinations in 4 configuration bit groups .
Initialising PIC-Programmer: Success.
Testing: delay(500ms) took 0.50 seconds, timer_freq=3.5795 MHz ... ok
Programming...
Erasing ("bulk" or "chip") ...
Programming and Verifying CODE, 0x000000..0x000121
Verify Error: 000000: read 003FFF, wanted 00018C
Verify Error: 000001: read 003FFF, wanted 00019D
Verify Error: 000002: read 003FFF, wanted 00018F
Verify Error: 000003: read 003FFF, wanted 000190
Verify Error: 000004: read 003FFF, wanted 000191
Verify Error: 000005: read 003FFF, wanted 000192
Verify Error: 000006: read 003FFF, wanted 000193
Verify Error: 000007: read 003FFF, wanted 000194
Verify Error: 000008: read 003FFF, wanted 000195
Verify Error: 000009: read 003FFF, wanted 000196
Verify Error: 00000A: read 003FFF, wanted 000198
Verify Error: 00000B: read 003FFF, wanted 000199
Verify Error: 00000C: read 003FFF, wanted 00019A
Verify Error: 00000D: read 003FFF, wanted 001683
Verify Error: 00000E: read 003FFF, wanted 003010
Verify Error: 00000F: read 003FFF, wanted 000085
Verify Error: 000010: read 003FFF, wanted 003000
Programming aborted after 17 errors.
Programming CONFIG, 0x002000..0x002007
Verify Error: 002007: read 003FFF, wanted 003FF1
ERROR: Programming FAILED !

Simulate only ( Ignore Hardware )

Info: Loading definitions for "PIC16F84A" from C:\Arquivos de programas\WinPic\devices.ini .
Info: PIC16F84A added and tested by FENG3
Parsed "C:\Arquivos de programas\Microchip\MPLAB IDE\Device\PIC16F84A.dev" : found 10 bit combinations in 4 configuration bit groups .
Initialising PIC-Programmer: Success.
Testing: delay(500ms) took 0.50 seconds, timer_freq=3.5795 MHz ... ok
Programming...
Erasing ("bulk" or "chip") ...
Programming and Verifying CODE, 0x000000..0x000121
Programming CONFIG, 0x002000..0x002007
Programming finished, no errors.

WinPic800

ERROR- Writing address 0x000000
Written: 0x018C Read: 0x3FFF

Icprog

Verify Failed at address 0000h

malc-c
- 10th May 2010, 08:27
It does look like hardware issues. How are you connecting the JDM programmer.

1) - USB to RS232 converters can be problematical and don't always work.
2) - Serial ports on laptops (mainly older generations) tend not to be able to generate the voltages required to get the PIC into programming mode

Are you selecting the correct chip in the Winpic options ?
Have you tried Winpic800 (I'll let you google that one) or a different programmer that has support for JDM hardware.

togum2000
- 11th May 2010, 05:46
Hello Malcolm


I already tested all of the programs of Pic (Winpic, winpic800, wxpic, icprog,.... ) and all with the same problem, My Motherboard is a MSI KM4M-V ( VIA KM400+8237 Chipset ) the Processor is an AMD DURON 1.1Ghz. As to select the correct options of the chip, this everything correct. I hope somebody can help myself with the solution of the problem

Gusse
- 11th May 2010, 10:33
How much voltage you will have on MCLR/VPP pin when you enable Vpp (+13V) from Interface Test (Interface sheet)?
With JDM and standalone PIC I have 10.4V and with ICSP (PIC on applicatio board) 9.3V and it is still working. Sometimes ICSP needs more flashing trials to avoid errors. I think it is because of lower VPP voltage..., but not sure.
When it says "Initialising PIC-Programmer: Success." is should have all setting correct.

BR,
-Gusse-

ram1cal
- 4th August 2010, 17:25
Hi guys,

I have been using this simple programmer.. why pay big bucks for a PIC programmer when this one costs just cents! In fact I have stopped using my 'other programmer' all together now.

All you need is:
three 4.7k Resistors,
a few wires (1m)
9 pin d-connector (female),
and a 5 volt dc supply.

I have used it on 16F84, 16F62X, 16F87X chips without problems.

To make it:

TXD (3) ------[4.7k]-------VPP

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA

CTS (8) ------------------DATA

RTS (7) -------[4.7k]------CLK

Numbers in Bracket are the connections on the 9-Pin D-Connector.

I have made up a small PCB to mount the resistors on but... you could just solder them in line to go cheap.. Just be carefull they dont short out. If anyone wants the PCB footprint I can post it.

Then just put your PIC into a breadboard, connect your 5 volt supply to VDD/VSS, and away you go.

then other prob is i how to modify this circuit for LVP ratings coz i'm much fear abt using 13v directly coz uC i hear tat works ly on 5v also flash is not sutable for 13v

hey also tell me that resistor for just droping tat 13v to 5v if so can i use a
MAX 232 for tat coz i'm much fear on ic damages...

Squibcakes
- 4th August 2010, 23:52
If you read through the posts - you wil see that it doesn't work with chips ending with A. eg its ok with 16F628 but not 16F628A.

You will need an external 5v supply (you migh be able to use 5v from USB port?)

nomad
- 5th August 2010, 08:20
Honestly, don't waste your time messing with the JDM style programmers. pickit2?'s are very cheap, there's even clones that also work quite well. After all the trial and error, adding parts (max232?), frying pics etc you'll have spent far more time and money than if you just got a decent programmer. I'm saying this from experience. I still do have a JDM style programmer, but the time I wasted getting it to work was just ridiculous. And out of 3 systems here it only works on 1. the other serial ports wont generate correct voltages. :(

Angus Anderson
- 5th August 2010, 09:52
Hi Nomad. I think you are missing the point
Squibcakes programmer is Free - oh sorry, you have to buy 3 resistors. I like free, especially if it works

I have stopped using any other programmers - this programmer works just fine on all the 16F and 18F PICS I use for my projects - and I have never blown up a PIC yet. I just install an ICSP plug on the project board and have a DB9 to ICSP header plug. s mentioned, use a regular PC Com port, not a USB to serial cable.

For 16F, I use WINPIC800 software, and for 18F I use ICProg, both set to JDM mode

joe17301
- 6th August 2010, 02:38
Hi Nomad. I think you are missing the point
Squibcakes programmer is Free - oh sorry, you have to buy 3 resistors. I like free, especially if it works

I have stopped using any other programmers - this programmer works just fine on all the 16F and 18F PICS I use for my projects - and I have never blown up a PIC yet. I just install an ICSP plug on the project board and have a DB9 to ICSP header plug. s mentioned, use a regular PC Com port, not a USB to serial cable.

For 16F, I use WINPIC800 software, and for 18F I use ICProg, both set to JDM mode

I totally agree. I used this simple programmer to program an 18F2550, which I then used to make the GTP USB Lite. I programmed the 16F84A, 16F88 and 18F2550 multiple times with no problems, but only on my desktop machine. I used a ribbon cable and header myself to achieve ICSP but the point is it works great and it's free. Used WINPIC800 for the 18F2550 and it worked fine.

shibly
- 10th August 2011, 09:59
Hi jow17301. I am new here. I want to use that very simple cheap (3 register) programmer. With this I want program 18f2550. Do I need to supply +5v?

mister_e
- 10th August 2011, 23:57
Yes indeed! This programmer may works well on Win98 or some XP installation, but I doubt it will ever work on Vista or Win7.

If you're using a USb to Serial adapter, then high likely you'll be out of luck even with XP.

Good luck tough...

joe17301
- 11th August 2011, 02:05
Hi jow17301. I am new here. I want to use that very simple cheap (3 register) programmer. With this I want program 18f2550. Do I need to supply +5v?

Hi there. Yes, you need to supply 5v. I think I did it with a battery and a 5v regulator (the 7805 if I recall correctly). I programmed the pic18F2550 with it. I needed the 18f2550 for the gtp USB lite programmer but as the guys say, the driver only works in windows XP. it doesn't work in vista or windows 7.

Good luck with your project!

mackrackit
- 11th August 2011, 02:10
If time is money then you will be much cheaper finding a PICKIT2.
Not to mention the headache ....

mister_e
- 11th August 2011, 02:42
When you had only PICStart and other over few hundred bucks programmer on the market (not sure how much I paid for PICStart Plus... 350$ possible?!?), it was an interesting option. But now with PICKITx and the likes AND unless you can't get PICKIT or any clone of it in your country under 50$ or so... you don't want to build your own.

turman
- 28th October 2011, 20:49
Hello everybody, I am new in this forum. The last week i programmed one 16f88, with my GTP USB LITE . I was my first time with this pic. I programed it with internal oscilator 8 MHz , and PB7 and PB6 , put high and low intermittently.

The problem was when i try to programmer other time. This fail, because the 16f88 enter in oscilation mode before programming mode.

How i can to resolve this ????

Thanks !

pedja089
- 28th October 2011, 21:16
Enable Vpp first, then Vdd on your programmer.

turman
- 29th October 2011, 10:59
How i can to do this ???

Docedison
- 7th March 2012, 22:35
I've seen THREE answers to this question in this thread and I think this guy is messing with UR heads...
On another thread... relevant in the Extreme:...
Why couldn't the "Missing 5V supply come from the USB port... It is used to Charge a LOT of 5V devices and at fairly husky currents > .2A (conservative W/o Hub... Even better Idea would be a USB Chargw plug into a powered hun disconnected from the USB port... Lots of power only, no data or other issues.
Doc

AruAru
- 16th December 2012, 21:50
Hey Squibcakes (http://www.picbasic.co.uk/forum/member.php?u=189) and others

Hurra.....

I made it today and work for PIC18F252-I/SP with PIC-Prog (http://www.ic-prog.com/index1.htm).

It worked from the first attempt.

My gratitude Squibcakes (http://www.picbasic.co.uk/forum/member.php?u=189) and others those who actively posting and help each others....

Aru

dizzydude
- 29th March 2013, 18:42
hi everyone
Can someone please tell me how to use this setup to program a 18f2550 pic and the settings please???

thanks in advance for any info.

shottootto
- 1st November 2013, 13:57
Hi
I am completely new to PIC, so please excuse if this is stupid.
For Stand-alone(not in-circuit) I understand that to transfer a program I need approx 12V on VPP and this has to be connected after 5V to VDD.
Can I use an external power supply for both voltages and make the VPP 12V switched in by the VDD 5v via a transistor, can it work or is VPP switched during transfer?

So I will then only have these between PC and PIC

GND (5) --------------------VSS

DTR (4) -------[4.7k]------DATA
- |
CTS (8) -----------------

RTS (7) -------[4.7k]------CLK

If it can work, then surely it will solve the laptop and USB-232 adapter problems.
Ps. I know I can buy a programmer, but I want to build one. This is why I ask.

Will appreciate your help.