Wasp Atmega644 AVR - Arduino users?

I recently purchased a SOC Robotics Wasp Atmega644
www.soc-machines.com/pdfs/Wasp%20Hardware%20Reference%20Guide.pdf

It looks like the Sanguino environment should move over fairly well. With minimal effort, I was able to create sketches and directly upload them to the Wasp with AVR Studio. However, the loading via the IDE didn't work out of the box.

Is anyone else using this unit with Arduino IDE? I'm going to start to look at it, but if someone has a working bootloading environment, I'd love to hear about it.

--creatrope

Does the Wasp come with a Sanguino bootloader?

I am not using the board that you are but I have
been using the Sanguino tools on my own boards.
I burned the bootloader on the '644, loaded the bootloader
per the Sanguino documentation and made a couple
of minor changes to boards.txt See
http://wiblocks.luciani.org/docs/app-notes/sanguino-tools.html

It actually went a lot smoother and quicker than I expected.
The Arduino and Sanguino teams have done a nice job
on this.

(* jcl *)

www: http://www.wiblocks.com
twitter: http://twitter.com/wiblocks
blog: http://luciani.org

The bootloader issue was discussed here:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1233367785/8

I use a 644 based board as well. However I prefer to work without bootloader. Hence I do not have any experience with the bootloader.

Reason: better upload speed and the serial monitor can stay connected all the time.

Udo

I'm puzzled that the bootloading via the Arduino doesn't work out of the box. Loading via AVR Studio is working fine though.

I used this for the Wasp,

sanguino.name=Wasp
sanguino.upload.protocol=stk500
sanguino.upload.maximum_size=63488
sanguino.upload.speed=38400
sanguino.bootloader.low_fuses=0xFF
sanguino.bootloader.high_fuses=0xDC
sanguino.bootloader.extended_fuses=0xFD
sanguino.bootloader.path=atmega644
sanguino.bootloader.file=ATmegaBOOT_644.hex
sanguino.bootloader.unlock_bits=0x3F
sanguino.bootloader.lock_bits=0x0F
sanguino.build.mcu=atmega644
sanguino.build.f_cpu=8000000L <- note change from16000000L
sanguino.build.core=arduino

Simple sketches like ASCIITable show garbage, which makes me think that this baud issue. So it should respect the sanguino.build.f_cpu=8000000L for the serial port speed?

--creatrope

Ok, I've got it going for the Atmega644 Wasp series.

I've put the bootloaders in
http://affirmatron.com/wasp/WaspBOOT_644_10MHZ.hex
http://affirmatron.com/wasp/WaspBOOT_644_20MHZ.hex

If you have a Wasp with a 3.3v device like the serial flash or accelerometer, then you have a 10MHZ device running at 3.3v.
If you don't have these options, then you probably have a 20MHZ/5v version.

Double check as you can burn out the 3.3v devices if you plug in the wrong voltage.

You'll need to burn this bootloader to the Wasp.

Then append the following file in boards.txt

wasp20.name=Wasp644_20
wasp20.upload.protocol=stk500
wasp20.upload.maximum_size=63488
wasp20.upload.speed=38400
wasp20.bootloader.low_fuses=0xFF
wasp20.bootloader.high_fuses=0xD8
wasp20.bootloader.extended_fuses=0xFE
wasp20.bootloader.path=atmega644
wasp20.bootloader.file=ATmegaBOOT_644.hex
wasp20.bootloader.unlock_bits=0x3F
wasp20.bootloader.lock_bits=0xCF
wasp20.build.mcu=atmega644
wasp20.build.f_cpu=20000000L
wasp20.build.core=arduino

###########

wasp10.name=Wasp644_10
wasp10.upload.protocol=stk500
wasp10.upload.maximum_size=63488
wasp10.upload.speed=38400
wasp10.bootloader.low_fuses=0xFF
wasp10.bootloader.high_fuses=0xD8
wasp10.bootloader.extended_fuses=0xFE
wasp10.bootloader.path=atmega644
wasp10.bootloader.file=ATmegaBOOT_644.hex
wasp10.bootloader.unlock_bits=0x3F
wasp10.bootloader.lock_bits=0xCF
wasp10.build.mcu=atmega644
wasp10.build.f_cpu=10000000L
wasp10.build.core=arduino

Note: I have NOT tried to burn a bootloader from the IDE with these setting, I used AVR Studio 4.18b700, but these match the fuse & lockbit setting that are known working for me. If someone can confirm this works from the IDE that would be great.

After this, you should be able to upload sketches (hit upload, then reset, there's no auto-reset as far as I can), and use the Serial port.

There's a Wasp datalogger app in the support section at socrobotics.com that tests out the Wasp in case you're having problems.

I recommend testing with blink.hex (change the LED to DigitalPin4 and DigitalPin5, NOT digital pin13 - there's no LED on that pin), then the asciitable sketch to verify you've got serial working.

Everything else is pretty much Sanguino-like for the Atmega644 as far as pin-outs and features. Remember this unit is a Atmega644 not Atmega644p so there's only one UART, not two.

Congrats to that team and the people that come before them for making it easy.

It's a nice little board!

--creatrope