Bring Out Photon Buttons?

Is it possible to “bring out” the Systrm and Reset buttons on the Photom? And how about the LED as well?


Pins controlling the RGB led is available on squares pads located on the bottom.

As for system and reset buttons… I don’t remember seeing an exposed pad but i might be wrong :wink:

Hmm…2 more extra pads on the underside. Let me check…

Oh yes all the 5 pins you mentioned as exposed :wink:

1 Like

Reset is already brought out to a pin.

There are exposed pads on the underside of the module that permit connection to the system button and the RGB LED.

How do you intend to use them ? Curious minds and all :smile:

1 Like

I’d imagine this to be useful if you’re trying to design an enclosed project. Either weatherproof, or otherwise encapsulated, whereby the buttons cannot be reached and/or the LED can’t be seen. You no longer have to fiddle with a light tube to get the LED status, and you could implement reset/mode buttons of your own on the outside of an enclosure.


Putting new LEDs in parallel with the on-board ones might be a little problematic (in various ways depending on how the new LEDs compare with the on-board component) - the pads were put there to improve automated test coverage; but as all good things, they can be repurposed in new and interesting ways :smile:

1 Like

@moors7 got it right. I want to bury a Photon in an enclosure and don’t want to have to disassemble anything if I need to do wifi config on a new network or anything.


I double checked the schematic, and I withdraw my comment about paralleling the LEDs being a problem of any sort.

There should be no problem whatsoever, because the STM32 pins (as opposed to the LED pins) are brought out to the test pads.

Knock yourself out, it should work great :smile:


I know it’s an old thread but would love to find out if anyone has an elegant solution to bring out the Photon buttons and RGB LED for an enclosure?

I am mounting the Photon on top of a PCB with the rest of my circuit (no ground or signals near the wifi antenna). Right now I’m just using headers but I can surface mount eventually.

As such access to the underneath pads of the Photon is a little tricky and space constraint being mounted to the PCB. Is there a suggestion where I can remove the top side buttons and LED, replace with some sort of connector with the same footprint that I can then run a connecting cable to terminate at the enclosure buttons/LED?

Otherwise, thinking of surface mounting the Photon to the PCB? My concern is I could add solder paste to the pads underneath connecting to exposed pad connections on the base PCB…but would that be reliable? Wondering if enough heat will soak up for a good solder connection and without being too high to damage sensitive components?

Thank you for any suggestions!

PS: bottom of Photon PCB exposed pads relevant #26 for setup, and 27/28/29 for RGB LED:

There’s not going to be a “connector with the same footprint” as 2 buttons and an RGB led. You could remove the components and have flying leads to your host board (with/without a connector.)

If you sticking with the header-mounted photon is acceptable, and this is not for any kind of volume production, the approach I would try would be:

  1. Solder 4 flying wires to the rgb led and the mode switch test points on the underside of the photon.
  2. Glue these wires to the photon purely for mechanical stability
  3. Route the wires out from under the photon at the USB end of the board, not the antenna end.
  4. Use whatever connector is most convenient to connect the 4 wires to your host board.

That way, you can still remove/swap the photon, there is just a process for modifying photons to fit your design.

If you need to surface mount the photon on your host board, things get markedly more complex, and a lot depends on your skill/experience and how many units you are willing to sacrifice to get the reflow profile & solder stencil correct.

1 Like

In addition to AndyW’s good advice, I would add:

  • For the LED, consider using a molded plastic lightpipe to put the output of the LED where you need it on your enclosure.
  • For the switches you could use either small holes the user can poke a pencil or pen tip into or
  • Molded plastic button extension that can be built in to or added to your enclosure.

A lot of consumer electronic devices use buttons that are a separate molded plastic part that looks like a hat with stem coming out bottom and some extra hinge material that can be glued or plastic welded up into a match cut-out in your enclosure. Plastic molds are expensive but with 3D-printing you might something elegant and cost effective. Take apart a car electronic fob to see how this works.

1 Like

Excellent, thank you so much!

OK I did a quick test on bringing out the LED (see photo) and will work for a handful of prototypes but not scale-able.

@AndyW I may have to end up testing the stencil/reflow situation. Although my production concept for an early run was to get the host boards manufactured and then drop in Photons as needed until it was proven and not surface mount them upfront with other components.

