Welcome! Log In Create A New Profile

Advanced

Changing the Fuse settings to a 1284p using an Arduino Uno as ISP

Posted by theruss007 
Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 15, 2014 05:18PM
HI All,

I have a Sanguinololu that uses the Atmega1284p, and am having some trouble with. The endstops will not register and the motors will only spin in one direction no matter what settings are changed in firmware(I'm using Marlin, btw). After some searching I believe the problem is that the JTAG fuse settings for the chip are wrong, and that it must be disabled. I never uploaded the bootloader myself, and bought it with it already installed, so I'm not *exactly* sure how to fix it. I don't want to buy an ISP programmer at all, and I know I could buy a new chip from a different seller that has been tested, but if can fix it for free while learning something new, I'm willing to try. Worse case scenario I brick the chip, and have to buy a new one anyway.

Can I use the Arduino Uno as an ISP programmer? I've seen various post that say you can and cannot. It's usually said that it has to be a pre- Arduino Uno, one that uses an FTDI chip. Also I believe there are memory limits that restrict what type of programmer can be used. If the UNO can be used as an ISP, can it handle the memory size of the 1284p?

I'm also under the impression that you can change the Fuse settings without burning an whole new bootloader? Is that true?

Thanks in advance.
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 01:59AM
What you describe is certainly possible if they have left the JTAG system enabled.

Yes you can set the fuses without uploading a new bootloader. Just use the command line tool avrdude

Cant help with the rest, I use a real programmer smiling smiley
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 06:17AM
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 06:32AM
[github.com]

the above implies there was an issue with larger rom back 2010, but was fixed.

Uew this latest version, apparently the one with ardueno prier to v1 is quite old.
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 09:32AM
Couldn't quite see the issue with ROM size.

But reading though the issues, wow, another C syntax trap! I thought I knew them all smiling smiley I'd always assumed expressions would be evaluated left to right. Might explain some weird bugs I have had.


What is Open Source?
What is Open Source Hardware?
Open Source in a nutshell: the Four Freedoms
CC BY-NC is not an Open Source license
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 11:42AM
Thanks guys for the replies. I'll give this a try later tonight and let you all know how it goes.
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 09:18PM
Well ive given it a try. Id give a more detailed description but im on my phone right now. But basically, idk if im gettimg results back, all the fuses say they read as 0. Iand itsays the the device signature is expected as 1E 97 05, yet it shows 0x1e950f. Does that mean it reading from the chip at all? The command im putting in to read the fuses is avrdude -P com 8 -c arduino -p m1284p -U lfuse:r:hex_file.txt -v -F.
Re: Changing the Fuse settings to a 1284p using an Arduino Uno as ISP
February 16, 2014 09:49PM
Just found out thatvit gives the same exact reading, even if my 1284p isnt powered.
Sorry, only registered users may post in this forum.

Click here to login