OpenSprinkler Forums Hardware Questions DIY Kit Assembly Questions SOLVED! Firmware flash OK, but LCD displays rectangle box & stations not working

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #39742

    thisisit
    Participant

    OK, I built a version 2.2 Open sprinkler. I successfully flashed the firmware 2.1.2 and I also successfully updated the firmware to 2.1.5 vis USB, I can hook up the network cable and I can see it’s IP address in my router’s admin page…. everything looked ok except the following:

    1: LCD second row is empty, first row is rectangle box, exactly like this: https://opensprinkler.com/wp-content/uploads/2015/05/DSC_0518.jpg
    2: Tried to run the test program via web interface, I can see the web interface indicated the running station, but none of the stations were actually on

    What could be the problem?

    I compared my board with the schematic many many times, no problem, also checked connections, no problem….

    I can borrow an o’scope, can anyone please tell me how to trouble shooting?

    thanks

    #39753

    thisisit
    Participant

    I used this fuse setting:

    avrdude -c usbtiny -p m644p -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0xFF:m

    
    avrdude -c usbtiny -p m644p -B 1 -v
    
    avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
    
             System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"
    
             Using Port                    : lpt1
             Using Programmer              : usbtiny
             Setting bit clk period        : 1.0
             AVR Part                      : ATMEGA644P
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :
    
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
               flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
    
             Programmer Type : USBtiny
             Description     : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
    avrdude: programmer operation not supported
    
    avrdude: Setting SCK period to 1 usec
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.02s
    
    avrdude: Device signature = 0x1e960a
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as D6
    avrdude: safemode: efuse reads as FF
    
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as D6
    avrdude: safemode: efuse reads as FF
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.
    
    #39762

    thisisit
    Participant

    From what I found on internet, the default display mode is 1 row, that is why I see 1 row of black blocks. This means the LCD failed initialization. what could be wrong?

    #39766

    Ray
    Keymaster

    How did you update the firmware to 2.1.5? If you did it in command line, there is possibility that you may have uploaded the wrong firmware. Also, when you say ‘none of the stations is actually on’ did you connect actual solenoids to the stations or did you just use a multimeter to measure the output voltage?

    #39768

    thisisit
    Participant

    I updated to 2.1.5 via USB.

    firmware 2.1.2 (direct flash using USBTiny) has the same issue, that is why I updated to 2.1.5, so I don’t think it is firmware issue.

    for second question, I connected a light bulb, I have a OSPi around, when the station is on, the light bulb is on, but the light bulb stays OFF in my OS.
    Could the IO port being damaged? I can borrow a O’scape, how to use it to debug the problem?

    also is there a simple HEX just test the LCD?

    thanks

    #39771

    Samer
    Keymaster

    Just to clarify, the first question was regarding the software not the medium. USB is the only way to update however software wise you may be using our firmware updater GUI or avrdude manually from the command line. If you are using the command line, you have to be sure to download the correct HEX for your hardware version otherwise it will flash and malfunction.

    #39773

    thisisit
    Participant

    Hi Samer:

    I updated to 2.1.5 via USB updater GUI software, so the USB part of the board is work, it can detect the board and update the firmware.

    Also when I turn it on, I see top row are blocks, after a few seconds, the backlight is off (or dimmed), if I press any of the buttons (B1, B2, B3), LCD backlight will go back ON again, so PA port (at least PA0, PA1 and PA2 are working).

    Since CH340 is working (I can update the firmware via GUI updater software), so TXD and RXD is working, which means PD0 and PD1 are working.

    Also, ISP and network are working, which means PB7, PB6, PB5, PB4 are working.

    None of above (CH340, network, ISP) use port C, so could port C being bad? Also PC1 and PC0 connects to EEPROM 24AA02E, so could 24AA02E gone bad?

    #39774

    thisisit
    Participant

    OK, I figured that 24AA02E should be working. Because I can change settings in Web interface, and power it off, then power it on again, the setting is preserved, thus the EEPROM is working.

    #39775

    thisisit
    Participant

    If I updated a corrupted firmware then the Web interface shouldn’t work. Since the web interface works perfectly, so the firmware should intact.

    #39776

    thisisit
    Participant

    For the above analysis, it seems all the ports are working correctly (at least partially).

    I also checked each pin to GND, I found Pin 25 (PC6), Pin 41 (PB1) and Pin 43 (PB3) are grounded.

    PB3 and PB1 are connected to 74HC595D, PC6 is connected to LCD, could these be the problem?

    #39778

    thisisit
    Participant

    OK, problem solved.

    I soldered the EXT header, which shorted AVR’s Pin 25, 41, 43 to GND. These pins are used for LCD and stations, thus caused the problem.
    My existing ATMEGA644P is damaged, (googled, seems if output pins are shorted to GND, they will be damaged).
    Replaced a new ATMEGA644P, LCD is working and stations are working.

    Thanks all!

    #39779

    Ray
    Keymaster

    OK, that’s good to know. Thanks for reporting.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums Hardware Questions DIY Kit Assembly Questions SOLVED! Firmware flash OK, but LCD displays rectangle box & stations not working