Tuesday, November 23, 2010

Breadboard Sanguino

Today I finally got around to setting up the sample ATmega644(P)s I received from Atmel. Using the Sanguino schematics online I built this breadboard Sanguino.

Now unlike the Breadboard Sanguino on the Sanguino website this circuit i complete with decoupling capacitors, status LEDs, a power circuit, a 16 MHz clock, and a FTDI cable pinout so that I can program it via USB. Once I built the breadboard I had the crazy idea to burn a bootloader onto the ATmega644(P)s via my Arduino Uno... so I did just that.

Due to my stupidity I wasted 2 frustrating hours trying to figure out why I could not get the bootloader onto the chip. It turns out I had forgotten to actually connect the ATmega's Vcc and Ground to the breadboard power rails! *facepalm* Once I corrected that I went bootloader crazy and burned a total of 3 ATmegas ( one 644 and two 644P). I have already programmed the blink sketch from the Arduino Environment onto one of the boards and it worked without any problems. I now have three Sanguinos to use in my projects and a breadboard setup figured out for future microcontrollers. Now that i have a total of 5 functional microcontroller boards ( and one MSP430 that i have no programmer for =/ ) I guess it is time to begin creating cool projects with them... What shall I bring from my mind to reality? A demo robot for my robotics team? Or a Uzebox Open Source Video Game Console? Or possibly give my house intelligence? Read my future blogs and subscribe to me on youtube (mrmacthree) to find out!


  1. Hello MRMac3, I have followed your instructions and when I try to burn the bootloader on a 328P-PU I get the following error:

    Error while burning bootloader

    avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

    avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
    avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.

    avrdude: stk500_disable(): unknown response=0x12

    My setup is:
    - Arduino Uno
    - Atmega328P-PU on a breadboard (minimal config)
    - downloaded and appended the boards.txt file

    Can you figure what's wrong or what I'm doing wrong.

    Thanks Obbi13

    BTW: I got a post on the Arduino forum in case you want to stop by and post the possible fix. The url for the post is: http://arduino.cc/forum/index.php/topic,50410.msg360205.html#msg360205

    1. find the avrdude.cog file in hardware on your arduino ide.look up the ATmega328 on the file and change the
      signature = 0x1e 0x95 0x14;
      save the file....bootload the chip as usual...don't forget to change the signature back to its other setting