1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Guide Make your own USB LCD controller!

Discussion in 'Modding' started by ch424, 23 Jun 2006.

  1. Nexxo

    Nexxo * Prefab Sprout – The King of Rock 'n' Roll

    Joined:
    23 Oct 2001
    Posts:
    34,731
    Likes Received:
    2,210
  2. thaimin

    thaimin What's a Dremel?

    Joined:
    24 Apr 2009
    Posts:
    40
    Likes Received:
    1
    Those are all graphic displays, not character displays. They will not work with this system. Crystalfontz has discontinued all OLED/PLED character displays. OSD has discontinued their line as well...

    I believe Matrix Orbital still has some, check them out.
     
  3. dCrypt

    dCrypt What's a Dremel?

    Joined:
    6 Sep 2009
    Posts:
    3
    Likes Received:
    0
    I plan to build your adapter and modify your sources. AFAIK, there are differences in addressing, for example.

    I will keep you posted.
     
  4. Nexxo

    Nexxo * Prefab Sprout – The King of Rock 'n' Roll

    Joined:
    23 Oct 2001
    Posts:
    34,731
    Likes Received:
    2,210
    Ah yes, my bad. Matrix Orbital doesn't have any either, though. Just LCD I'm afraid...
     
  5. gazman321

    gazman321 What's a Dremel?

    Joined:
    6 Jul 2009
    Posts:
    13
    Likes Received:
    0
    Waynneboy, do you have the eagle files/layout for the pcb and parts list for the board you designed (on page 18, the one with no buzzer), that i could have a copy of ? I would love to make another board !

    If you do cold you email them to me please. gazman321@gmail.com

    Many Thanks
     
  6. HellraiserUK

    HellraiserUK What's a Dremel?

    Joined:
    19 Sep 2006
    Posts:
    11
    Likes Received:
    0

    Oh man, I *love* those PLEDs but can't find anyone who stocks them - I don't suppose you have some left do you?

    Cheers

    Hellraiser...........>
     
  7. One~Zero

    One~Zero What's a Dremel?

    Joined:
    9 Sep 2004
    Posts:
    214
    Likes Received:
    2
    Hey Hellraiser,

    Unfortunately, these 4x20 PLED's are no longer made as there was not a high demand for them (that's according to the manufacturer where I was purchasing them from). There was also a design flaw that would display incorrect data in the last characters of lines 3 and 4 (I believe it's shown in a pic in an earlier post). You may still be able to find them here and there from other sources, but it may be that no one really carries them anymore. Very sad, as I too love the look of the display
     
  8. immoral

    immoral What's a Dremel?

    Joined:
    21 Mar 2010
    Posts:
    112
    Likes Received:
    4
    How could I convert an LCD display to use USB? I don't know if it is the same principal. I would like to use an old laptop display as a USB monitor similar to this
    which uses usb for power and video input. Or a guide to achieve this would be helpful.

    Thanks,
    /Dante
     
  9. thaimin

    thaimin What's a Dremel?

    Joined:
    24 Apr 2009
    Posts:
    40
    Likes Received:
    1
    This is likely going to heavily depend on the LCD screen you are using. I believe the most common is LVDS (low-voltage differential signaling), but implementations vary widely for that as well. Another common format is TTL, which also has different flavors.

    I believe these both have a large number of pins (>20) which means you will need a USB chip that has a ton of outputs.

    On the USB chip you probably want to implement Windows SideShow.

    Jeff
     
  10. dado79

    dado79 What's a Dremel?

    Joined:
    25 Mar 2010
    Posts:
    3
    Likes Received:
    0
    desperate

    Hello everybody,
    I really need help: I built my circuit, similar to that one on the first page;
    the differences are basically two:

    1) my pic is 18f4550, not 18f2550;
    2) I am using three buttons, with pull-up resistors, instead of the rotary encoder.

    For this I installed usblcdbutton.hex (I don't remember the post number, sorry).

    My notebook recognizes the device, the first time it installed the driver, and a com port was created (com4, exactly). when I start lcdSmartie (version 5.4) I set matrix dll, COM4, 9600 and a 4x20 lcd (it is mine, hd4470 controller), but it crashes every time.

    So I ask you if someone could post the hex file for pic 18f4550 (with configuration flags, too)with lcd connected to portb
    I have pickit2, I don't want bootloader, please.

    Another doubt: If I open hyperterminal and press any key, should I see anything on the lcd??

    Thanks in advance,
    my next helper!
     
  11. thaimin

    thaimin What's a Dremel?

    Joined:
    24 Apr 2009
    Posts:
    40
    Likes Received:
    1
    I have continually had problems with hyperterminal / SecureCRT. One example that consistently works however is a simple command line (in Windows):

    echo Hello World! > \\.\COM4

    Replace COM4 with whatever COM port necessary. You should see "Hello World!" on the LCD. If you don't there is likely a problem.

    I haven't had any problems with my own HEX file porting between 18f2550 and 18f4550. There is really no difference internally between the two, all commands should be identical. I know that little wire problems can cause huge problems though, so double check all the wires, make sure the ones from the pic to the LCD are not too long and all the same length. The capacitors are also very important.

    If things still aren't working, try using the original HEX and just leave out the buttons (the original circuit works just fine with nothing plugged into the rotary pins).

    As a sidenote, my code works fine without the bootloader, although the circuit is different so you probably don't want to change.
     
  12. dado79

    dado79 What's a Dremel?

    Joined:
    25 Mar 2010
    Posts:
    3
    Likes Received:
    0
    thanks,
    I'll try later!
     
  13. dado79

    dado79 What's a Dremel?

    Joined:
    25 Mar 2010
    Posts:
    3
    Likes Received:
    0
    thanks

    It works!!

    Thaimin, you were right: an LCD wire was bad connected (W/R pin was connected to gnd, for an older application).

    Thanks, Thaimin, and all you have worked at this forum. :clap:
     
  14. puddled

    puddled What's a Dremel?

    Joined:
    20 Apr 2010
    Posts:
    1
    Likes Received:
    0
    Could some one please supply a copy of the source code for the 2550 version.

    TIA
     
  15. almamater

    almamater What's a Dremel?

    Joined:
    25 Apr 2009
    Posts:
    28
    Likes Received:
    0
    Can we use the lcdproc software with this Usb-LCD circuit?
     
  16. eekcage

    eekcage What's a Dremel?

    Joined:
    11 Jul 2010
    Posts:
    3
    Likes Received:
    0
    Hi, <newb alert !Nice forum all

    Hope I'm not digging up old stuff but could somebody advise me on how to change the source code to accept 16x4 lcd? I only use basic but will learn

    I have it working but the last 4 characters (20 - 16) of line 1 displays on line 3 before the start of line 3 and line 4's first 4 chars are blank. This is consistent so I assume its pic code. I've tried every config 4x40-4x16 in LCDSmartie.

    ThxIA

    EDIT: I've dug about the source on coder4life and found in openxlcd.c

    Code:
            // Set data interface width, # lines, font
            while(BusyXLCD());              // Wait if LCD busy
            WriteCmdXLCD(lcdtype);          // Function set cmd
    but am too noob to chase down lcdtype, Keep you posted.

    2ND EDIT:

    Right, I think I've done it. Nothing to-do with the above changed some buffer lengths ect. Would feel a right ninnie if it was lcdsmartie config but I flashed back to the old and the problem came back. Here's my .hex, sorry if the firmware reset screen isnt in the same place, oh and goto position is a little screwy. Will attempt again if anyone wants.

    Thanks to the creator for releasing source.

    :wallbash: cant attach

    4x16_USBLCDfirm.hex
     
    Last edited: 12 Jul 2010
  17. thaimin

    thaimin What's a Dremel?

    Joined:
    24 Apr 2009
    Posts:
    40
    Likes Received:
    1
    The fact that the 16x4 didn't work is interesting. I know many 16x4 use a 20x4 internally and just display the appropriate 16x4. The system actually doesn't even use the display size set by LCD Smartie (LCD Smartie uses a bit internally). Your display must not use this system internally. It should have only required a change to the LCD position (goto) function.

    Also you aren't bringing up something too old. At the moment I am trying to make a new version that supports 40x4 along with the other sizes. I would like to be able to support these smaller sizes without problem as well, so can I see your code? Or at least the changes you made?

    Thanks,
    Thaimin / Jeff
     
  18. eekcage

    eekcage What's a Dremel?

    Joined:
    11 Jul 2010
    Posts:
    3
    Likes Received:
    0
    Hi,

    Just checking before bed and it seems when I set my smartie to 4x20 with my modified crap I get a similar problem as the original firmware in 4x16.

    As I'm just learning C I dont know if this is the part that really effects it as I may have fiddled with something else. In user.c

    ln37
    Code:
    #define BUFFER_LEN 64u	

    Will rebuild this off the original at somepoint soon. Sleepy from solder fumes, knocked up on stripboard because my toners dead in the printer. Add some pictures when finished. Now thinking about a smartie plugin that sends GPO PWM to music beat.

    Can you use 4-bit with 4x40?

    Oh and .. possibly

    ln298
    Code:
    for (j = 0; j < 16u; ++j) {
    :lol:

    Gd'night
     
  19. thaimin

    thaimin What's a Dremel?

    Joined:
    24 Apr 2009
    Posts:
    40
    Likes Received:
    1
    The changes you say should have no effect on the normal display

    This buffer is simply the maximum number of bytes that can be sent to the USB2LCD+ at once from the computer. Less can always be sent (in case of a 16x4 display). This should remain at 80 probably since buffer overrun or deadlocks may occur otherwise.


    That line only effects the boot-up message, and not messages later.

    You said you made changes to LCDGoto? That is probably the important changes.


    Awesome! That would be quite cool! I wonder how well the PWM updating can work with rapidly changing PWM values. You may only want to update the PWM value once every second or less. I didn't develop it to be changed rapidly. Every time it changes it has to do a bunch of calculations to determine the optimal PWM pulse pattern (if optimal patterns are not used flickering on the backlight and contrast occur). Blinks can be done with a rapid on/off of the output.


    4x40 are really just 2 2x40 put together. Each 2x40 can uses the same 4-bit (or 8-bit) interface. There is one additional E (enable) pin. If E1 is on, the first 2x40 is worked with. If E2 is on, the second 2x40 is worked with. Many times for settings both E1 and E2 are on so the two display are in sync with each other. I believe (however have not tested) that each display can have its own independent set of custom characters. After I get the basic 4x40 working I will try to add that feature in.
     
  20. eekcage

    eekcage What's a Dremel?

    Joined:
    11 Jul 2010
    Posts:
    3
    Likes Received:
    0
    Hi,

    Opps keep getting my 4x20 40x4 backwards.... Along the corridor and up the stairs my maths teacher burned into my brain, yet disconnected from my fingers. Think my internal code's been messed with more than this source :D

    Thanks for the diagnosis, heres my goto

    Code:
    void LCDGoto(int col, int row)
    {
    switch (row){
    	case 1 : gototemp=0b10000000; break;
    	case 2 : gototemp=0b11000000; break;
    	case 3 : gototemp=0b10010100; break;
    	case 4 : gototemp=0b11010100; break;
    	}
    gototemp+=(col-1);
    LCDCommand(gototemp,0);
    }
    Think swapped lines 2-4 or 1-3, I cant check as I'm using GPRS/mobile internet.

    If the PWM can be as fast as the contrast/backlight it should be pretty fast. Has anyone else noticed the backlight flickering when contrast is changed? I assume it sends BL+CT together.

    Thanks for the info about 2 enable pins I've just borrowed a 40x4 to muck about with. Will grab a pdf on broadband later.

    At the moment i'd like to mod http://www.waitingforfriday.com/index.php/USB_Performance_Monitor :jawdrop: <--that idea into this.

    Good luck for your modification adventure, Thats all i changed in source. p.s my LCD is http://www.farnell.com/datasheets/355525.pdf
     
Tags:

Share This Page