I've got a project, started 12 lighted and latching buttons in a circle, like a clock. Press a button, the button lights until it is pressed again. I need a second "clock" and if say the 2 o'clock button is pressed on either clock. If this happens then button should light, as well as the corresponding button on the other clock. Pressing the 2 o'clock button on either "clock" would turn off the light.

Since states can change from a second location now in this scenario, the latching switches would need to go and be replaced with momentary lighted ones, and then the logic controlled with an arduino, raspberry pi?

  • \$\begingroup\$ Hello Scottie, welcome to EE.SE! Use an Arduino with some I/O expanders or an Arduino MEGA (because it has more than enough I/Os for that). Its hard to give more detail because your question is quite broad for EE.SE format. You should start something and come back with specific questions. \$\endgroup\$
    – Wesley Lee
    Commented May 11, 2017 at 15:50
  • \$\begingroup\$ Or you could use an arrangement such as this. I just wouldn't do it with mains, but some lower voltage due to safety issues. \$\endgroup\$
    – Wesley Lee
    Commented May 11, 2017 at 15:56
  • \$\begingroup\$ Scottie, you probably should write more about it. @WesleyLee has suggested a classic approach (which I think of as the "hallway solution" using 3-way light switches commonly used in long hallways to allow someone at either end to turn lights on and off.) I think it's a great non-micro approach to things, but it will be expensive and sizeable in terms of wiring and switches. If you are willing to consider a micro and using LEDs, you can even go to the point where the LED itself becomes both the light as well as the switch. (I've done it.) Just a thought. \$\endgroup\$
    – jonk
    Commented May 11, 2017 at 16:23
  • \$\begingroup\$ Definitely going micro with leds. I've already got one of the "clocks" constructed. It's just twelve lighted, latching switches, arranged in a circle on a board. Push the button, the button lights up, that's it. I'm looking to expand that to include a second "clock" and have it set where pressing a button on one clock lights the button pressed along with the corresponding button on the other "clock" \$\endgroup\$ Commented May 11, 2017 at 17:00

2 Answers 2


If I understand your question correctly, you're using alternate action pushbutton switches, with the button lighted in one of the positions. If your switches are double throw, you just have to wire them differently. I'm sure you're familiar with what's called three-way wiring (in the US - two-way in the UK)for house lighting. Stairway lights commonly are wired that way with switches at the top and bottom of the stairs. Toggling either switch toggles the lights. The switches used are all single pole double throw, also known as form C contacts. You can find how to wire them in innumerable places online.

  • \$\begingroup\$ "alternate action" was the key word here. I was failing in my searches because I knew what I wanted, but didn't know what it was called. So I can accomplish what I'm after with a switch like this... mpja.com/SPDT-Push-Button-Switch-Alternate-Action-12VDC-Green/… And they could be wired directly to their counterpart, at least for proof of concept. No logic or arduino needed. Am I thinking correctly? \$\endgroup\$ Commented May 11, 2017 at 16:21
  • \$\begingroup\$ That switch should do the job. Have you found a reference on how to connect them? en.wikipedia.org/wiki/Multiway_switching covers it. \$\endgroup\$
    – user128351
    Commented May 12, 2017 at 2:41

You got the idea down. Replace the push on push off with momentary ones. The leds in a momentary switch tend to have their own independent pins so you can connect them as needed. The rest is done via microcontroller for both the inputs and led control.

Since you need 24 of each, either two microcontrollers that talk to each other, or use Charlie plexing to reduce the number of pins needed.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.