If I want to design an Arduino-compatible board I guess I'll have to use the same outline, and connector positions to fit existing enclosures. (Beats me why they didn't choose a simple rectangular board, which would have been cheaper.) But I wonder if the ICSP header's position is standardized. Some enclosures have a hole above it, but many don't. Can I move the ICSP header to another position?

(Can somebody add a "compatibility" tag? Thanks. Also, neither "mechanical" nor "board" nor "layout" seem to exist as tags. Feel free to improve my generic tagging.)
The "shield" tag was suggested, but this isn't about shields, it's about the ICSP header.

  • Ah, I misread the question, I seem unable to remove my "shields" tag. - You can move the ICSP header. - Your board will be compatible with everything that does not use the ICSP header. - The casing will still "work", but you would be unable to reach the ICSP header if the casing is on it.
    – aaa
    Commented Apr 22, 2015 at 9:46
  • 2
    Look at the Uno board and the Mega board for example. Both seem to have the ISP header at the same position. Some shields require it. The only reason for a fixed location would be shield, so that tag is pretty applicable. Also note that if you move it, it might interfere with components placed on the bottom of some shield.
    – Gerben
    Commented Apr 22, 2015 at 14:37
  • @Gerben: I find your "seem" interesting :-). Does a hard source for it exist? Not to my knowledge. Is there a drawing with the required clearances for the bottom of shields? I seriously doubt it. Commented Apr 26, 2015 at 14:37

1 Answer 1


Depends on what you define as "Arduino compatible".

My "Arduino Nano" is 'Compatible' but a whole other design.

Or well, it already separates here. "Software compatible" working with the Arduino IDE and/or Libraries. In general, any board with ATMega 328P / USB or ICSP / Bootloader could be considered compatible.

But, however, for an "Arduino clone" being "Hardware compatible" you could also look at:

  • Pin placement (Thus being compatible with shields).

  • Using the same FTDI chip, thus being directly compatible with arduino drivers (not sure)

  • Using "exactly" same electronic specifications.
  • Size and/or shape or even weight of the board.

Strictly, moving the ICSP header will make it 'incompatible' for some shields. But, well, for most shields it won't be a problem. For casings that have an opening for the ICSP header it'll mostly just look funny. By replacing the ICSP header it might touch components of other shields/casings and thus be not compatible with it.

(update) The website and file below are from the arduino site and could thus be considered to be the 'standard' as it's set by arduino. You can however make your board how you want it and compatible with what you want. But changes will often make it incompatible with (some) shields/adapters.

The arduino website with specifications on the board: http://www.arduino.cc/en/Main/ArduinoBoardUno

EAGLE files: http://arduino.cc/en/uploads/Main/arduino_Uno_Rev3-02-TH.zip

  • There are several areas of compatibility. I mention mechanical in particular. I know there are different board designs, like the Nano, which are software compatible, but it should be obvious that I'm not asking about mechanical compatibility between Nano and Uno, for instance. The question is: does there exist an official drawing with PCB outline and the positions of mounting holes and connectors/headers? I couldn't find it. Commented Apr 26, 2015 at 14:34
  • Hmm, not that I know off, though arduino is open source and they do have design documentation on their website google.nl/…
    – aaa
    Commented Apr 27, 2015 at 17:40
  • Yes, that's an (outdated) schematic, thanks. But have you ever seen an official mechanical drawing? Commented Apr 27, 2015 at 17:43
  • I have searched on my laptop (which is easier as on my phone) and found the following: arduino.cc/en/uploads/Main/arduino_Uno_Rev3-02-TH.zip , These are the eagle SCHEMATIC and BOARD files. Found on this page: arduino.cc/en/Main/ArduinoBoardUno I believe this would be the standard set by arduino, it's from Rev 3 so I think it's quite up to date?
    – aaa
    Commented Apr 27, 2015 at 18:28
  • 1
    A board file is (probably) a PCB layout. I can't read that because I don't have Eagle. That's not a mechanical documentation file (which preferably should be a PDF). I appreciate that you want to find an answer, but I still don't think it exists. I've also Googled the Internetverse for a long time for it. I found drawings which are the initiative of individuals to fill in the gap in documentation, but those drawings either are incomplete, wrong or contradicting. Commented Apr 27, 2015 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.