@bko Yes! That thought escaped me since the enclosure above the board is about 3" away (due to other large components but I’m shrinking it smaller), and for ease of weatherproofing I was going to bring out any external buttons at a 90 degree angle to the board. But now I’m thinking about how I could creatively approach it from a different perspective.
I’ve seen the molded plastic lightpipe but where can I obtain some? (prototyping purposes first, but I assume someone can shape them in bulk for a production run?)

Just another thought
If you are doing some proto PCBs, why not also add some mini SMD PCB breakouts that could be soldered to bottom of the Photon routing the solder lands back out under the device to some through hole solder eyes?
If you make that just narrow enough to still see the solder pads you could solder these quite easily and quickly.
If your PCB is also double layer it’s even easier.

I would use acrylic rod from a supplier like McMaster-Carr. You can heat it up in an oven (it is a bit stinky) and bend it laying on a board while wearing heavy gloves, for prototypes.

For production volumes you can get it cast to almost any shape you like, but molds are expensive. Depending on volume, I would build some sort of bending jig to make them consistent and do them in an oven.

Digikey stocks 615 light pipes, one might get you through the proto process.

I’m sure other suppliers Newark/Farnell/Mouser/(insert your favourite here) have plenty too.

In your photo, I see the yellow wire looking like it is soldered to something on the topside of the photon, was it just easier to do that than use the test pad on the underside that corresponds to the mode/setup button ?

1 Like

@AndyW got some yesterday now that I know what to look for and works awesome. I don’t think I’m even going to bother with shaping it and just bring out the light pipe straight to the enclosure lid.

The yellow wire is actually going to GND pin on the top. I probably could have left it underneath and connected to ground of the USB pad (?) but thought it would be easier to solder to the pin. Now I’ll also mention the RGB LED I had on hand produced colors varying significantly from the surface mount one. I double/triple checked the wiring. But the startup green flash was pink/magenta, and the cyan was also pink/magenta. My next steps if needed are to wire up individual LEDs or only one RGB LED leg at a time. At Digikey I couldn’t find through hole RGB LEDs that had the same specs as the surface mount one.

@ScruffR not sure I’ll need the breakout now for the LED, but may still need to have a solution for the button access (although if everything works smoothly users should not need to access the setup button hopefully). So I’m sure I understand your suggestion, is it something like the mockup below?

Mockup of mini breakout:

Light pipe in action:

1 Like

Yup, that mock-up is pretty much what I thought. You could maybe break out the GND from USB too
Some solder paste and a hot air gun would make soldering a piece of cake

That’s probably due to the fact that the on board RGB is a common anode and yours might be common cathode (or vice versa - not sure :blush:)

Looks nice - if the passive solution works, ship it !

I’m not seeing why you need to manually add a ground wire, that signal is available on 2 pins of the photon that will be connected to your host board anyway, so it seems unnecessary.

Thanks @AndyW ! True! There is no need to add the ground wire for my setup with the host board. However, if I needed to produce the mini breakout adding the ground in that instance could allow me (or others) to use the breakout independently of a host board, but still be able to connect larger/external switches and LED in an enclosure solution.

(For the yellow wire I connected to the GND pin was so I could keep the Photon + brought out LED as one package that I could easily swap on a host board.)

That’s probably due to the fact that the on board RGB is a common anode and yours might be common cathode (or vice versa - not sure :blush:)

@ScruffR Mmm… OK, you are right the surface mount LED is a common anode. So does that mean my external LED’s common pin should not in fact be connected to the GND pin but +3V3 on the Photon (plus obviously I should be using a common anode RGB - if I’m not. I just grabbed one with no specs.)? And if so…then does that have a repercussion on a mini breakout board option since the USB+ connection will be 5V when connected?

You should use the 3V3 output from the photon as the common for the LED, so plan for that both in your prototyping (when you say you don’t have the benefit of a host board) and your host board design.

Caveat: If and only if the LED PWM pins are 5V tolerant, and the PWM pins are configured for open drain output, you might be able to use 5V to supply the outboard common anode LED. You’d need to check both those conditions are true, and then do some testing to make sure it worked as required.

I’d agree with @AndyW to go with the passive solution where suitable and that it would be best to use 3.3V for the breakout, which might not be to complicated if you are able to add a little jumper wire from 3V3 pin top to a through hole on the breakout right next to the respective corner and a second one to attach your LED to.

But I’d also think that the pins should be 5V tolerant ( FT in the STM322xx datasheet p46/178 for PA1,2,3)

1 Like