LCD Suddenly Quit Working


 

Darren C.

TVWBB Pro
My LCD spontaneously stopped displaying data. It had been working fine. I don't know if this is relevant to the issue, but I have been leaving the HM plugged in lately while doing test runs to get my PIDs tuned. So, it was already plugged in when I decided to use it on a cook yesterday. At the time, the LCD appeared to display correctly, but it didn't respond to button presses. So, I thought the Pi had just locked up and decided to disconnect and reconnect the power. From that point on, nothing displays on the LCD. However, I am able to log in and control it headless.

So, I took it apart and tried adjusting the contrast. I could get black bars, but still no data. Does this sound like a software or hardware problem? Any ideas on what might have caused it or how to isolate it?
 
Last edited:
Here is some troubleshooting I did when my LCD cut out: https://tvwbb.com/showthread.php?70029-Screens-Gone-Blank
Although if you can adjust the POT and get a response it is a different issue than what mine was, but some of the troubleshooting might help. Yours sounds like maybe a reinstall could help but cant say for certain.

Thanks. I searched several ways on the forum before posting but couldn't find anything similar. I will go through that thread.
 
Here is some troubleshooting I did when my LCD cut out: https://tvwbb.com/showthread.php?70029-Screens-Gone-Blank
Although if you can adjust the POT and get a response it is a different issue than what mine was, but some of the troubleshooting might help. Yours sounds like maybe a reinstall could help but cant say for certain.

I tried following the troubleshooting steps in your link as well as I could. As far as I could tell, mine checked out. As a result, I decided to attempt the software approach. When you say "reinstall", are you referring to a new SD image or AVR flash? I tried updating the Heatermeter software on the AVR Firmware tab of the GUI. I tried installing both the online version and the HM.hex in /lib/firmware. I both cases, I got "AVR fuses ERROR". I wasn't sure if this firmware was even the correct software that I should be attempting to reinstall. I don't quite understand which software is responsible for controlling which parts.

I found these threads:
https://tvwbb.com/showthread.php?67...terMeter-Board&p=747986&viewfull=1#post747986
Bryan says, "If it says "AVR Fuses ERROR" then that means that your heatermeter board isn't working at all so it is time to start probing around with the multimeter."

