Core Electronics Forum

Circuit playground - SPI pin

Hey guys, quick question. Which pin on the circuit playground express is the SPI pin? I want to connect a dotstar strip. I know which pins to use for power, ground and data, but I’m unsure which should be used for the clock (ci). Does it have to connect to a pin with SPI? Which pin would that be? Or can I use any pin so long as it’s defined in the script.

Thanks for any advice.

No SPI pins broken out on the Circuit Playground Classic or Express.

Even the product description doesn’t mention SPI.

In a full-blown SPI system you will have four signal lines:

  • Master Out, Slave In ( MOSI ) - which is the data going from the master to the slave
  • Master In, Slave Out ( MISO ) - which is the data going from the slave to the master
  • Serial Clock ( SCK ) - when this toggles both the master and the slave sample the next bit
  • Slave Select ( SS ) - this tells a particular slave to go “active”

More information on the Circuit Playground here:

Hey Robin, thanks for the reply. I did google circuit playground express and SPI and came across this page.

It does mention SPI, but they’re internal pins, used for flashing apparently. So I was unsure if it had SPI or not.

I guess I could use one of the other digital pins for the clock line.

Thanks again for clearing that up for me.


The SPI functionality is provided by the SAMD microcontroller. If you think you can solder directly to the PCB, good luck to you.

If you think you can write a bit-banging SPI driver for the Playground Express, please post the results here. I’m sure many people will be interested.

I just pointed out what I read smart arse.

The SPI flash is an external 2MB Flash memory chip on the Circuit Playground. The SPI bus is used to access this chip, located between the USB port and the SAMD21 chip. This is where MicroPython is stored, and is the drive that appears when you plug the Circuit Playground into the USB port on your computer.

You do not need SPI to connect dotstar LEDs. If you read the dotstar documentation, you will find it says hardware SPI is handy, but not necessary.

As long as you have 2 GPIO pins, you can use Adafruit’s dotstar library to drive the LEDs.

Hardware SPI support is handy but not required. As long as you have 2 GPIO pins available, you can use Adafruit’s dotstar library to drive the LEDs.

Here’s a link to get you started:

That was very helpful and informative. Thanks for taking the time to respond.