Announcement

Collapse
No announcement yet.

ICDUINO

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ICDUINO

    Arduino development boards are just splendid tool for learning programming Avr microcontrollers in C language, flashing, burning bootloaders etc.
    Arduino IDE is also just splendid piece of software, improving and expanding with each new versions; new options and new abilities.
    Almost all jobs can be done with Arduino dev. board and IDE.
    But sometimes you'll just want to do things fast, simple and direct. Sometimes you'll want to skip some options.
    Sometimes you'll wish to do things on lower level with more direct control over processes.
    Usual question asked by novices is how to burn raw HEX file into Atmega, simple as that and directly.
    Although it can be done with Arduino&IDE; usual answer yet would be: use USBasp (or similar) programmer.
    There are plenty USBasp programmer versions on market, cheap and easy to obtain.
    And usually when you buy it; it come as it is with ICSP socket and appropriate 10pin or 6 pin cable.
    To burn raw HEX into your Atmega, additionally you'll have to properly connect it to USBasp.
    Either you'll have to diy proper board for that, either you'll connect it directly with wires, which is not comfortable for repeatable attempts and may present certain risk.
    Recently i came across pretty cheap, made in China, "Baite" USBasp, "dongle" look-a-like programmer.
    At first several attempts to flash Atmega i faced random time out errors, reported by AVRDUDESS (GUI for Avrdude).
    Randomly i succeed and randomly i got time out?
    So i searched informations on Internet and founded out several similar reports by others.
    Also i founded out a solution. "Baite" USBasp is coming with old firmware, slow SCK line and is not fully compatible.
    I don't know why is that. But i realized that it has to be re-flashed with compatible firmware.
    So i searched around and founded out the right place where all the infos are available:
    http://www.fischl.de/usbasp/
    So i picked latest firmware from there.
    But! "Baite" USBasp must be put in "self-programming" mode to allow flashing new firmware.
    Some "Baite" models coming with easy visible jumpers on the board and some don't.
    I had bad luck, because my model came with no jumpers nor marked visible pins for that.
    So i had to perform small "investigation" and to find out how to put it in "self-programming" mode.
    Actually it turned much easier than i expected! They left place for jumpers on the board!
    Click image for larger version

Name:	BaiteUSBasp.jpg
Views:	1
Size:	51.6 KB
ID:	370095
    So i soldered there plain wire jumpers. SCK is not important, i only tested it in "slow" mode and than
    returned it in previous state (no jumper).
    Than i used Arduino UNO to flash new compatible firmware to "Baite" USBasp.
    Arduino boards do have own ICSP connector, so it is really easy thing to connect it with USBasp.
    Or any other USBasp may be also used to flash another USBasp, through the same ICSP connection.
    Flashing new compatible firmware was easy and fast, piece of cake.
    Than i removed "self-programming" jumper.
    And than i tried it again with AVRDUDESS. Works like a charm! Splendid!
    No more time outs!
    ...
    Further... i don't like to see bulky wires around USBasp and my laptop, it is too risky.
    So i realized; i will have to make my own board as addon to "Baite" USBasp.
    Because i will need this tool frequently.
    So i was thinking... since i am pushed to make a board; why not making it for more different tasks and not just for simple thing like plain connecting with USBasp?
    Why not making it as a debugging tool too?
    And i did it. I end up with very useful debugging tool&programmer for Atmega328p (though i plan to make more adapters for other Avr types too).
    Board is supplied with +5V from USB. No need for external power supply.
    But i also added external 9V input, to be able to run and test Atmega and code in it without USB.
    So; no need for external supply when flashing HEX into Atmega.
    Later when flashed; i disconnect it from USB and "Baite" USBasp dongle and i am supplying it from external 9V (battery or bench supply) in "running" & debugging mode.
    Sweet and easy!
    This board is made and tested, no errors and no problems.
    And actually (in conjunction with any USBasp) it presents sort of "Arduino" of it's kind... an "ICDUINO" !
    Enjoy!

    Click image for larger version

