Lauszus / Sanguino

Sanguino add-on for the Arduino IDE, based on http://code.google.com/p/sanguino/
https://lauszus.github.com/Sanguino/
185 stars 96 forks source link

Burning optiboot onto AtMega1284p #13

Closed bummer6 closed 6 years ago

bummer6 commented 7 years ago

Hello! I'm a bit of a noob at this, but I've run out of options, so I decided to post my problem here. I have a Sanguinololu 1.3a and I'm trying to burn the bootloader to it so I can flash the firmware. The bootloader burns fine, but then flashing the firmware doesn't work, giving me errors like this:

avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe3

So I assume it's a problem where optiboot doesn't support AtMega1284p, and I see there are instructions how to burn optiboot properly onto the board, but the problem is that I don't understand the instructions at all. Here's what the instructions say;

To burn the bootloader for the ATmega1284 running at 16MHz use the following command:

make atmega1284p_isp ISPPORT=/dev/tty.usbmodem26411

Now... It says you use the following command, but where? Where do I enter the command, and what do I do afterwards?

I'm on Windows 10 if that matters... I'm out of options and I don't know what to do at this point.

Ryder17z commented 7 years ago

That is a command for "avr dude" iirc. Which is a CLI. (Command-Line Interface) It's been 2 years since i visited this project so my memory is faint.

Lauszus commented 6 years ago

@bummer6 the easiest way is just to burn the bootloader via the Arduino IDE by using a second Arduino as a programmer. Please see: https://www.arduino.cc/en/Tutorial/ArduinoISP. You do not need to use the command line at all!

Please note that those special instructions are only for the "ATmega1284" and not the "ATmega1284p". You only need to use the command line if you want to burn the bootloader onto a "ATmega1284".

81ninja commented 6 years ago

I'm having the same problem with a Sanguinolulu. I have a Geeetech 3D printer that uses it, and I'm trying to update the Marlin firmware on it to the latest version.

I can upload firmware to it fine using Arduino 1.0.1 (via the IDE), using a hardware package for the 1284(p) provided by Geeetech (from an unknown source). Marlin however requires Arduino 1.6+, and the old package of course won't work with it. Neither will this one - I can compile the sketch, but get the stk500_getsync() errors during uploading.

I can understand makefiles etc., but I'm not that familiar with Arduino yet, and the whole thing is still ahead of me. Since I can upload using Arduino 1.0.1, and the old package also includes bootloader files etc. Do you think it could be made to work with Arduino 1.6?

Edit: Nevermind I was able to upload the new firmware by following Dust's instructions at: http://dustsreprap.blogspot.com.br/2015/06/how-to-install-sanguino-in-arduino-164.html The whole thing, from the initial setup to setting protocol = arduino. It was a lot simpler than I thought :)

Funny trivia: I got here by first following the latter (next day) instructions by Dust in his blog at http://dustsreprap.blogspot.com.br/2015/06/better-way-to-install-sanguino-in.html , which say to just add this library :D

Lauszus commented 6 years ago

@81ninja good to hear you got it working :)

Lauszus commented 6 years ago

@bummer6 I will close this issue now due to lack of response. Feel free to open it again.