# Arduino ICSP pins used on Wi-Fi and Ethernet Shields

**URL:** <https://community.sparkfun.com/t/arduino-icsp-pins-used-on-wi-fi-and-ethernet-shields/24877>\
**Category:** Arduino\
**Created:** [August 24, 2012, 10:00pm UTC](https://community.sparkfun.com/t/arduino-icsp-pins-used-on-wi-fi-and-ethernet-shields/24877 "2012-08-24T22:00:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lordfuzzz](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@lordfuzzz](https://community.sparkfun.com/u/lordfuzzz)\
**Post date:** [August 24, 2012, 10:00pm UTC](https://community.sparkfun.com/t/arduino-icsp-pins-used-on-wi-fi-and-ethernet-shields/24877/1 "2012-08-24T22:00:33Z")

</div>

I noticed something peculiar on the [[Ethernet](https://www.sparkfun.com/products/9026) and [[Wifi](https://www.sparkfun.com/products/11287) shields that are made by Arduino. Instead of connecting MISO and MOSI to pins 4 and 5 of the shield connectors, they connected it to the ICSP pins. While these pins are connected together on the arduino board itself, it seems peculiar that they would decide to add a completely new part when they can avoid it (it iss extra cost for the part itself, extra time to populate the component, one more thing to go wrong, and does not add any value to the product, etc.).

Can anyone help me by providing a rationale for this design decision?]([Arduino Wi-Fi Shield - DEV-11287 - SparkFun Electronics](https://www.sparkfun.com/products/11287))]([Arduino Ethernet Shield - DEV-09026 - SparkFun Electronics](https://www.sparkfun.com/products/9026))

---

<div class="post-metadata">

**Author:** ![n1ist](https://avatars.discourse-cdn.com/v4/letter/n/5daacb/32.png) [@n1ist](https://community.sparkfun.com/u/n1ist)\
**Post date:** [August 27, 2012, 1:25pm UTC](https://community.sparkfun.com/t/arduino-icsp-pins-used-on-wi-fi-and-ethernet-shields/24877/2 "2012-08-27T13:25:22Z")

</div>

I believe the SPI port is not on the same pins on a Arduino MEGA. They are on a header that is outside the footprint of a regular-sized shield. So using the ICSP header lets the shield work with either Arduino.

/mike
