Photon Pin-Out Preview

EDIT: Added the newer, more correct version of the Photon pinout

Hi everyone! We had some questions about what the pins on the Photon were. This is a reference card we are including in the Photon Kit that should provide some detail.

Let me know if you have any questions!


Thanks for the diagram. This is very useful.

One very basic question, could you tell me what is the difference between SPI 1 and SPI 3?


There should not be a big difference for the purposes of the Photon. SPI1 will work with SPI.begin() and SPI3 will work with SPI1.begin()

Is SPI3 faster than SPI1 or does it have the same performance?

No, they should operate exactly the same in this case.

Got it. Thanks!

Two questions pls:

  1. What is wkp-A7 pin: wake up pin?
  2. How many variables/functions does Photon support?


@tdphan, wkp-A7 is really two functions. The first is you can use this pin as an analog pin A1. The second is wkp which is the wakeup pin for the STM32 processor. One low power mode for the processor is STANDBY which can only be awakened using the wakeup pin. I described the low power modes for the Photon on this thread:

1 Like

I don’t see the serial2 in the diagram!
Will it be the same functionality as with the Core? (To be enabled via software)

@peekay123: thank you for your post. With Core we have to update bootloader to get DEEP_SLEEP works. What about Photon?

No need on the Photon :smile:

The 3V3* Spark (output) pin is changed to Vbat (input) in Photon.

What is the function of Vbat?

In Spark what is the difference between 3V3 & 3V3*?

So 3v3* on the Core is a filtered 3v3 output for voltage sensitive devices.

That is no longer available on the photon. Vbat in this case is the Pin used to supply power to the STM32F205 in deep sleep to retain information (in ram).

This means that your device can enter deep sleep and draw super minimal current (uA i think) for cases where you demand such power saving.

The other sleep mode would be to simply turn off the WiFi module and enter sleep.

Probably didn’t explain it that well but you get the idea :wink:

1 Like

@kennethlimcp, @pteja, I discussed the function of VBAT here:

VBAT is not related to deep sleep. Instead, it is used while the power to the Photon is disabled. :smiley:

Please confirm which pins on the Photon are 5 volt tolerant. Also, please indicate which pins can be used as interrupts. I need this information in order to port my current project from Core to Photon.

I am currently needing 5 volt tolerant interrupts on Core D3 and D4.

So, there will be no Analog 6, but there will be one additional Analog input?

I am in the middle of making a core PCB, and I should work on making it compatible with the photon.

All GPIO pins except A3 and DAC are 5V tolerant (when not in analog mode), if used as a 5V input the pull-up/pull-down resistor should be disabled.

As for which pins are supported for attachInterrupt() I’m going to ping @satishgn on this. It’s not clear from the code what pins are supported, but I’d say most of them should be. There’s bound to be one or more that are not supported.

WKP is where A7 is on the Core, and does also support analog input. RX, and TX also support analog input and will be dual mapped as A8 and A9 respectively. You could access them with analogRead(RX) or analogRead(A8).

Hope that helps you along!

Again: Will there be a 2nd UART Port (serial2) like on the Spark??
This is pretty important for me, because I’m currently developing a device that will exchange data between two serial devices and not having a second UART would be pretty much a show stopper…

Yes there will be :smile:

There’s always software serial if you need :wink:

I know this might be a little off topic, but the Photon has castellated edges. Is there a template for Eagle where you can then solder the Photon directly onto a board?

I looked here:

But I do not see a template for the Photon for use with the castellated edges.

I’m still fairly new to EAGLE, so it might be me just over looking it…