How to build a USB PIC Programmer

Status
Not open for further replies.
I dont have access to another programmer and I also dont know anyone that stocks the Junebug in the UK ? even all the programmers on eBay are from China ?
You can program the 18F2550 using LVP (Low Voltage Programming). It only requires a breadboard and a few passive parts.

But as Nigel pointed out the official PICKit2 for £10 is a whopper of a buy. The Junebug is a great tool for learning because of it tutor but at £10 I would buy a PICKit2 even though I already have a Junebug.

3v0
 

How can I make this and would it work with a 12F683 ?
 
Once we program the chip with LVP, I fear, there might be a problem in future for loading updates
 
Would this program a 12F683 ?

**broken link removed**

It is nothing more than an extension board for ICSP wires and NOT a programmer by itself.
Once you have a programmer, you can extend 5 wires to the relevant pins of PIC12F683 using a bread board if you have , or by wiring a 8 pin base and plugging the IC in it.
Basically, you should have a programmer.
 
Would this program a 12F683 ?

The seller suggests but does not guarantee that they are Tait style programmers. Looking at the photo it is entirely possible. There appear to be two voltage regulators, two switching transistors and an ic that could be an oc buffer. There is also a socket for plugging in a wall wart power supply.

If this is a Tait style programmer then with the proper software it can program a 12F683. The programmer requires a parallel port.

edit: I don't see any thing resembling a bridge circuit, so the programmer apparently requires a dc wall wart.
 
Last edited:
Once we program the chip with LVP, I fear, there might be a problem in future for loading updates
I was suggesting that one could use LVP to program a 18F2550 for use in building a Junebug. You only need to program it once.

I have never used LVP but I think that LVP chips are configured to use it from the factory. As long you do not configure the chip for HVP LVP will work.
 
Last edited:

I believe that the pin used for low voltage programming is the pin that PICkit 2 uses for the switch. I have wondered whether this will interfere with the functioning of the software. If there is no interference then one could bootstrap oneself to a fully functional programmer by using the programmer with the 18F2550 programmed using LVP to program an 18F2550 using HVP.

I was hoping that Theo would report back on his efforts making a clone using LVP.
 
The function of pins during programing seems to be independant of their use while code is executing. For example PGD and PGC are not dedicated to programing. They can be used as IO.

 
The function of pins during programing seems to be independant of their use while code is executing. For example PGD and PGC are not dedicated to programing. They can be used as IO.

But not so with the PGM pin, see

https://www.electro-tech-online.com/custompdfs/2008/09/39632c.pdf

page 115

Single-Supply Programming mode entry (ICSP™). Enabled by LVP
Configuration bit; all other pin functions disabled.

If a chip is programmed with LVP enabled, then PGM must be pulled low in order for the chip to run.
 
Really doubt Sir. We may have to delve deeper into the matter.
 
Maybe this would work.

I stand corrected. But there still may be a way to make this work. I suggest you try programming the 18F2550 with LVP. Modify your home brew junebug/PICkit2 to pull the PGM pin to GND instead of using it as a bootloader button.(to cause it to run)
That should result in a working junebug (hi voltage programer) but without the bootloader switch on RB5.
You could then use the working programmer to program a 2nd 18F2550 using HVP and then swap it into the junebug and put the boot switch back.

I am not saying it will work for sure, I have been wrong once or twice

There are some notes in the datasheet that should be looked at. Somthing about the portb pullups, it may or may not apply.
3v0

But not so with the PGM pin, see

https://www.electro-tech-online.com/custompdfs/2008/09/39632c-1.pdf

page 115



If a chip is programmed with LVP enabled, then PGM must be pulled low in order for the chip to run.
 
Last edited:
Sounds very logical Sir.It should work.
 
I stand corrected. But there still may be a way to make this work. I suggest you try programming the 18F2550 with LVP. Modify your home brew junebug/PICkit2 to pull the PGM pin to GND instead of using it as a bootloader button.(to cause it to run)

If I understand the 18F2550 documentation correctly, with LVP enabled the processor sees the PGM pin as an input regardless of the value of TRIS. When the firmware tests RB5 it will interpret the grounded PGM pin as zero the same as a buttom push when LVP is disabled, so I'm not sure the firmware will go into the programming mode. It may be necessary to modify the source and recompile in order to get a hex file that will work with LVP enabled.
 
I agree with skyhawk, since RB5 will appear low it'll never make it out of the bootloader stage.
Nah I still think I it will work. Let me try this again.
It has been one of those days..
 
I don't have a LVP to try it, I'm curious to know.
Me too. But not curious enough to install programming software and breadboard it, cable ? etc.

It is odd that Microchip put LVP into the hardware but offers no software to program it. I suppose different teams, different management.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…