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 ATmega8 | chorder-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