Atmega 168 And ATmega8 on Arduino UNO

Can we program 'Arduino Bootloaded ATmega168 and ATmega8 using Arduino UNO? Please Help me.

Hi,

I have heard of people removing the ATMega from the Uno and doing this (for example this instructable) but you could likely skip a step (ie the wiring) by putting the bootloaded uC you want to program in the slot on the Uno to upload to it.

If you want to keep using the bootloader, buy an FTDI breakout board to program your projects without the Uno ongoing. Nick Gammon's excellent page gives a step-by-step guide to how to use that with a breadboard after programming the bootloader with the Uno.

Cheers ! Geoff

I bought Arduino UNO and it has come with ATMega328. But I want to use ATMega8 and ATMega168 on Arduino UNO. Is it Possible?

1 Like

bharadwajgsk: I bought Arduino UNO and it has come with ATMega328. But I want to use ATMega8 and ATMega168 on Arduino UNO. Is it Possible?

Short answer: No.

Longer answer: Why? What are you trying to achieve?

Don't listen to them! If you have an UNO with a removable Atmega328, you can place an Atmega8 or Atmega168 instead of the original Atmega328p. These microcontrollers have the same pinout, and there exist Optiboot bootloaders for all of them. Optiboot is just an optimized bootloader that is faster and does not require more than 512b of memory.

I've used atmega8 a lot in small projects that doesn't require more space than 8kb. You can of course use the original ATmega8/168 bootloader, but I strongly recommend Optiboot. You just place the atmega8/168 into the UNO board, choose the right board/bootloader under the Tools > Boards menu, and clock "Burn bootloader". You'll also need an ISP programmer, such as USBasp, AVRisp or an Arduino ISP.

take a look at post no. 3 in this topic. I wrote a small guide to get started.

hansibull:
Don’t listen to them! If you have an UNO with a removable Atmega328, you can place an Atmega8 or Atmega168 instead of the original Atmega328p.

Yes…but:

a) Why? What could you possibly gain from doing that?
b) They may be electrically compatible with the board but they’re not software/hardware compatible with a Mega328.

Whatever it is he’s trying to do is obviously misguided.

When I said “no” earlier I really meant: “If you have to ask that question, you shouldn’t be doing it”.

The 168 is certainly compatible. Look at the 328P datasheet:

ATmega48A; ATmega48PA; ATmega88A; ATmega88PA; ATmega168A; ATmega168PA; ATmega328; ATmega328P

'168 boards are even listed in the IDE.

and the Atmega8 is the same 28 pin package. Boards are listed in the IDE are also listed for it: Arduino NG or older w/ ATmega8

You will need a programmer to put a bootloader on them. I use Atmel AVR ISP MKii, if you don't have one then I'd recommend Nick Gammon's Bootload installer next. http://www.gammon.com.au/forum/?id=11635

You CAN put a mega8 or mega168 in an Uno board, but you will need to set your BOARD to something other than "Uno." Probably the existing "Arduino NG or older w/ ATmega8" or "Duemilanove w 168" boards will work, if the chips have the appropriate (older) bootloader; otherwise you'll need to look through the optiboot instructions and posts to figure out how to modify your boards.txt as appropriate (which, alas, varies somewhat depending on IDE version.)