Go Down

Topic: sparkfun atmega168 w/ arduino bootloader (Read 6146 times) previous topic - next topic


I am having trouble getting the sparkfun atmega168 chips to work with my code. I have an Arduino Duemilanove, and a standalone breadboard setup (from here: http://www.arduino.cc/en/Main/Standalone) that I use in my actual project. I don't have an AVR programmer, so what I want to do is take the atmega168 from sparkfun (with the bootloader already on it) and put it in the Arduino, upload the code to it, and then put it in my standalone breadboard. When I do this with the atmega168 that came with my Arduino, there are no problems, but when I do the exact same thing with the sparkfun atmega168, it does not work at all. I get no display on my serial LCD, and no input is detected from any buttons. I did a quick test with the LED blink code from the playground, and that seemed to work fine.

Is there something else that I need to do? It shouldn't be a problem with my code, since it works with the original atmega, right?


Apr 01, 2010, 02:44 am Last Edit: Apr 01, 2010, 02:49 am by bill2009 Reason: 1
Do you know for sure that the sparkfun chip has the bootloader on it?

What messages do you get when you load it?


This is the one I got:

But I just noticed something, that page says "pre-loaded with the Arduino Diecimila (16MHz) Bootloader ." I wrote and compiled the code for the duemilanove, could that be the problem?

When powering it up, I get the PWR led and the L led (and the tx/rx leds flash really quickly).


What do you mean you wrote and compiled the code for duemilanove? In Arduino 0018 the hardware option for both diecimila and duemilanove are the same (under tools->board).


I thought I might have to change the hardware settings under the tools menu (since when I first wrote this and tested it, I was using the duemilanove), but if they both use the same setting then that can't be the problem.

Coding Badly

How does the SparkFun ATmega168 behave when it's loaded in the Arduino?


aye swap chips with your arduino and see what it does


It seems to work fine in the arduino with just the led blink sketch, I haven't tried anything else. Is there something I should test for?

I can't really test too much in the standalone board, because I didn't use a breadboard. It's all soldered up into a really small package (2" x 1.5").

Coding Badly

You have...

 - An Arduino with an ATmega168 processor
 - An ATmega168 processor purchased from SparkFun that has a bootloader installed
 - A "really small project"


You program the Arduino processor while it's loaded in the Arduino, pull out the processor, put it in your really small project and everything works as you expect.  Correct?

You program the SparkFun processor while it's loaded in the Arduino, pull out the processor, put it in your really small projects and it does not work as you expect.  Correct?


Correct. Although it isn't really "a small project", it's just mounted on a really small PCB.

Heres the link to the project:

Coding Badly

Are the markings on top of the two processors identical?


Yes, except for the 4 digit one next to "atmel" which I assume is the serial number

They both say "ATMEL atmega 168 - 20pu" on them.

Coding Badly

Try this...

Put the SparkFun processor in the Arduino.  Modify your program to blink and LED and output something simple to Serial and the end of loop.  Upload the program.  Let it run for several minutes.

Does the LED continue to blink?

Is the expected text sent through the serial connection?


Just tried that, everything worked fine. The LED continued to blink for several minutes, and the LCD displayed what I told it to. Also, I am using a sparkfun serial LCD, and I used this tutorial to set it up:

I uploaded my bomb prop sketch into the sparkfun processor and left it in the arduino and got the same result as when it was in the standalone board (LCD displays nothing, loop seems to stop before even executing the first line).


Apr 04, 2010, 07:14 pm Last Edit: Apr 04, 2010, 07:14 pm by KenH Reason: 1
You have an Arduino with an ATmega168 processor where the sketch you wrote works good, LCD works, everything is good.

You take that m168 chip to your "small board" and everything works good, LCD displays - life is good.

You have an ATmega168 processor purchased from SparkFun that has a bootloader installed.  You install that chip to the Arduino, load the same sketch and everything works whiles on the Arduino, LCD displays - life is good.

You take the Sparkfun m168 from the Arduino board and install to "small board" - nothing works.... is that correct?

That should not happen - I move from Arduino to small boards all the time with no problems.  Since the Arduino m168 works in the small board, that indicates you have everything setup correctly.  You have a 28 pin DIP socket on the small board?

Good luck - I'm not sure where to go from here.

Ken H.

- A "really small project"

Go Up