Display corruption after a few minutes

edited January 2014 in Troubleshooting
I recently completed my LXR. It sounds great, and learning it has been a ton of fun, but I've run into a bit of a problem with the display.

After using the LXR for a few minutes my LCD seems to get corrupted - lots of garbage on the screen. Moving knobs and changing parameters changes the garbage on the screen. Everything else keeps working 100% - I can modify all the parameters and hear the results.  The corrupted screen will even tick over into screensaver mode if left idle. The display will corrupt itself even if you just press start, program a quick pattern, and let it idle for a while, although sometimes you have to touch a knob first. Besides this, rest of it works great!

It almost seems like the display starts reading from the wrong region of memory because everything else seems to keep working fine - even after 30+ minutes in this state, jumping around menus and inputting new patterns. 

Note: I used my own Atmel ATMega 644A (It's the exact mouser part # in the BOM; not the 644p in the pictures) and flashed it via the ISP with avrdude. I erased the chip, programmed the flash, and sets the fuses. I could not flash the EEPROM with the .eep file from the repository but it didn't seem to make a difference.  I was able to boot it up and re-flash it with 0.27 from the SD Card by holding down the encoder button on startup so it shouldn't have been an issue.

Any help would be appreciated. 

Here’s what I’ve checked so far:
- The power supply: Same thing happens when hooked up to a Linear HP Bench Supply. Draws ~0.2-0.35A (Depending on LED activity) at 9v.
- Re-flashed the firmware from the SD card with the latest 0.27
- Solder joints inspected - No cold joints found. A few suspects were re-soldered.
- All polarized parts oriented correctly.
- All resistor values seem correct and the resistor networks seem to be oriented correctly.
- All ICs are in their appropriate sockets and oriented correctly
- Voltage readings are correct (4.98v)
- No continuity between GND and 5V on the front-panel ISP Header.
- Main  board seems to work when connected over USB (Windows detects a Sonic Potions USB Midi device and USB Composite Device).  A cap (C5) snapped off during shipment but it was easy to solder it back on.

Comments

  • this sounds like either
    - the avr is rebooting
    or
    - the display is not soldered correctlyobklem with the OLED screens is that they show garbled characters if initialized twice. So when the AVR reboots, it will most likely show garbage.

    have you checked the solder joints on the AVR, The quartz and caps around it as well as on the display?
    maybe re-heat them, just in case. sometimes they look good but are faulty nonetheless.

    is the AVR seated correctly in its socket?

    the eeprom is not used, so no need to flash it.
  • edited January 2014
    Julian,

    Thanks for the reply.

    I re-heated and applied a bit more solder to each of the pins of the ATMega socket (with chip removed) as well as the crystal. I also replaced C7, C5, and C6.

    No luck - same thing happens.

    I tried force-resetting the AVR by shorting RST to ground and was able to lock up the display that way, but that garbage was distinct from what I was experiencing - different characters, and they won't change when I modified parameters. The garbled display that occurs after time will change when I modify parameters with the front panel.

    Is there a way to rule out the AVR using just a 2-channel oscilloscope?

    I tried re-heating and re-soldering some of the display joints up top... can't get to most of the ones on the front board. 

    I'm going to try and re-install the display next. I just need to pick up another 16 pin header since I'd rather just cut the thing out than try an ambitious desoldering.
Sign In or Register to comment.