External setup button for Electron

Is there a way to access the setup button using a remote / external button instead of the one on the board? I found a post for the photo (External setup button) but I need the same thing for the electron.

If I can do this, and connect the RST pin to an external button, and use the mirrorTo() function I should be able to control the electron without physical access to the board.


You can’t use the RST button for anything other than RESET.

You can reuse the Setup button for another purpose.

You can also call setup via code.

I don’t want to change the function of the buttons. I want to make them remote so I can get at them without having direct access to the board.

Yes, you can do that without any problems.

You just need a button to that feed those pins to GND to activate them.

Where is the SETUP pin? Which number?

Thanks for the circuit diagram. That is useful. I think the RST pin has an internal pullup but I’ll add the capacitor for stability. I assume the SETUP pin should be the same.

The previous diagram seemed to related to the Photon … see:


when we look at the data sheet for the Electron we don’t seem to see the same / similar description of the buttons. However, it wouldn’t be a stretch to assume that the schematics would be close/identical. If we look at the schematic found in the electron we see the following:


This seems to show that there are two pins of interest to us called SETUP (38, PC7) and RST (7, NRST). However, when I say “pins”, I mean pins exposed by the integrated circuit and not pins exposed by the module. My guess is that RST is exposed as a module pin but SETUP is not. What that would mean is that short of mechanically attaching new wires to your Electron module, there would be no way to use the existing GPIO pins to cause a “setup” button to be electrically triggered.

Good catch.

On the Photon you can get access to the setup pin on the bottom exposed pad of the board.

On the Electron I'm pretty sure you can map the current setup button to an exposed pin of the Electron to achieve the same thing although it's not well documented. See below:

Browsing through the documentation on interrupts I came across the function that I am looking for: buttonMirror(). This should allow me to move the setup button to a remote location.