Reusing PGC & PGD pins


+ Reply to Thread
Results 1 to 21 of 21
  1. #1
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819

    Question Reusing PGC & PGD pins

    Do I have special considerations to take when I reuse ICSP pins?

    Do I need a jumper during programming if I have a device connected, like a resistor/LED?

    (I couldn't find any REUSE PGC/PGD/ICSP posts)


    EDIT: I have found this post elsewhere that says we can do it (I'm using it as a heartbeat LED to diagnose any timing issues).

    https://forum.microchip.com/s/topic/...NnAEAW/t321516
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  2. #2
    Join Date
    Aug 2011
    Posts
    431


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Yes you can reuse them but you need to be careful as to what circuitry you hang off the pins.

    Most ICSP programmers have 4.7K pull-down resistors on the PGC/PGD pins and assume the pins will idle low.
    You shouldn't put too much additional load on the pins, add pullups or capacitors, or use the pins as inputs if they'll be actively driven high/low by the connected circuitry.

  3. #3
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    953


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    I connect the ICSP port on the PCB to the ICSP pins of the controller directly. The Pins in turn go to the rest of your circuitry via resistors so that you do not need programming jumpers to perform ICSP. The resistors help resolving contention. Hope this helps.

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    2,451


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    i like to connect some critical or dangerous hardware to one of those pins, like the enable pin for the high power laser or the step input for the Z axis.
    that way you really know when reprograming is happening
    Warning I'm not a teacher

  5. #5
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    To be clear, I will NOT have the circuit powered when I'm programming. The PCB must be removed from the main board in order to be programmed (I use the same connector for operation and for programming).

    Specifically, now I'd like to connect the output of a 74HC14 on PGC or PGD (running out of pins).
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  6. #6
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Quote Originally Posted by richard View Post
    i like to connect some critical or dangerous hardware to one of those pins, like the enable pin for the high power laser or the step input for the Z axis.
    that way you really know when reprograming is happening
    Pics or it didn't happen.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  7. #7
    Join Date
    May 2013
    Location
    australia
    Posts
    2,451


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    its very easy to do.
    on a pic curiosity board the pins are just there begging you to use them. you can kinda forget the programmer is on board
    when there is no need to plug and unplug it at all.
    Name:  hpc.jpg
Views: 482
Size:  55.0 KB
    Warning I'm not a teacher

  8. #8
    Join Date
    Aug 2011
    Posts
    431


    1 out of 1 members found this post helpful. Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    To be clear, I will NOT have the circuit powered when I'm programming. The PCB must be removed from the main board in order to be programmed (I use the same connector for operation and for programming).

    Specifically, now I'd like to connect the output of a 74HC14 on PGC or PGD
    I wouldn't do that. Your safest bet would be to have a jumper you can remove to isolate the output of the HC14 from the PGC/PGD pin while you're programming.

  9. #9
    Join Date
    Sep 2009
    Posts
    745


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    I conect ICSP directly to pins. And from konektor, other part of circuit connect via 2K resistor. If you use pin as inputs, then other hardver driving state of pin. So not to have colision with programmer, put some resistors.
    For MCLR use 10K resistor. As it can reach 13V. I generaly avoid using MCLR.
    But this makes it hard to use debuger....

  10. #10
    Join Date
    Aug 2011
    Posts
    431


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    And from konektor, other part of circuit connect via 2K resistor.
    You have to be careful when using the pin as an input.

    While a series R can help isolate the pin from the ICSP programmer, if the external circuit is driving the pin high then this can change the idle state of the pin that the PIC sees during programming from low to high depending on the R value. The ICSP typically has 4.7K pulldowns on the PGC/PGD pins, so the series R creates a voltage divider which you may need to take into account too.

  11. #11
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Does this look "safe" to use an opto-coupler to be able to reuse ICSP Clock & Data pins?

    Name:  Reusing ICSP pins.png
Views: 42
Size:  47.5 KB


    I'm using my old MeLabs USB programmer with stock header; circuit is powered by wall adapter/7805.


    EDIT:

    1. Should I be better to use an opto with a CurrentTranferRatio of 0%?

    2. Is anything stopping me from doing the same thing to MCLR with quad opto?
    Last edited by Demon; - 27th August 2024 at 07:25.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  12. #12
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,931


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    If you think that through the opto you can transfer the High and also the Low state of the 74HC14 then be sure it won't happen. When opto is ON, it will transfer the High state only. The Low state of the HC14 output cannot pass because collector of opto is reverse biased. You need then a pull down on the emmitter of the opto, which will have loading effect on the ICSP programmer.

    Best and simpler is to use a simple and cheap resistor to isolate the 74HC14.

    Ioannis
    Last edited by Ioannis; - 27th August 2024 at 09:41.

  13. #13
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    What would you recommend?

    (it's a MeLabs USB programmer)

    Name:  ICSP isolation resistors.jpg
Views: 29
Size:  55.2 KB


    EDIT: 10K seems to work, but I don't want to shoot myself in the foot down the line. I'd hate to invest a lot of time using pins B6 and B7 as input, only to find out I can't do this later on (I'll be using this exact switch configuration - 10K pulled low followed by 10K/0.01uF).
    Last edited by Demon; - 31st August 2024 at 04:26.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  14. #14
    Join Date
    May 2013
    Location
    australia
    Posts
    2,451


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    are those switches meant to be active high ?

    if so then applying somewhat less than vcc to the pic input pins and all those extra components seems a recipe for non success.
    for my money i would use the weak pu and have switches active low [don't press buttons when programming is not to much of a constraint]
    Last edited by richard; - 31st August 2024 at 08:42.
    Warning I'm not a teacher

  15. #15
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,931


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    My practice is what Richard noted. Always have either external pull ups or use the port b with the internal pu enabled and active low switch. No other circuit needed and have the Icsp programmer there just fine.

    Ioannis

  16. #16
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Quote Originally Posted by richard View Post
    are those switches meant to be active high ?...
    They can be whatever they have to be so that it works perfectly. It's my circuit, and I answer to nobody (except those here that know more than me ).


    Quote Originally Posted by richard View Post
    ...applying somewhat less than vcc to the pic input pins and all those extra components seems a recipe for non success....
    Oddly, it's working as-is.


    Quote Originally Posted by richard View Post
    ...i would use the weak pu and have switches active low....
    I just checked, 16F18877 has WPUx register for all ports except pins E0, E1 and E2, so that's a plus.

    I'm still doing research on all the processes I need, so the switches can easily become active low.


    Quote Originally Posted by richard View Post
    ...don't press buttons when programming is not to much of a constraint...
    Definitely agree, I never touch the circuit while it's being programmed.

    That being said, is 10K a reasonable isolation resistor in this case?
    Last edited by Demon; - 31st August 2024 at 19:06.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  17. #17
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,931


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Do not risk reliability and toss the resistor.
    Use the internal pull-up with low going switch and you will be just fine.

    Ioannis

  18. #18
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Quote Originally Posted by Ioannis View Post
    Do not risk reliability and toss the resistor.
    Use the internal pull-up with low going switch and you will be just fine.

    Ioannis
    I'm using the internal pull-ups.

    The signal from the encoders reaches the PIC pins with the 10K series and 0.01uF to ground (as per Bourns design), but not if I add that 2nd 10K isolation resistor towards pins B6 and B7.

    The original Bourns design has the pull-up/down resistors BEFORE the 10K/0.01uF combo.

    (gonna do some experiments)
    Last edited by Demon; - 31st August 2024 at 22:34.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  19. #19
    Join Date
    May 2013
    Location
    australia
    Posts
    2,451


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    if your re has the possibility that it can be stationary with either A B contact closed [ground] then it will always be possible to stuff up programming and no isolation other than disconnection will work

    the isolation objective is
    1 don't impose a logic level on the pgm pins that will damage the programmer
    2 don't impose a load on the pgm pins that will corrupt the programming signals
    3 allow your signal to reach the pins without signal corruption
    Last edited by richard; - 31st August 2024 at 23:08.
    Warning I'm not a teacher

  20. #20
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,819


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Quote Originally Posted by richard View Post
    if your re has the possibility that it can be stationary with either A B contact closed [ground] then it will always be possible to stuff up programming and no isolation other than disconnection will work...
    Yup. I've reached the same conclusion.

    I have to use a jumper.

    It would have been nice to figure out a "built-in" solution, but that's not happening.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  21. #21
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,931


    Did you find this post helpful? Yes | No

    Default Re: Reusing PGC & PGD pins

    Most encoders of good quality should have the contacts open. At least I have not encountered any that was not.

    But in case a contact on RB7,RB6 is closed I would definitely use a jumper. Not resistors.

    Ioannis

Similar Threads

  1. MCU with ICSP instead of PGD/PGC
    By Sabahan in forum PBP3
    Replies: 1
    Last Post: - 15th June 2020, 16:58
  2. 16F690 VREF PGC question
    By dsicon in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 2nd February 2014, 16:14
  3. PGC (ICSPCLK) Conflicts with Vref ?
    By dsicon in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 6th August 2012, 04:57
  4. number of PIC pins & 7-seg display
    By archendekta in forum mel PIC BASIC Pro
    Replies: 8
    Last Post: - 2nd April 2009, 09:00
  5. PIC - 8 Pins - 6 Output Pins ?
    By DanPBP in forum Off Topic
    Replies: 0
    Last Post: - 22nd October 2007, 00:23

Members who have read this thread : 13

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