Menu

Help to build Open Programmer please

2011-02-17
2015-04-22
  • Common Question

    Common Question - 2011-02-17

    Hello,
    First of all thanks a lot for sharing an open source programmer. I am very
    much interested to build one of this. I think this is the only DIY USB
    programmer which supports both PIC and Atmel chips plus I2C chips.

    Unfortunately I could not understand the connector/expansion side properly.
    Also I don't have any idea about the internals of microcontroller programming.
    So, the details on the main page is not suitable for me. I understand that
    this is a great resource for experts. Can I make it with ICSP header only to
    program chips placed on the breadboard? I do not want to have zif socket or
    any IC socket on the base programmer. For now I want to be able to program
    only the common 5 volt PIC and atmega chips. Later, I wish to build all the
    expansion cards on strip board to program 3.3 volts and others.

    I have attached an image. There is an ICSP programming header. Can you please
    tell me the connection to the ICSP header to program 5 volts PIC? Like, where
    should the connection goes for MCLR (pin 1), VDD, VSS, DAT and CLK?

    If I am successful to program this I would want another header for Atmega.

    Thanks again and best wishes....
    Image link:
    http://www.flickr.com/photos/59607192@N03/5454046448/sizes/l/

     
  • Alberto Maccioni

    Hello, what is about the connectors that you don't understand?
    You simply plug the left and right connectors from any expansion board to the
    ones on the base module; look at the board pictures/layout and note that the
    two 10 pin connectors are spaced equally on all boards.
    Of course you should put female connectors on the base module and male
    connectors (facing down) on expansions.
    The location of ICSP signals is listed on the resource map table on the
    website (or just examine the 18 pin programming socket); there you see that
    clock is RB6, data RB5, both on CONN2; MCLR (called VPPU), VDDU, GND on CONN3.
    Work back to the source of those signals if you don't want to place expansion
    connectors on your programmer, although in that case I don't see how you can
    later expand to 3V or other devices.
    Regarding ATMega look at the expansion board schematics and trace back X1,
    SCK, MISO, MOSI, RESET.

    BR, Alberto

     
  • Common Question

    Common Question - 2011-02-18

    Thanks a lot Alberto. Your reply helped me to understand more about the
    circuit. Although I have not understood all of it. Anyway, I think I should
    start building this.

    The reason I am not just copying your PCB design is, I do not have any
    experience in PCB making or drilling. If any mistake occurs during drilling
    like breaking track or other, then the board can not be used and I have to
    make PCB again (considering that even I don't have any expertise is PCB
    making). I have built 'Usbasp' on stripboard & can program atmega with it. I
    want to make 'Open Programmer' on stripboard too for now.

    I am attaching an image according to your reply, and going to make like this.
    There are 2 ICSP programming headers, one for PIC and the other for Atmel. The
    ICSP connections will go to the breadboard with ribbon cable, where the target
    chip is. The connection wire for Atmel is not drawn, as it will make it
    difficult to trace. Only indicated by text.

    I want to keep 2 connectors - CONN2 and CONN3 for future possible use. Can you
    please tell me if there is any error on the image. Thank you in advance.

    Best regards.

    Image link: http://www.flickr.com/photos/59607192@N03/5456797358/sizes/l/

     
  • Alberto Maccioni

    The circuit looks fine to me.

    Best regards

     
  • Common Question

    Common Question - 2011-02-23

    Hello Alberto,
    I built this programmer on stripboard. I can read without any problem. But got
    error while writing as:

    Can't find EEPROM data
    DevID: 0x0000
    Unknown device
    Configuration word: 0x000
    Erasing ... Device protected, overriding protection.
    completed
    Writing code ...
    Error writing address 0: written 2826, read 0000

    Error writing address 4: written 008D, read 0000

    Error writing address 5: written 0803, read 0000

    ...... More lines like above.

    The inductor used has no label on it. So I could not determine it's value. Do
    you think there could be the problem? I used 220nF capacitor for vusb and got
    warning - VUSB<4.5.

    The hardware test showed 13v for VPPU. But at the 2nd step when the VPPU
    should be 0, it was lile 3v. Can you guess anything about the problem?

    Best regards.

     
  • Common Question

    Common Question - 2011-02-23

    Good news. The programmer worked :) Thanks a lot Alberto!!!!!

    I erased the chip with another programmer. Then attached with open programmer.
    Imported the hex file and this time it programmed the chip 16F84A 100% ok. I
    could not understand why the error occurs and open programmer says that
    "Device protected". Code protection turned off for the hex file. If you want
    to see, the file both asm and hex can be downloaded from bellow (A stepper
    motor driver, downloaded from cnczone):

    http://www.4shared.com/file/C8sFVfhu/STEPIT_3.html

    Anyway, later I compiled another small program for testing with Proton Basic.
    Open programmer programmed this hex file without any problem.

    Can you please tell me any command with parameter or the GUI procedure to
    erase a chip completely. All data, fuse settings, config etc will be erased
    and the chip will go to the factory setting. I tried making a hex file with
    bellow content and program it on 16F84A, it programmed but the chip was not
    erased:

    Blank_16.hex ########

    :020000040000FA
    :0144010000BA
    :00000001FF

    ###################

    However, I think these are not big problem and all I need is to find the right
    command or understand the GUI properly. I am very happy that the programmer
    worked. And I am grateful to you for making your design and code available for
    others to make their own. Lots of hard work!

    I haven't connected the two 10 pins connector, as it will make plenty of
    jumper cables on the stripboard. Now only 2 connectors on the right side - one
    is to program PIC 5v and the other is for Atmel. Atmel will be tested soon.
    With this Atmel connector I think I will also be able to write I2C chips.

    That's all for now. Will let you know further experiments. May God bless you.

     
  • Alberto Maccioni

    Hello,
    a problem in the hardware test is usually going to hurt sooner or later; check
    carefully the high voltage section: the polarity of capacitors, transistors,
    unseen ohmic paths between traces, the value of components; L1 can be of
    different value, but in the order of 100uH.
    A devID 0x0000 usually means that the device didn't enter program mode.
    Erasing a chip is not needed because it is done automatically every time you
    write a new file; if you wish to do it anyways it will only waste one erase
    cycle.
    How can you say that your device was not erased?

    BR
    Alberto

     
  • Common Question

    Common Question - 2011-02-25

    Hello,
    Yes there is possibility of malfunctioning of the device in future. But I
    could not find any physical error on the hardware. May be I should check
    again.

    I erased the chip by programming the above mentioned 'Blank_16.hex' file. It
    programmed ok. Then I read the chip again which showed data as before.

    You can reproduce the error if you want. The chip is 16F84A, download the
    above file from 4shared.com. Open the hex file with OpenProg v0.7.7. Click on
    write button. After it writes successfully, open the hex file again and click
    on write (for test). Here I got the error like:

    Can't find EEPROM data
    DevID: 0x0000
    Unknown device
    Configuration word: 0x000
    Erasing ... Device protected, overriding protection.
    completed
    Writing code ...
    Error writing address 0: written 2826, read 0000
    <

    But you will not get the error if you program this on a blank/erased chip.
    That is, you will get the error when you try to program it for the second time
    or more.

    After this open the 'Blank_16.hex' file and program. Read the chip and it
    shows that it was not erased.

    Have I skipped any necessary step?

    Best regards.

     
  • Common Question

    Common Question - 2011-02-28

    It is solved!

    I replaced D3 with 1N-5817 schottky diode. Earlier it was 1N-4148. Now there
    is no problem. I imported the hex file several times and programmed
    repeatedly. It worked without any error. Hardware test is also ok and no
    'warning - VUSB<4.5'. I erased the chip with blank-16.hex, and erased ok.

    So, the trouble was with the diode.

     
  • William

    William - 2011-07-27

    could you post both sides of your stripboard please. I would like to build one
    of these using a perfboard.

    Thanks.

     
  • Anonymous

    Anonymous - 2015-04-18

    Buonasera.Sono un nuovo utente.Volevo un consiglio su come riuscire a fare un programmatore per riprogrammare le memorie flash tv e le memorie delle schede elettrodomestici.Grazie,saluti

     
  • Alberto Maccioni

    Dipende da quali memorie devi scrivere.
    Su http://openprog.altervista.org/OP_ita.html trovi la lista dei dispositivi supportati.

     
  • Anonymous

    Anonymous - 2015-04-22

    Alberto spero che un giorno riuscirai anche ad implementare il supporto per le memorie eeprom parallele. Sarebbe fanntastico!

     

Anonymous
Anonymous

Add attachments
Cancel