He suggested reflashing the Pi image. But, before I do that that and get my wifi screwed up (this is an A+ and there is no ethernet port - so it's difficult to configure), I wanted to make sure that this was a possible solution.

And, per Steve_M's advice in the second thread, I tried the command via ssh.
https://tvwbb.com/showthread.php?64...nd-Appreciated&p=712519&viewfull=1#post712519

Here's the result of this, but I don't know what to do with this information:

BusyBox v1.26.2 () built-in shell (ash)

_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Reboot (SNAPSHOT, r3799-13006712ea)
\________\/ -----------------------------------------------------------

root@OpenWrt:~# hmdude -v -v -v -v -b 128 -P/dev/spidev0.0
hmdude: compiled on Apr 16 2017 at 13:33:06
Using port: /dev/spidev0.0
can't open SPI device
 
Not sure what changed in lede, but you need to run this command before running hmdude:

insmod spi-bcm2835

Code:
root@OpenWrt:~# insmod spi-bcm2835
root@OpenWrt:~# hmdude -v -v -v -v -b 128 -P /dev/spidev0.0
hmdude: compiled on May 13 2017 at 18:18:18
Using port: /dev/spidev0.0
SPI speed: 128 KHz
spi(ac, 53, 00, 00) = 00 00 53 00
AVR programming mode set
spi(30, 00, 00, 00) = 00 30 00 1e
spi(30, 00, 01, 00) = 00 30 00 95
spi(30, 00, 02, 00) = 00 30 00 14
Device signature: ATmega328
spi(50, 50, 00, 00) = 00 50 50 ff
Low: 0xff spi(58, 08, 00, 00) = 00 58 08 d7
High: 0xd7 spi(50, 08, 00, 00) = 00 50 08 fd
Ext: 0x05 spi(58, 00, 00, 00) = 00 58 00 ff
Lock: 0x3f

You can also try running avrupdate

Code:
root@OpenWrt:~# avrupdate 
Stopping LinkMeter OK

LinkMeter platform is BCM2708
Loading SPI modules...
AVR fuses ffd705 OK

Starting LinkMeter OK
 
Last edited:
Thanks Steve. Now get this:

root@OpenWrt:~# insmod spi-bcm2835
root@OpenWrt:~# hmdude -v -v -v -v -b 128 -P /dev/spidev0.0
hmdude: compiled on Apr 16 2017 at 13:33:06
Using port: /dev/spidev0.0
SPI speed: 128 KHz
spi(ac, 53, 00, 00) = 00 00 00 00
Can't set AVR programming mode (0x00)
 
I'm still looking for a fix for the LCD. I don't know if I should be focusing on hardware or software. It's gotten a little sideways because I am running into AVR errors with flashing. But, my main goal is to just the LCD working. So, is it even possible that the two issues are related?

I've searched the forums and found similar flashing issues. But, I'm not sure how they were resolved. There's this thread where you (Steve_M) were seeing the AVR Fuses problem. And, I see this comment where Bryan showed the places to check continuity. It was a 4.0 or 4.1 board, I guess. But, I think was able to successfully transpose it for the 4.3 to verify that I had continuity at each location. This comment suggests that replacing my Pi might be the solution.

Any suggestions what to try next? Would it be reasonable to check voltages per the github wiki?
 
It is definitely a hardware problem.

If you're getting the AVR Fuses: ERROR that means one (or more of):
  • You don't have 3.3V and GND at the VCC, AVCC and GND pins on the atmega. RST should also be 3.3V (but not when it is flashing).
  • One or more of the pins between the Pi and the atmega are not connected, or shorted to each other: MOS, MIS, SCK, and RST on the atmega is connected to G25 on the Pi. Make sure that none of the neighboring pins on the Pi connector at that end show continuity to each other.
 
It is definitely a hardware problem.

If you're getting the AVR Fuses: ERROR that means one (or more of):
  • You don't have 3.3V and GND at the VCC, AVCC and GND pins on the atmega. RST should also be 3.3V (but not when it is flashing).
  • One or more of the pins between the Pi and the atmega are not connected, or shorted to each other: MOS, MIS, SCK, and RST on the atmega is connected to G25 on the Pi. Make sure that none of the neighboring pins on the Pi connector at that end show continuity to each other.

Sorry it has taken me so long to get back to you on this. I was a little confused by the instructions so I wanted to wait until I had plenty of time to be thorough and follow your advice as carefully as I could. I started out by cleaning the HM board with denatured alcohol and a toothbrush and gave it a good scrubbing. I hope this is all clearly written and not too hard to follow.

TESTING VOLTAGE

GND->VCC 3.26v
GND->AVC 3.26v
GND->RST 2.73v

TESTING CONTINUITY
I tested continuity with and without the Pi mated to the HM. I checked continuity between the Pi pins and the ATMEGA at MOS->MO, MIS->MI, SCK->SCK and got 0.0 on all 3. I also tested all combinations on pins at the end of the Pi connector to other pins on the Pi including GND, SCK, MIS, MOS, 3V3, CE1, CE0, G25, GND, RST. I got 0.L (no short) on most all combinations. Here are the exceptions:

o with the Pi mated, I got 0.0 ohms between SCK->MOS
o without the Pi mated, I measured 0.L between SCK->MOS
o with the Pi mated, I measured 0.L between MIS->MOS
o without the Pi mated, I measured 0.L between MIS->SCK

I have a pi3. Do you think it would be worthwhile to overwrite my SD card with a new Pi3 image and try the Pi3? My only hesitation with that is that I have had difficulty getting my A+ connected to my 10.0.0.0 network, even when configuring it in config.txt. But, I will try it if you think it would be diagnostic. Or, if I need to start replacing parts, I can do that.

Thanks
 
I'm not a programmer, so nothing else in this thread makes any sense to me. The display is $11 from Mouser and elsewhere. My first action would be to replace it. Just a thought.
 
o with the Pi mated, I got 0.0 ohms between SCK->MOS
Unless you meant to type 0.L, there's your problem right there. If it shows disconnected when the Pi is not plugged in, but a short when it is. There's nothing I can think of that would cause that (maybe pushing the Pi's pins in is crushing some debris in the connector causing a short?) but flashing the AVR and the LCD display won't work properly as long as the two pins are not independent. I assume you did this check with no power connected? I don't think it makes a difference but continuity should always be tested while not powered.

@Darren L: It isn't an LCD issue, so swapping that out wouldn't make a difference, it is that the SPI bus isn't controllable by either the Pi or the AVR so nothing can communicate on it.
 
Unless you meant to type 0.L, there's your problem right there. If it shows disconnected when the Pi is not plugged in, but a short when it is. There's nothing I can think of that would cause that (maybe pushing the Pi's pins in is crushing some debris in the connector causing a short?) but flashing the AVR and the LCD display won't work properly as long as the two pins are not independent. I assume you did this check with no power connected? I don't think it makes a difference but continuity should always be tested while not powered.

@Darren L: It isn't an LCD issue, so swapping that out wouldn't make a difference, it is that the SPI bus isn't controllable by either the Pi or the AVR so nothing can communicate on it.

Yes. I am checking continuity without the power plugged in. Also, I just confirmed it. SCK->MOS is shorted when the Pi is mated and not shorted when the Pi is disconnected. So, I tested the Pi pins without the pi plugged into the HM (and no power). Those pins are shorted.

Does this mean that my Pi is bad? Is it time to buy a new Pi? As mentioned, I have a Pi 3 that I could use to test with, if you believe that it is worth the effort.
 
Yeah I would try the different Pi, because I've tested all models of Pi I have sitting around here (A, B, B+, Pi2, Pi3, Zero, ZeroW) and none of them show continuity between the SCK and MOS pins. I'm not sure why it would be working then suddenly develop a short for you though.
 
Yeah I would try the different Pi, because I've tested all models of Pi I have sitting around here (A, B, B+, Pi2, Pi3, Zero, ZeroW) and none of them show continuity between the SCK and MOS pins. I'm not sure why it would be working then suddenly develop a short for you though.

Holy crap!! Thanks again!! The Pi was the problem. I have my LCD back. I can tell that my HM config settings were retained. But, I am not able to get connected to wifi yet. I set them in the config.txt. Maybe I had a typo. I'll keep playing with it. There are plenty of threads on that if I run into trouble. I'm sure I can figure that out. One thing that I noticed is that every time I plugged in the A+, it beeped. The Pi 3 doesn't beep every time I plug it in. I wonder if that it an indication that the A+ had an issue. I just assumed it was normal to beep every time.

If you have any interest in doing postmortem on the A+, I'll send it to you. It does work, just not for this purpose.
 
Last edited:
SOLVED:

After fiddling with the wireless on my pi3 all day on Sunday, I came to the conclusion that the wireless hardware simply wasn't functional on my pi3 because it could never find any wireless networks when scanning through the GUI. So, I ordered a couple more pi3's. I just got them in and plugged one in and Whalah! Problem solved.

So, as if wasting a bunch of time and effort on a broken A+ wasn't bad enough....

Anyway, I wanted to post a follow up for anyone interested. And, thanks again for everyone's help.
 
Well that is all crazy stuff. I've had at least a dozen Pi and only one had a single bad GPIO on it, although I just assumed I did something to break it along the way. Unusual that you'd end up with TWO Pis with issues back to back like that. Great work solving your problem!

I would like to look at that A+ but I am certain that anything wrong with it would be beyond my amateur ability to diagnose so it would end up being me just poking around on it with the meter and scratching my head for an entire evening. Very generous of you to offer though!
 

 

Back
Top