# RP2040-zero default SPI pins

**URL:** <https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039>\
**Category:** Raspberry Pi\
**Created:** [11 March 2025 05:17 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039 "2025-03-11T05:17:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Peter2075](https://avatars.discourse-cdn.com/v4/letter/p/cdc98d/32.png) [@Peter2075](https://forum.core-electronics.com.au/u/Peter2075)\
**Post date:** [11 March 2025 05:17 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039/1 "2025-03-11T05:17:04Z")

</div>

Hi All, i have been fighting with this for half a day. I am attempting to connect an NRF24l01 to a rp2040-zero. I can not find a reliable source of information regarding this. Does anyone know the pin assignments for SPI0 and SPI1 on this board under Arduino?  
Thank you in advance.

---

<div class="post-metadata">

**Author:** ![Zach](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/zach/32/10899_2.png) [@Zach](https://forum.core-electronics.com.au/u/Zach)\
**Post date:** [11 March 2025 05:31 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039/2 "2025-03-11T05:31:22Z")

</div>

Hey @Peter2075,

I haven’t seen any specific guides for this combo, but it should be a fairly 1:1 adaptation from similar development boards. The NRF24l01 communicates over SPI, so I imagine you could use a guide meant for the Raspberry Pi Pico and use the SPI pins on the rp2040-zero.

The guide below should be a good starting point:

> **[How to easily connect a NRF24L01+ transceiver to your Raspberry Pi Pico -...](https://coffeebreakpoint.com/micropython/how-to-connect-a-nrf24l01-transceiver-to-your-raspberry-pi-pico/)**
>
> In this post I will show you how to utilize the SPI interface of the pico in order to send or receive data with NRF24L01+ transceivers. For the coding part

---

<div class="post-metadata">

**Author:** ![Peter2075](https://avatars.discourse-cdn.com/v4/letter/p/cdc98d/32.png) [@Peter2075](https://forum.core-electronics.com.au/u/Peter2075)\
**Post date:** [11 March 2025 06:16 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039/3 "2025-03-11T06:16:23Z")

</div>

Hi Zach, thank you for the reply. The issue i seem to be having is finding the default SPI pins that Arduino uses. From what i see, the SPI bus can be set up on a selection of deferent pins which makes it very flexible but also difficult to find the default pins used by a given compiler.  
Regards

---

<div class="post-metadata">

**Author:** ![Jeff105671](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/jeff105671/32/3729_2.png) [@Jeff105671](https://forum.core-electronics.com.au/u/Jeff105671)\
**Post date:** [11 March 2025 07:12 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039/4 "2025-03-11T07:12:48Z")

</div>

It’s not the compiler that assigns defaults for the Arduino IDE - it’s the Board that is selected. To find the default pins for the Arduino IDE select the Board you intend to use and then run a simple program that includes the SPI library and print the values of the pins.

```auto
#include <SPI.h>

void setup() {
Serial.begin( 9600);
Serial.print("MOSI "); Serial.println(MOSI);
Serial.print("MISO "); Serial.println(MISO);
Serial.print("SCK "); Serial.println(SCK);
Serial.print("SS "); Serial.println(SS);
}

void loop() {
}

```

---

<div class="post-metadata">

**Author:** ![Peter2075](https://avatars.discourse-cdn.com/v4/letter/p/cdc98d/32.png) [@Peter2075](https://forum.core-electronics.com.au/u/Peter2075)\
**Post date:** [11 March 2025 09:28 UTC](https://forum.core-electronics.com.au/t/rp2040-zero-default-spi-pins/22039/5 "2025-03-11T09:28:42Z")

</div>

Thank You Jeff105671, that was what i needed. Was not aware of such a thing until now.

Regards
