ATmega4 vs ATmega8 vs ATmega328. Project use? (question)

So, as I’ve stated in a different post, I’m working with making an arduino system that’s practically an led control kit. I also found online that the ATmega4 and ATmega8 performs the same as a 328 as far as speed, power consumption, etc. I was just wondering is there any reason an ATmega4/8 can’t run arduino? The main reason I ask is, because I’m not too worried about 8kb of space on the ATmega8 being to small (most programs that I’d be writing to it would be at most 100 lines) compared to the 328’ 32kb (… I now get the naming convention of the 328… XD), I am kind of worried about the 4kb of the Atmega4, with the bootloader on it. I don’t think the application of turning on and off leds is very ram intensive, so the extra 1kb ram from the 8 isn’t really needed (script doesn’t use many variables either).

So… O-o I guess what I’m asking, is the ATmega4/8 compatible with arduino?

The main reason I ask is because an ATmega4 is only $1.77, ATmega8 is only $2.30 where as the 328 is $3.42 (all surface mount, all not pre-programmed, from mouser). Sure, in the short term, it isn’t that much of a difference in cost, but the cheaper I can make my own chips, the more neat little toys I can make :P. I think my total build cost per unit would be less then $5 per unit if I can just use the ATmega8, and possibly even less then $4 with the ATmega4.

Are there any other cheaper alternative chips like these that do work with the arduino bootloader?

(>_< sorry for the two different posts so quickly together, but they aren’t really all that related)

The ATtiny25 can be bought for $1.89 from Digikey in single quantities and there is an Arduino core for it.

Thanks for pointing those out. I'd still like all the outputs though. The closest is the ATtiny2313, with 18 i/o pins, which would actually be fine, but if I can use the ATmega4, I'd still have all 20 i/o pins at the same cost. (atmega4 on mouser is $1.77 so if it's possible to use it, it'd be at the same price)

The ATtiny25 is cheaper on mouser also, ($1.18 for single) but it still only has 6 i/o pins. Super small projects would be fine, but not for the gadgets I have in mind every once in a while.

I've searched for arduino on the 4 and 8, and found stuff about it on the 8, but not the 4. Is that because of the size of the bootloader maybe?

You can always download your sketch into them directly and just not have a bootloader.
You down load via the MISO/MOSI/SCK pins, vs having the bootloader accept sketch from the UART and then loading it into Flash memory.

Get yourself a programmer like this:

I have both, have only used the first one so far.

What's an ATMega4? Maybe you mean an ATMega48 (88, 168, 328 - notice the progression)...?

Yeah, 4, 8, 16, 32, whatever it takes :)

@CrossRoads: I have no clue how to program with standard avr. Not even a smidgen :P That's why. Have any resources for newbies that my be useful? If it's easy enough and such, sure I'd be interested. It would let me program for a much more broad amount of micro controller ic's.

@cr0sh: You're right, it is a 48, not 4... but has what you might expect by just being a 4 for the specs. Only 4kb of memory and .5kb of ram.


You could download AVR Studio from Atmel (free) and be able to debug and program your Atmega microcontrollers. I'd recommend a AVR dragon which is a low cost programmer/debugger.

If you have more questions and need a place for more AVR resources check out, which is a community of AVR enthusiasts who are very helpful.


@Caliber Mengsk, I've not used the AVR ISPs except from within the Arduino IDE, using Tools:Download Bootloader:Using _____, something along those lines. I would suspect that downloading a sketch might be performed similarly.

I got some refurbished SMD ATmega8 for $ 1.96 each on eBay, and they work.

The best part is they are fully arduino compatible, no extra cores needed.


The ATmega8 was even used as an Arduino IC in the past, before it was upgraded to the 168 and then the 328. You should note that it has fewer timer outputs (so you cannot use PWM on as many pins) and does not support pin change interrupts on any pin, though. The 48 belongs to the same line as the 168 and the 328, but its self-programming features are not as advanced. The 88 should be fairly compatible, though.

Indeed, forgot to mention that. Also, if you don't know what to do with the SMD chip, here's a nice adapter to use with a breadboard.

Combining both will still go for under $ 4 USD, which is a good price.