Button ADC readings wrong for one (of two) Heatermeters


 

JDBrouwer

New member
In the past few days I've soldered two Heatermeter (v4.3) boards.
One of the two worked as expected. The other, on the other hand didn't. Only the left button works. Any other key does not work individually.
When I combine Up+Right(+Down), I get a right-button response.

Looking at the ADC readings for the buttons of the two boards, I get the following:
BoardUpDownLeftRight
Working1377841174
Not working1086132137

As a electronics-hobbyist, I tried to check the soldering and did not find any major differences between the two.

Question:

Did anyone experience something like this? Looking at the forum (and Google) I couldn't find info about this topic, other than the Basic Troubleshooting for the Heatermeter.
 
Today I soldered another Base Board, with the same result as the non-working board from the initial post.

To clarify my testing so far:
- 3 Base boards were soldered
- 2 LCD boards were soldered

- 1 Raspberry Pi was used to test all boards
- Combinations of boards were tested, where both LCD boards seem to work with 1 Base board
- 2 Base boards give unexpected ADC, but similar readings for the buttons (see first post)

What am I missing here?
 
Both LCD/Button boards work well with one of the Base boards. This made me think the problem is not the LCD/Button board. I'll double check it anyways, thanks!
 
For the working base board, I get a 4.981V reading. For the non-working boards, I measure a steady 4.991V and 4.973V. Not too far of right?

I'm pretty much clueless, since the boards seem to be identical. The components are placed on the right locations. Can it be I screwed a component up during the soldering?

I've tested the three boards with the same (working) LCD board
 
Something else you can try is swapping the ATMEGA between the baseboards and see if the bad readings follow the ATMEGA. If so, then you know the ATMEGA is faulty.
 
Swapping the Atmega unfortunately does not fix it.
There's no way to adjust the expected ADC values in the software, as a workaround?
 
Since all the adc readings are changing but low and you have the 5v going to the buttons, could you have a wrong resistor or bad solder on the 1k resistor R1 on the baseboard. This makes a voltage divider with the pressed button that sets input voltage to pin 23. What is voltage at R1 for each button state? Should 0v for no button, 1.78 vdc for up, 1.02 for down, 0.54 for left, 2.27 right.
 
For both the faulty and the working base board I measure 0V for no button, 0.54V for left button, 2.26V for right button, 1.77V for up button and 1.01V for down button.
 
Well, rules that out. I am no expert in this just looking at the schematic and guessing. You already tried swapping Atmega so that's not it. Perhaps check all the power inputs to Atmega, pins 7, 20, and Aref pin 21. Also check voltage at all analog input pins 23-28 just to make sure they are not out of range (>5v).
 
Thanks again for the suggestion. Looks like we/I found a difference! :)
Below are the voltages of the both boards.
PinWorking boardFaulty board
73.2854.202
203.2874.202
213.2874.202
Inputs 23-283.255~4.160
 
Woohoo, that solved the issue!!
Although the correct part was put in place, it was not working properly. After replacing it with a spare part, that I checked before placing it ;), it works!
Thanks a lot for the help Steve_M and GSpinelli!
 
Last edited:

 

Back
Top