I have a board, which has some pcb buttons. I want to bypass the buttons and have one of my raspberry pi handle it. Here is a picture of what I'm talking about

enter image description here

I dismanteled this button to test, it's not that one that I ultimately will need to rewire.

As I tested with my multimeter, on the outer ring and ground I have 2.9v, 0v on the inner ring. If I bridge the outer ring with the inner ring, the screen turns on, it works. I have tried to wire the outer rind and inner ring through a push button, it works. Ok, so my next move was kindda easy, try to use the 3.3v on my raspberry to connect to the inner ring... Nothing happens...

Could anyone explain me why? And utlimately maybe how I could achieve that button press through my raspberry. I have tried direct connecting to the 3.3v output and using a gpio.out function to send a short pulse, but it won't work

Thank you for anyone taking the time to read this and answer this surely obvious question

  • \$\begingroup\$ Do both circuits share the same ground? The safest way for your RPi in case you mess something up is using an optocoupler (overkill but safe if you are not sure what you are doing). Drive an LED with an RPi and use the transistor in place of the switch. This way, you don't need to connect the grounds. \$\endgroup\$ – Wesley Lee Feb 3 '18 at 21:57
  • \$\begingroup\$ Thank your for the answer. Well, the board is powered by my rpi, using a 5v and a ground pin... Not sure I understand the led idea \$\endgroup\$ – Psychokiller1888 Feb 3 '18 at 22:01
  • \$\begingroup\$ Oh, nevermind the optocoupler then. I thought it was a battery powered device. \$\endgroup\$ – Wesley Lee Feb 3 '18 at 22:05
  • \$\begingroup\$ Yes it was, but I removed it and connected directly on the raspi \$\endgroup\$ – Psychokiller1888 Feb 3 '18 at 22:07
  • \$\begingroup\$ Probably the inner ring is ground and the outer ring is the actual button signal. \$\endgroup\$ – user253751 Feb 5 '18 at 1:16

From the picture, it is for sure that the pushbuttons are making electrical ON-OFF contact. However, it is unclear which method is used to detect the shorts. It could be some pulses scanning, or else.

Sure way to control such buttons from a microcontroller is to use a low-power (3V) reed relay. Something like this one.

  • \$\begingroup\$ Thanks for this answer. I actually wired the outer ring to the inner ring through a electromagnetic relay, and it works... You think using a reed relay to connect the inner ring to the pi 3.3 volt would work? \$\endgroup\$ – Psychokiller1888 Feb 3 '18 at 22:36
  • \$\begingroup\$ @Psychokiller1888, not sure about inner/outer rings, but connecting reed relay contacts across any of pushbuttons (and driving the coil from Pi GPIO 3v3, 6 mA) will activate the function of that button, while being fully isolated. \$\endgroup\$ – Ale..chenski Feb 3 '18 at 23:00
  • \$\begingroup\$ Ok, I understand I need to use a relay to connect both pushbuttons. I have tried and it works fine, with a seeed electromagnetic relay. You say reed relay and I will need to buy some to create some sort of array as I need to command 8 buttons. As I don't know them I searched a little and came accross this in Switzerland: reichelt.com/ch/en/Reedrelays/SIL-7271-LHR-5V/3/… . Is that what I'm looking for? Looks like it uses 5v (ok on raspi), it's NO so Normally Open, open without current right? \$\endgroup\$ – Psychokiller1888 Feb 4 '18 at 13:21
  • 1
    \$\begingroup\$ @Psychokiller1888, AFAIK, Paspi uses 3.3V GPIO. So it will be very marginal to drive a 5-V coil. Look for a relay with 3-V coil. \$\endgroup\$ – Ale..chenski Feb 4 '18 at 19:45
  • \$\begingroup\$ Actually let it, they do deliver in Switzerland, so I took the exact one you pointed. Thank you so much \$\endgroup\$ – Psychokiller1888 Feb 4 '18 at 19:49

Remote logical emulation of a button-press event is required.

The button is intended to connect two wires, rather than to make a logic (high or low) signal. The button enables a signal applied to one wire be replicated on the other (so, instead of applying TRUE, you want to enable conduction. One way to do this is with an optoisolator (H11F series would work). The GPIO would have to drive the photodiode with circa 5 mA for at least 0.1 second, maybe up to 0.5 second, to ensure that the target device scan of buttons is completed at least once while the MOS output device is conducting across the button wires.

If complete electrical knowledge of the button circuitry is available, one could alternately connect the 'scan' wire as GPIO input, and connect the 'response' wire as GPIO output, but the logic level compatibility and timing requirements all have to be managed first. The isolator approach will work with most systems regardless of power and logic compatibility.

  • \$\begingroup\$ Thank you for your answer. I went for the relay way of doing. When this project is done I will definitly try to emulate using your method, as it might be cleaner \$\endgroup\$ – Psychokiller1888 Feb 5 '18 at 4:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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