I have built a usbpicprog (on perfboard ;) and successfully used it to program PIC16F887, PIC16F690 and PIC12F508. Thank you very much for making usbpicprog open source!
For a new project I need 3 standalone PWM outputs and 6 A/D inputs. I have selected PIC16F1503, because it fits exactly. But the most recent version of usbpicprog does not yet support it. Can someone help me?
By the way, I plan to use a 1 kOhm resistor and an 8.2 volt zener diode to reduce the programming voltage to the right level. The Data Sheet says: Vpp is between 8 and 9 volt and the max current drawn is 1 mA. I expect the charge pump of the usbpicprog will be able to supply the current through the zener?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Geert,
Thank you for your compliments! This is what I am making the code for!
I will soon take a look at the PIC16F1503, it is probably not such a big deal to implement it, as long as you are willing to test the new code and report back any issues with programming.
The zener solution is indeed recommended (in some circuits you will also find the zener). The 1kOhm resistor is already in the circuit, before the switching transistor so an additional 1k resistor is not needed.
Frans
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When do you expect that the implementation is ready, so I can start testing? I have received the microprocessor and other necessary components for testing.
Geert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for the effort! I have built a programming circuit on breadboard with an 8.2 volt zener and tested it with the PIC16F1503.
Autodetecting the PIC16F1503 works perfectly.
Programming the PIC does not really work. I wrote a LED blinker program in MPLABX. Then I tried to program it into the PIC. When I read the PIC after programming, the configuration word (0B 28) shows up as the first program memory word (not the right place, of course). The rest of the program memory is filled with "FF 3F" until the last word. The configuration memory seems to remain untouched.
When I try to run the program, it does not work, that is, the LED does not turn on.
Erasing the PIC seems to work as well. When I erase the PIC and read back, the program memory is filled with "FF 3F". But the configuration word is not erased (I do not know whether it should be).
I hope this information is useful. But it is very likely that there are tests that I could perform to collect more information that I do not know of. If so, I would be glad to hear them.
Kind regards,
Geert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Today I have updated both the firmware and the PC application (140330) to the git version. Then I tested programming the 16F1503 again. Double checked all electrical connections. Then I used the IO test function and my voltmeter to check that the signal reaches the PIC leads.
Results:
- Auto detection still works seamlessly.
- My previous observation about programming is not confirmed. Programming still fails, however. When I program my LED blinker program (or any other program, as a matter of fact) and verify it, only the first 4 program words are correct. Verification fails at 0x8, because from that point on the memory is filled with 3F FF.
- The configuration bits are not programmed at all. They read back as 3F FF.
EDIT: I tried to program the same program of about 20 words many times and the result is consistently the same.
I do not (yet) thoroughly understand the programming algorithm, but I guess that the command 'Increment address' or 'Enter programming mode' is not executed or received properly or with a too small delay.
Kind regards,
Geert
Last edit: Geert 2014-05-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I used the USBPICPROG now for quite some time, and it worked without any problems on a PIC18F4520. It's a fantastic tool!
I tried to program a 16F1503 too. I experience similar problems as Geert. I updated the firmware and PC software to version 0.9.9 and 1.0.0 beta. This is what I did:
I put a 9.1V zener to reduce Vpp, and tried to program the PIC.
-Autodetect works
-IO test: VPP pin put to 12 V gives 8.34 V as readback value
-Configuration flags: LVP disabled in HEX file gives LVP enabled in status info tab
-Programming fails (with LVP disabled),reading back programmemory gives:
Address 00 - 07 : 00
Address 08 09: A4 01, this repeats with an interval of 48 bytes
Rest of memory filled with FF 3F
This was of course not the programdata I put in.
I see the last reaction on this topic is quite some time ago. I wonder if there are some new developments on this subject?
Kind regards,
Patrick
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have built a usbpicprog (on perfboard ;) and successfully used it to program PIC16F887, PIC16F690 and PIC12F508. Thank you very much for making usbpicprog open source!
For a new project I need 3 standalone PWM outputs and 6 A/D inputs. I have selected PIC16F1503, because it fits exactly. But the most recent version of usbpicprog does not yet support it. Can someone help me?
By the way, I plan to use a 1 kOhm resistor and an 8.2 volt zener diode to reduce the programming voltage to the right level. The Data Sheet says: Vpp is between 8 and 9 volt and the max current drawn is 1 mA. I expect the charge pump of the usbpicprog will be able to supply the current through the zener?
Dear Geert,
Thank you for your compliments! This is what I am making the code for!
I will soon take a look at the PIC16F1503, it is probably not such a big deal to implement it, as long as you are willing to test the new code and report back any issues with programming.
The zener solution is indeed recommended (in some circuits you will also find the zener). The 1kOhm resistor is already in the circuit, before the switching transistor so an additional 1k resistor is not needed.
Frans
Dear Frans,
Of course I will test the new code as soon as the processor is delivered or as soon as the code is ready (whichever will be latest).
Thanks for the suggestion. I overlooked that the programmer has this resistor.
Geert
Dear Frans,
When do you expect that the implementation is ready, so I can start testing? I have received the microprocessor and other necessary components for testing.
Geert
Dear Geert,
I have just implemented the 12F1501 and 16F150X family.
I am now compiling binaries, but the changes are already in git.
I am awaiting your test results
Regards,
Frans
Keep in mind that VPP should not exceed 9V, you should use a 9V zener from VPP to GND
Thanks for the effort! I have built a programming circuit on breadboard with an 8.2 volt zener and tested it with the PIC16F1503.
I hope this information is useful. But it is very likely that there are tests that I could perform to collect more information that I do not know of. If so, I would be glad to hear them.
Kind regards,
Geert
Today I have updated both the firmware and the PC application (140330) to the git version. Then I tested programming the 16F1503 again. Double checked all electrical connections. Then I used the IO test function and my voltmeter to check that the signal reaches the PIC leads.
Results:
- Auto detection still works seamlessly.
- My previous observation about programming is not confirmed. Programming still fails, however. When I program my LED blinker program (or any other program, as a matter of fact) and verify it, only the first 4 program words are correct. Verification fails at 0x8, because from that point on the memory is filled with 3F FF.
- The configuration bits are not programmed at all. They read back as 3F FF.
EDIT: I tried to program the same program of about 20 words many times and the result is consistently the same.
I do not (yet) thoroughly understand the programming algorithm, but I guess that the command 'Increment address' or 'Enter programming mode' is not executed or received properly or with a too small delay.
Kind regards,
Geert
Last edit: Geert 2014-05-24
I used the USBPICPROG now for quite some time, and it worked without any problems on a PIC18F4520. It's a fantastic tool!
I tried to program a 16F1503 too. I experience similar problems as Geert. I updated the firmware and PC software to version 0.9.9 and 1.0.0 beta. This is what I did:
I put a 9.1V zener to reduce Vpp, and tried to program the PIC.
-Autodetect works
-IO test: VPP pin put to 12 V gives 8.34 V as readback value
-Configuration flags: LVP disabled in HEX file gives LVP enabled in status info tab
-Programming fails (with LVP disabled),reading back programmemory gives:
Address 00 - 07 : 00
Address 08 09: A4 01, this repeats with an interval of 48 bytes
Rest of memory filled with FF 3F
This was of course not the programdata I put in.
I see the last reaction on this topic is quite some time ago. I wonder if there are some new developments on this subject?
Kind regards,
Patrick