Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

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
 
That message was aimed at wonderboy. he might have problems in ordering pickit2 or purchase junebug.

If you are interested in making a programmer part of junebug, perhaps assembly instructions manual could come in handy for you
and you can assemble one on a general purpose board, a jpg is attached below thanks to Bill of Blueroom and EDAboard

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

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.

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.

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.
 
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.
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:
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
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.
I suggest you try programming the 18F2550 with LVP. Modify your home brew junebug/PICkit2 to pull the PGM pin to +5 instead of using it as a bootloader button.(to cause it to run)
That should result in a working junebug (hi voltage programmer) 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.
It has been one of those days..:D
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top