Display problem

edited October 2015 in Troubleshooting
Hi
Just built an LXR for a friend (my 3rd) and I have a display problem. I have looked at the various threads but nothing quite matches my problem. The LXR boots and run perfectly...normal function...  making all the right noises. When the screen works, it is exactly as expected. However 9 boots out of 10 it shows rubbish. I tried re-flashing the firmware with the latest release and it does this perfectly every time with a clear display saying all the right things. But re-boot and we are off again. I removed the brain module and the rubbish still comes up on the display... so I discounted the SD card (tried 4 anyway). Re-visted my soldering and can see no problems. Re-flowed ATMega and display pins. Checked crystal and caps. Any thoughts? I don't think it can be a soldering error as surely I would have rubbish when I re-flash the chip? As I say that runs perfectly. Faulty ATMega? 
Thanks in advance for your help
Paul

PS Tried various power supplies with beefy capacity. All voltages correct

Comments

  • I should also say that when I get the rubbish display, I do initially get a brief flash of normality where the LXR announces the firmware version in beautiful clear writing. Lasts maybe half a second then rubbish. Sounds like the infamous ATMega re-boot?  But why?!!

  • Bumping this. Can anyone help?
    Cheers
  • the rubbish on the display as well as interchanged display rows are normally a sing that the AVR is rebooting.
    It seems the normal LCD init routine does not work perfectly for OLED displays. So when the AVR reboots without a proper power off to the display, it gets re-initialized which results in garbage on the screen.

    But as you state you have already tried what my initial thoughts would have been (other PSU, reflow AVR, check voltages, check XTAL.

    As the software goes the bootloader uses the exact same LCD routine as the main firmware so there should be no difference here, too... :-?

    As far as a damaged AVR goes, I think we can rule that out as I test all AVRs and mainboards here before shipping them (that is powering them up in a LXR machine, test the menus, test the audio output and the sequencer, use the bootloader to upload the firmware).

    Besides the garbled screen, is the LXR working as intended when the screen is garbled (sequencer able to run?)

    I'm currently doing some research to find out if thee is a possible software fix for the init problem, but I think this would only heal the sympgtons and not fix the cause in your case. When it is booting correctly, does it run stable and without hickups? Or does the screen get garbled after a while, too. Have you whitnessed any crashes while it was running? (shows splash screen again, sound settings lost in the menus...)

    I think a little bit about it what could cause this.

    still, maybe you could also check the reset resistor (r6, 10k) below the AVR and c7, the 47nf capacitor. Pin 9 on the AVR should always be 5V. A cold solder joint here could reset the AVR.
  • Hi Julian
    To answer your questions:
    1. Even though screen is garbled, LXR seems to be fully functional (I've built these before). The LED chase works, I can program patterns on all voices and turning the knobs alters the sound of each voice when selected.
    2. Today I cannot get the screen to boot normally at all. I still get the half a second of "Sonic Potions" announcement perfectly then garbled rubbish. I re-flashed again and the screen is clear and normal during the process. A slight difference today... sometimes the garbled screen only lasts a second or so then goes completely dark... but the machine still operates correctly in terms of LED's and sound. I didn't have this yesterday.
    3. Yesterday when I got the screen running properly, it just kept going normally. No crashes, no garbled stuff.
    4. I re-worked all components around AVR, including that capacitor...it has a wider pitch and I made sure it was connecting properly. Will re-visit pin 9 and R6
    Thanks for your help!
    Cheers
    Paul
  • R6 correct and re-soldered. Pin 9 is a solid 5v.
    Could it be the display behaving out of spec?
    Cheers
    Paul
  • edited October 2015
    hmmm I have really no idea what could cause the AVR to reset.
    In the end it only needs power and GND on 2 pins each, the 5V on the reset line and the XTAL connected to properly run...

    But as it seems it is a single occurance during the boot process I dug a little bit into the code.

    The init routine seemed to be completely up to spec according to the new haven and raystar (the ones I use) datasheets. I even compared the routine with the mutable one and a library from a microcontroller site.

    I found a few timings that were off, but even increasing them had the same results.

    On the other hand I found lots and lots of the same garbled screen problems in the arduino and raspi forums.

    So I played a little bit with the initialisation, and it seems when I issue an additional "Display Off" command, before sending the "Display On" command, the screen isn't garbled after a soft reset anymore. :)

    I tried it using the reset pin on the AVR, and even after 10 successive resets the sreens keeps working.

    So you could try the new firmware version from github:
    https://github.com/SonicPotions/LXR/blob/master/firmware image/FIRMWARE.BIN?raw=true

    This should at least prevent any garbage on the screen.
  • Looking good... a normal screen. I can see the extra display off/on as a flicker at the beginning. I will do more boots to check and make sure it doesn't crash after running a while. Will report back later. Thank you for coming up with this... it's looking like the solution
    Paul
  • Yep, performed about 20 start ups now and screen always ends up OK. I'm leaving it on now for an extended period to check no crash. Would love to know why this build is different to normal!!
    Paul
Sign In or Register to comment.