OpenLCB Dev Board ICSP Header Fix
So, the REV B hardware has a problem, in that I brought the wrong SPI pins out for the ICSP programming header. Oops. The good news is that with a breadboard and a little ingenuity, the fix is easy. The better news is that, as far as I know, the JTAG header is just fine (but we’ll find out when I get my JTAG programmer in the mail). Read on for the fix.
If you’ve ever gotten the dreaded “Device signature = 0×000000″ error trying to program an AT90CAN128, then the fix below is probably for you as well.
First, the fix is much easier if you use female headers in the ICSP port rather than the usual male headers. Then you can just use jumper wires to connect your ISP programmer (the only pins that have changed from the standard configuration are the MOSI and MISO pins):
I used an Arduino as an ISP, in which case the connections are as follows:
| Arduino | → | OpenLCB Dev Board |
|---|---|---|
| Digital 10 | → | ICSP 5 |
| Digital 11 | → | Digital 0 |
| Digital 12 | → | Digital 1 |
| Digital 13 | → | ICSP 3 |
| +5V | → | ICSP 2 |
| GND | → | ICSP 6 |
(And for reference purposes, here is how the pins on an ICSP header are standardly numbered:)
Here is how the pins in the ICSP header are standardly numbered:
You can now upload firmware directly using avrdude, or you can visit the OpenLCB Dev Board page and grab an Arduino bootloader.


Recent Comments