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.
Where for the ATmega168 it says:
# MCU name MCU = atmega168
For the Atmega8 it should read:
# MCU name MCU = atmega8
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
hfuse | lfuse | |
---|---|---|
no bootloader | 0xD9 | 0x3F |
usb bootloader | 0xD8 | 0x3F |
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
Known working spiffchorder for ATmega8 | chorder-working-atmega8.hex |
---|---|
MD5 checksum | dc681522d0af047330e82347b6343b34 chorder-working-atmega8.hex |
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