Updating the mighty-1284p core

My Bobuino is assembled. No smoke. No big mistakes soldering. Time to bootload it.

What did you# use for a bootloader? Something from the mighty-1284p core?

# "You" meaning anyone reading this post who has tried to install a bootloader on a '1284 based board.

I used Optiboot.

Works fine, except I was a bit surprised that it blinks pin 0 (PB0) when the reset button is pressed. The pins file indicates the LED is on pin 7 (PB7, SCK) so that's where I put the LED on my board. Minor issue, I might recompile the bootloader if it keeps me up nights :smiley:

Did you build it yourself or find a ready-to-use copy?

At 115200 baud?

https://code.google.com/p/optiboot/downloads/list

That's maybe the results of the pins_arduino file your using then the bootloader? My boburino board the bootloader (optibot) blinks the same pin that the blink sketch uses?

A big thank you to @westfw!

Ouch. That's a little embarrassing...

Members arduino.tiny, westfw
Your role Owner

The one that came with maniacbug's core. Which if I'm reading things right, doesn't match the source code, at least as far as which pin the LED is on. Maybe that's the only difference.

Yes, 115200 baud.

I'll post the one I use, blinks SCK just like an Uno. Is on a different computer. Just 3 quick flashes I think.

The Bobuino has the on-board LED on SCK / B7. Where is the LED on other boards? Jack, did you also put the LED on B7?

Unknown.

Jack, did you also put the LED on B7?

Yes. (But I'm not necessarily married to the idea, my boards are just for prototyping and testing.)

Jack, have you been using the Bobuino board entry to program your board?

I suggest these fuse settings for '1284 boards...

bobuino.bootloader.low_fuses=0xF7
bobuino.bootloader.high_fuses=0xD6
bobuino.bootloader.extended_fuses=0xFD

Full Swing Oscillator; Start-up time: 16K CK + 65 ms; Crystal Osc.; slowly rising power; [CKSEL=0111 SUT=11]

Boot Reset vector Enabled (default address=$0000); [BOOTRST=0]

Boot Flash section size=512 words Boot start address=$FE00; [BOOTSZ=11]

Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]

Serial program downloading (SPI) enabled; [SPIEN=0]

Brown-out detection level at VCC=2.7 V; [BODLEVEL=101]

Thoughts?

Full Swing Oscillator; Start-up time: 16K CK + 65 ms; Crystal Osc.; slowly rising power; [CKSEL=0111 SUT=11]

This seemed to be the best and simplest 'fix' for people having problems with serial data problems on the first uart pins. Problem was sensitive to board layout and there were other hardware fixes that were effective, but simply using the full swing option seems to be the best method and doesn't cost anything and is board agnostic.

Lefty

I'm using Mighty 1284p 16MHz using Optiboot ... the board I designed maps the pins according to the standard variant.

Gents-

I'm not sure it will help, and sorry if this was posted before (I didn't follow any linked threads) but I was doing some searches today and ran across a blog posting that has new core files for the 644P/1284P based on 1.5.6-R2.

The posting was at http://www.leonardomiliani.com/2014/core-per-atmega644p1284p-aggiornato-per-lide-1-5-6-r2/?lang=en

Just thought it might be useful.

Regards,

Brad
KF7FER

Those are fine.

FYI, I'm currently using the low-power XO and was unable to reproduce the serial data reset issue, even when running at 16MHz and 3.3V. I tried 115200 and 230400 baud for the serial data. But maybe the DIP is more sensitive to this issue than the TQFP that I'm using, so go with what's safest. Then again Robert I don't believe has seen it on his boards with the DIP either, so I really don't know what to think.

It does help. Thank you.

Is anyone interested in an Optiboot built to communicate at 1 M baud (or 2 M)?

Is anyone interested in an Optiboot built for a no-LED board?

You may need to get a better diff tool!

The bad news is WinDiff finds changes in nearly every file. The good news is that the vast majority of the changes appear to be additions to the 1.0.5 standard core which should have no bearing on the '1284 processor or add new features. I found just one "conflict" that should be easy to get past.

Is the goal to use the standard core source files?

I find I don't care much about the bootloader LED blinking, as I bootload and then install Blink right off the bat to show the serial interface is working.
Are there many serial things that run at 1 or 2M? I could see that being handy for Arduino/Aruino comm's vs messing with I2C or SPI.
Would be nice to not have to mess with adding 1284 variant back in every time an IDE is downloaded.