[Noisebridge-discuss] arduino fuses: how to modify easily?

Tymm Twillman tymmothy at gmail.com
Thu Nov 11 21:01:10 UTC 2010


On the bootloader front, I have some self-replicating single-chip bootloader programmers that I designed a few years ago for atmega168's (they're specially programmed m168's)... apply power & they dump one of 4 bootloaders -- Adaboot internal osc, Adaboot 16mhz external, Diecimila 8 mhz external, Diecimila 16mhz external onto the chip, based on whether you ground a few pins.  

Nice thing is it requires only a power supply and a breadboard, and an LED if you want a status indicator; you stack the programmer chip pin for pin on top of the one you want programmed, apply power, wait for blinking to stop, and you're set.

another pin lets you have it copy itself so you can give other people copies of it...  it was initially planned as a bit of a social experiment (the chips had counters to tell which generation they were, and how many chips they'd programmed... so if one came back to me i could query it and see how they'd been passed down) but I never quite figured out how I wanted to put them out there and other work ended up putting it on the back shelf.


unfortunately i haven't had the time to update for '328s and it takes some AVR know-how to finagle the bootloaders into the chips (the binary bootloaders need to be relocated in memory so multiple ones can be loaded onto a chip), but I'd be happy to share if someone would be interested in helping to make them more useful for recent chips...

i'd had plans to make a generic Arduino brain sucker/cloner, that would suck in any program loaded onto an Arduino chip and allow it to be dumped onto a new chip, but got distracted...




On Nov 11, 2010, at 12:47 PM, Mitch Altman wrote:

> Hi Michael,
>  
> I wish Arduino were better documented!  I figured out close to what you are asking, but it took lots of experimenting, since I couldn't find any actual documentation on how Arduino works "under the hood".
>  
> Me and Rolf wanted to make our Mignonette Game kit Arduino compatible.  We use an ATmega168 (instead of a ATmega328), but the idea is the same.  Arduino comes with a 16MHz external crystal or ceramic resonator.  But we wanted it to run at 8MHz since ATmega chips can run off of much lower battery voltage when they are at 8MHz as compared to running at 16MHz.  We wanted to run on the internal 8MHz oscillator, but after doing some research saw that the internal oscillator isn't quite accurate enough to guarantee that we will be able to always communicate using an FTDI cable -- so we used an external 8MHz ceramic resonator.  (I experimented using the internal oscillator at 8MHz, and it worked fine, but since the Mignonette Game kit is for total beginners, I wanted it to be guaranteed to always work.)
>  
> I've attached the ADAboot bootloader that I used, together with the "makefile" that includes the fuse byte settings.  I used the Ladyada USBtinyISP and avrdude to program.  When you use the makefile, it will program the fuse bytes, then the bootloader.  Use this command:
>      make atmega168_isp
>  
> Best,
> Mitch.
>  
> 
>  
> ---------------------- 
> > Date: Wed, 10 Nov 2010 17:36:10 -0800
> > From: michaelshiloh1010 at gmail.com
> > To: Noisebridge-discuss at lists.noisebridge.net
> > Subject: [Noisebridge-discuss] arduino fuses: how to modify easily?
> > 
> > I want to take a stock Arduino and change the clock source to use the 
> > internal clock. This means changing the fuse that selects the clock source.
> > 
> > I have a USB Tiny ISP so I can reprogram the boot loader through the 
> > Arduino IDE. I don't think the IDE has options for changing the fuses, 
> > or does it?
> > 
> > So I'll need to change the fuse using avrdude (I'm on Linux).
> > 
> > Question is what is the default fuse situation for Arduino, since the 
> > only thing I want to change is the clock source?
> > 
> > Michael
> > _______________________________________________
> > Noisebridge-discuss mailing list
> > Noisebridge-discuss at lists.noisebridge.net
> > https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
> <ADABootLoader8MHz.zip>_______________________________________________
> Noisebridge-discuss mailing list
> Noisebridge-discuss at lists.noisebridge.net
> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss




More information about the Noisebridge-discuss mailing list