Name:	board.JPG
Views:	1
Size:	518.2 KB
ID:	370096

  • #2
    Setup explained above is also fully supported by Arduino IDE.
    For example; how to burn bootloader into empty Atmega328p ?
    Simple; connect the setup to your pc and run Arduino IDE , i am using version 1.6.8.
    Pick the option as on sceenshot and that's all!

    Click image for larger version

Name:	bootloader.jpg
Views:	1
Size:	38.0 KB
ID:	345755

    Comment


    • #3
      How to avoid (delete) existing bootloader in your Atmega?
      Just use setup from above, run AVRDUDESS and flash any raw HEX.
      It will overwrite existing bootloader and you'll have additionally 2kb of memory space available.

      Click image for larger version

Name:	avrdudess.jpg
Views:	1
Size:	94.4 KB
ID:	345756

      Comment


      • #4
        Needless to mention, but presented setup fully supports:
        ATmega8,ATmega8(L) - PDIP,
        ATmega48A,ATmega48PA- PDIP,
        ATmega88A,ATmega88PA- PDIP,
        ATmega168A,ATmega168PA- PDIP,
        ATmega328P- PDIP.

        Comment


        • #5
          thanx ivconic for this secruit can i ask u if this secruit work with out arduino if yes how can i connect it with a pc and wich cable

          Comment


          • #6
            Originally posted by basellafe View Post
            thanx ivconic for this secruit can i ask u if this secruit work with out arduino if yes how can i connect it with a pc and wich cable
            A picture is worth a thousand words...

            Click image for larger version

Name:	snapsch01.jpg
Views:	1
Size:	101.3 KB
ID:	347185
            Click image for larger version

Name:	snapsch02.jpg
Views:	1
Size:	36.4 KB
ID:	347186
            Click image for larger version

Name:	IMG_0241.jpg
Views:	1
Size:	1.08 MB
ID:	347187
            Click image for larger version

Name:	IMG_0242.JPG
Views:	1
Size:	639.6 KB
ID:	347188
            Click image for larger version

Name:	IMG_0243.JPG
Views:	1
Size:	1,010.2 KB
ID:	347189
            Click image for larger version

Name:	IMG_0244.JPG
Views:	1
Size:	982.2 KB
ID:	347190

            Comment


            • #7
              How to Open Lay Files ?

              Comment


              • #8
                Originally posted by homefire View Post
                How to Open Lay Files ?
                https://www.google.bg/url?sa=t&sourc...0nfFSivbu5I6PQ

                Comment


                • #9
                  Thanks ivconic u anser my question very good with regards

                  Comment


                  • #10
                    Ivco sir, what this many header used for, i already make one to use with 328p
                    Click image for larger version

Name:	sketch-1481722969468.png
Views:	1
Size:	831.4 KB
ID:	347410

                    Comment


                    • #11
                      Originally posted by ripsdevala View Post
                      Ivco sir, what this many header used for, i already make one to use with 328p
                      [ATTACH]38202[/ATTACH]
                      Spare pins. In case you use "Icduino" as development platform.
                      It comes handy to have extra power pins available.

                      Comment


                      • #12
                        I just try to update usbasp firmware, now its dead without soul, no more red led and unknow device is apear , teach me how please...

                        Comment


                        • #13
                          Your board save my day... WORK OKAY!

                          Comment


                          • #14
                            Yes it became my main tool for manipulating with Atmegas
                            All the respect to original Arduinos, but in time those become kind a fragile after frequent manipulating with their pins.
                            I have dozen different Arduinos and few of those are broken after a while for no obvious reason.
                            All of the sudden they become dead!?
                            That's why i made the "Icduino", rigid and can survive many tortures in workshop.

                            Comment


                            • #15
                              Thx Ivica for this board. That's exactly what i needed.
                              For Atmega32, i use cheap minimum system board.
                              https://ae01.alicdn.com/kf/HTB1EAwoK...mum-System.jpg

                              Comment

                              Working...