Ok, I’ve figured out quite a bit here, but I’m still searching for how to load a sketch where I can see some sign of life from it.
When I first received the stalker, it would flash the user LED in a constant blink once powered on. Unfortunately ever time I tried to load a sketch using either the bus pirate or the spark fun 3.3v FTDI interface it would think it loaded the sketch, but the board would go right back to the constant blink.
After much searching around and assembling this is what I have working:
- avrdude is using the bus pirate to talk to the stalker via the ICSP header.
- avrdude can write boot-loader to the seeeduino stalker.
*** I’d like to locate the original stalker boot-loader if anyone knows where it can be downloaded ***
I used ATmegaBOOT_168_pro_8MHz.hex but one thing that concerns me is that the oscillator on the stalker is clearly marked at 16.00.
Is the stalker a Arduino Pro/Pro Mini clone (3.3v 8MHz), or is it a Diecimila clone?
Here is a log of it writing the diecimila boot loader:
[code]
Detecting BusPirate…
**
** Bus Pirate v3a
** Firmware v5.10 (r559) Bootloader v4.3
** DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5)
** http://dangerousprototypes.com
**
BusPirate: using BINARY mode
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x1e9406
avrdude: erasing chip
avrdude: reading input file “0x3f”
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.03s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.03s
avrdude: verifying …
avrdude: 1 bytes of lock verified
avrdude: reading input file “0xdf”
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.10s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xdf:
avrdude: load data lfuse data from input file 0xdf:
avrdude: input file 0xdf contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.03s
avrdude: verifying …
avrdude: 1 bytes of lfuse verified
avrdude: reading input file “0xca”
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.10s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xca:
avrdude: load data hfuse data from input file 0xca:
avrdude: input file 0xca contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ################################################## | 100% 0.03s
avrdude: verifying …
avrdude: 1 bytes of hfuse verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Detecting BusPirate…
**
** Bus Pirate v3a
** Firmware v5.10 (r559) Bootloader v4.3
** DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5)
** http://dangerousprototypes.com
**
BusPirate: using BINARY mode
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x1e9406
avrdude: reading input file “ATmegaBOOT_168_diecimila.hex”
avrdude: writing flash (16294 bytes):
Writing | ################################################## | 100% 525.42s
avrdude: 16294 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_168_diecimila.hex:
avrdude: load data flash data from input file ATmegaBOOT_168_diecimila.hex:
avrdude: input file ATmegaBOOT_168_diecimila.hex contains 16294 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 521.31s
avrdude: verifying …
avrdude: 16294 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Detecting BusPirate…
**
** Bus Pirate v3a
** Firmware v5.10 (r559) Bootloader v4.3
** DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5)
** http://dangerousprototypes.com
**
BusPirate: using BINARY mode
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x1e9406
avrdude: reading input file “0x0f”
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.10s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0f:
avrdude: load data lock data from input file 0x0f:
avrdude: input file 0x0f contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.03s
avrdude: verifying …
avrdude: 1 bytes of lock verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.[/code]
3) I’ve replaced the avrdude and avrdude.conf that are in the sketch editor to use the version that supports the bus pirate.
4) I’ve modified board.txt and programmers.txt so that the sketch editor will write sketches to the seeeduino stalker using the BP version of avrdude.
The sketch editor now nicely shows the BusPirate when I press load:
Detecting BusPirate…
Binary sketch size: 1252 bytes (of a 14336 byte maximum)
**
** Bus Pirate v3a
** Firmware v5.10 (r559) Bootloader v4.3
** DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5)
** http://dangerousprototypes.com
**
BusPirate: using BINARY mode
about a full minute later it says “Done uploading.”
Things seem to be working nicely with no errors both from the command line and from the sketch editor. The problem is that the sketches are still not running. I’m using the Fade sketch with the pin set to 13 to address the user LED on the stalker.
Still not quite sure what I’m be doing wrong.