We are working on an Arduino Board designed specifically for the electric car conversion crowd. I posted a summary of the project a while back over at Adafruit
As we work on the schematic, we noticed a few things things that might make our board (based on the new Mega 2560) more compatible with existing shields. Namely: the moved SPI pins.
I thought we would run this past the community to ensure we are not missing something. Again, from Adafruit forum:
"We were initially planning on sticking pretty close to the original header pinout. The Mega pinout, however, shows the SPI signals on header pins # 51, 52, 53 while the corresponding UNO SPI pins are on 12, 11, 13.
Unless there is a good reason that the Mega SPI pins are moved, I think we will put them in the same place as the UNO. Doing so will hopefully allow for more shield compatibility with our board."
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI communication using the SPI library. The SPI pins are also broken out on the ICSP header, which is physically compatible with the Uno, Duemilanove and Diecimila.
I understand that the pins are not arbitrary, but is there any reason why we shouldn't re-map them to the corresponding UNO header pinout as this discussion suggests:
Note: I just noticed that I wrote the wrong pin assignments above: 50, 51, 52, 53 on Mega corresponds to 12, 11, 13, 10 on UNO.
This would ensure that Duemilanove and UNO shields would be pin-compatible. There just seems to be a lot of shields out there that expect SPI on pins D11-13 still. Of course we will still have SPI on the ICSP header.
The pins for SPI are fixed by the hardware in the processor, you can't remap them.
You can use any pin for SPI if you bit bang the SPI bus, but this is slower than using the built in hardware.
Sorry, I really need to explain myself better it seems. The idea would be to connect the SPI pins from the ATmega2560 to the same header pins where SPI lines are on the UNO.
PB3 (MISO) to header Pin 12
PB2 (MOSI) to header Pin 11
PB1 (SCK) to header Pin 13
PB0 (SS) to header Pin 10
We were hoping you Arduino guys would get a kick out of the name we chose to call our board: "Macchina". Italians use it as a slang word for "car" (hopefully).
Based on Arduino Mega
closer to Automotive specs, 4 layers, EMI protection, more fuses
on-board OBD2 interface with many protocols supported - including CANbus
can be hooked right up to car battery.
If anyone has some feedback, we would be happy to hear it.
I can't comment on the analogue part but I see no obvious bloopers with the rest with one possible exception, Atmel suggest 10uH/0.1uF for the AVCC filter.
BTW, what chip is TVS102, there's no component name.
Sorry, I really need to explain myself better it seems. The idea would be to connect the SPI pins from the ATmega2560 to the same header pins where SPI lines are on the UNO.
PB3 (MISO) to header Pin 12
PB2 (MOSI) to header Pin 11
PB1 (SCK) to header Pin 13
PB0 (SS) to header Pin 10
Down side is you would lose the use of arduino pins 10-13?