Table of Contents

Using the ATmega8

If you build your SpiffChorder with an ATmega8 instead of the ATmega168 you will need to make one or two changes to the Makefile. You will also need to set the fuses differently when you program the chip. All these changes are documented here.

If you like me, build the hex file, then program by using avrdude or some other program directly, or use the usb bootloader then you only need to make the first change below.

1 Makefile changes

1.1 Change the MCU name

Where for the ATmega168 it says:

  
# MCU name
MCU = atmega168

For the Atmega8 it should read:

# MCU name
MCU = atmega8

1.2 Change the fuse settings

If you are not using the usb bootloader and want to use the Makefile to program your chip, you will also need to change the fuse settings in the Makefile as follows.

Where for the ATmega168 it says:

fuse:
        $(AVRDUDE) $(AVRDUDE_FLAGS) -U hfuse:w:0xDD:m -U lfuse:w:0xFF:m

For the Atmega8 it should read:

fuse:
        $(AVRDUDE) $(AVRDUDE_FLAGS) -U hfuse:w:0xD9:m -U lfuse:w:0x3F:m

2 Fuse Settings For the ATmega8

hfuse lfuse
no bootloader 0xD9 0x3F
usb bootloader 0xD8 0x3F

3 Prebuilt code with bootloader

If you want to start by downloading a known working hexfile with the usb bootloader on it which you can then change by downloading your new program over the usb connection to your spiffchorder, you can begin with the hex file below

3.1 Known working Spiffchorder for ATmega8 with usb bootloader in place

Known working spiffchorder for ATmega8chorder-working-atmega8.hex
MD5 checksum dc681522d0af047330e82347b6343b34 chorder-working-atmega8.hex

3.2 avrdude commands for above ATmega8 hex file

When loading a hex image on to the atmega8 do:

avrdude -p m8 -c avrusb500 -e -U flash:w:chorder-working-atmega8.hex:i
avrdude -p m8 -c avrusb500 -u -v -U hfuse:w:0xd8:m
avrdude -p m8 -c avrusb500 -u -v -U lfuse:w:0x3F:m

You will need to change the -c avrusb500 to match your programmer.

Greg Priest-Dorman 2009/03/03 11:35