Very Simple ICSP Programmer


Closed Thread
Page 1 of 4 1234 LastLast
Results 1 to 40 of 130
  1. #1
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257

    Talking Very Simple ICSP Programmer

    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.

  2. #2
    Join Date
    Jul 2003
    Location
    Sweden
    Posts
    237


    Did you find this post helpful? Yes | No

    Question

    Looks neat.

    What software are you using on the PC?

  3. #3
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257


    Did you find this post helpful? Yes | No

  4. #4
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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

  5. #5
    Join Date
    Dec 2003
    Location
    Wichita KS
    Posts
    511


    Did you find this post helpful? Yes | No

    Default

    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
    Ability to Fly:
    Hurling yourself towards the ground, and missing.

    Engineers that Contribute to flying:
    Both optimists and pessimists contribute to the society. The optimist invents the aeroplane, the pessimist the parachute

    Pilots that are Flying:
    Those who know their limitations, and respect the green side of the grass...

  6. #6
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257


    Did you find this post helpful? Yes | No

    Default

    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

  7. #7
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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

  8. #8


    Did you find this post helpful? Yes | No

    Default

    Which programmer do u choose in the ic-prog??

  9. #9
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    JDM-Programmer
    Direct I/O
    I/O Delay 20

    regards:

    Ralph

  10. #10


    Did you find this post helpful? Yes | No

    Default

    Thanks.

  11. #11
    Join Date
    Jul 2003
    Location
    USA - Arizona
    Posts
    156


    Did you find this post helpful? Yes | No

    Smile

    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.

  12. #12
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    As the programmer is powered by the serial port I doubt it works with a USB-Serial adapter.

    regards

    Ralph

  13. #13
    toreto's Avatar
    toreto Guest


    Did you find this post helpful? Yes | No

    Question

    does this work for 12c508a chip?

  14. #14
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257


    Did you find this post helpful? Yes | No

    Default

    I don't know.. I have only ever used the 16F**** type chips.

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

  15. #15
    toreto's Avatar
    toreto Guest


    Did you find this post helpful? Yes | No

    Thumbs up

    ok thanks Squibcakes

  16. #16
    toreto's Avatar
    toreto Guest


    Did you find this post helpful? Yes | No

    Question

    can you tell me which pins of 12c508 are VPP,VSS,DATA,DATA,CLK.
    thanks.

  17. #17
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    >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
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  18. #18
    toreto's Avatar
    toreto Guest


    Did you find this post helpful? Yes | No

    Question

    which of this two is conected to the resitor?
    PGD = 7
    PGC = 6
    thanks for your answer

  19. #19
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    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
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  20. #20
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257


    Did you find this post helpful? Yes | No

    Default

    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

  21. #21
    toreto's Avatar
    toreto Guest


    Did you find this post helpful? Yes | No

    Post thanks

    i am goin to test it and i will post the results.thanks

  22. #22


    Did you find this post helpful? Yes | No

    Default pic-pg2 programmer cable

    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.

  23. #23
    mslaney's Avatar
    mslaney Guest


    Did you find this post helpful? Yes | No

    Default

    microcozmoz,
    did you ever figure out how to connect your cable? What chip are you using?

  24. #24
    mslaney's Avatar
    mslaney Guest


    Did you find this post helpful? Yes | No

    Default

    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.

  25. #25
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    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.
    Attached Images Attached Images  
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  26. #26


    Did you find this post helpful? Yes | No

    Default ICSP

    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.

  27. #27
    TONIGALEA's Avatar
    TONIGALEA Guest


    Did you find this post helpful? Yes | No

    Default

    hi Squibcakes

    Does this support 16f627A?


    Toni

  28. #28
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257


    Did you find this post helpful? Yes | No

    Default

    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

  29. #29
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Default Can't write to PIC

    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!

  30. #30
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    Joe,

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

    See THIS
    and
    16F628 DataSheet
    Programming Specs
    ICSP-Guide
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  31. #31
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Default connections with 16F628 and serial port

    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?

  32. #32
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  33. #33
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Smile

    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?

  34. #34
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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.
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  35. #35
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Default

    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.

  36. #36
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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?
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  37. #37
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Default

    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.

  38. #38
    Join Date
    Feb 2004
    Location
    Germany
    Posts
    762


    Did you find this post helpful? Yes | No

    Default

    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.
    Last edited by NavMicroSystems; - 4th April 2005 at 20:48.
    regards

    Ralph

    _______________________________________________
    There are only 10 types of people:
    Those who understand binary, and those who don't ...
    _______________________________________________



  39. #39
    JoeCJK's Avatar
    JoeCJK Guest


    Did you find this post helpful? Yes | No

    Thumbs up Works now (Desktop Comp).

    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.

  40. #40
    Join Date
    Oct 2004
    Location
    Italy
    Posts
    695


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by NavMicroSystems
    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
    Attached Images Attached Images  

Similar Threads

  1. Melabs U2 Programmer Command Line Options
    By Robert Wells in forum General
    Replies: 5
    Last Post: - 3rd July 2009, 03:11
  2. Soic Icsp
    By earltyso in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 13th September 2008, 20:51
  3. Replies: 1
    Last Post: - 11th December 2007, 00:57
  4. problems with USB programmer
    By malc-c in forum General
    Replies: 7
    Last Post: - 10th May 2007, 21:14
  5. USB programmer problems
    By uiucee2003 in forum USB
    Replies: 2
    Last Post: - 16th August 2006, 00:47

Members who have read this thread : 2

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts