# Do you understand this circuit?

I'm trying to reverse engineer this circuit so that I can use the buttons with a microcontroller.

The problem is with buttons on the left.

Counting from right to left, above on pin 7, I think that's ground (blue connection.)

I don´t understand the difference between press the upper left button and the lower left button.

I also don't understand the purpose of the resistors since the others buttons don't have resistors.

Are the buttons on the right toggle buttons? Pressing the upper one is the same as press the lower one, right?

EDIT1: The board is from a car, so I suppose it's 5V.

I want to use it with an Arduino. I tried to connect pin 7 to GND from the Arduino, and pin 14 to an INPUT_PULLUP, but no luck, voltage from 14 to 7 is 0.2V instead of 5V.

Schematic from what I understand from buttons on left side (upper and lower)

• "Upper left button" and "lower left button". Where are they? In what picture?
– Ilya
Commented Jun 30, 2022 at 9:37
• A very warm welcome to the site. Your question contains no details about what the board is or what it does. Please edit it to add this. Otherwise, answers here are just broad guesses that can't drill into why. Thanks. Commented Jun 30, 2022 at 9:46
• @Ilya the two top left golden circles are one button, and the two below are another. The LED sits between the two buttons. Commented Jun 30, 2022 at 10:00
• @TonyM thank you very much. Edited, hope info is enough. Thanks again Commented Jun 30, 2022 at 10:06
• @StainlessSteelRat yes. Was indicative only, but thanks Commented Jun 30, 2022 at 17:03

Those two buttons on the left are intended to be read using an analog to digital converter. They don't provide a simple digital signal.

There's probably a pull up resistor on another circuit board.

Something like this:

simulate this circuit – Schematic created using CircuitLab

The value of R4 is probably wrong - it is just a place holder value since I don't know what the rest of the circuit looks like.

The ADC can read four values. Each combination will be represented by a different voltage. Using the given resistor values and my assumed value for R4, you would get the following:

• SW1 and SW2 open - 4.7V
• SW1 closed, SW2 open - 1.38V
• SW1 open, SW2 closed - 3.4V
• SW1 and SW2 closed - 1.2

There is a fifth condition: When the button PCB is disconnected from the ADC PCB, then the ADC will see the full 5V. The ADC side might use that to detect when the button PCB is disconnected - or maybe not.

The advantage is that you get two buttons for one pin. The disadvantage is that you need an ADC to tell which button was pressed.

The circuit may have been intended to pull the ADC input up. That depends on whether pin 7 is ground or a voltage source.

The buttons on the right appear to be in parallel. You cannot tell which was pressed. Electrically, they are the same. There may have been one large button with two contact pads there.

• I think you are right!! I will test it at afternoon. Can you please give me your opinion on buttons the right side? Pressing the upper is the same as pressing the lower right? There's no way to differentiate them as there is no resistors (maybe toggle button?). Thanks again Commented Jun 30, 2022 at 10:12

Left buttons are different.

Press one button and current starts to flow via 39 ohms only.

Press another button and current starts to flow via 39 ohms and 242 ohms.

The right buttons are the same.

• Please read my EDIT1. There's no way to differentiate the two buttons at pin 14. Commented Jun 30, 2022 at 10:08
• @JoãoMoreira You are mistaken. The two top buttons and the provide a different resistance between the pins, which can be detected. You can't detect the difference with a digital input, but you can by using an analog input. Please remember you only just asked what is the difference. If you wanted to know how to read the different buttons with an Arduino, you should have asked about that instead. Commented Jun 30, 2022 at 10:21
• Thanks for your answer. The only way I see to differentiate is how JRE said above. But if you know how to differentiate with digital pins, I would like to know how. Commented Jun 30, 2022 at 11:39
• There's plenty of ways to do that. But effectively it requires circuitry to discriminate between the two different resistances and an analog input on Arduino is simplest because it only needs a single resistor to do that. Commented Jun 30, 2022 at 12:22