Serial LCD question

pcoyle

Member
I work in a school and several of the “A” Level students have designed circuits that incorporate the frm010 and serial lcd 16x2 display that have been traditionally bought through the picaxe store in previous years. I see now that while the frm010 is still available, the serial lcd module has been discontinued. I was hoping that you could advise me of an alternative module that could be wired in to the already made pcbs?

pc
 

hippy

Technical Support
Staff member
I believe many LCD and OLED displays with a single-row connector should be compatible with the FRM010 wiring. The connection for AXE133 boards is as follows, and any display usable with the AXE133 should be usable with a FRM010 compatible connector -
Code:
.--------.--------------------------------------------------------.
|  O   O | O   O   O   O   O   O   O   O   O   O   O   O   O   O  |
`--------^--------------------------------------------------------'
  16  15   1   2   3   4   5   6   7   8   9   10  11  12  13  14
  A   K    0V  V+  Vo  RS  RW  E   D0  D1  D2  D3  D4  D5  D6  D7
Actual pin numbering may vary depending on where numbering starts. Some backlit LCD's may have the A and K on the right hand side after D7. They can still be used if the pins are not fitted or fitted pins bent out of the way. OLED displays do not usually have a backlight connection.

The important thing is to ensure the "0V" pin on the board connector aligns with "0V" of the LCD or OLED.

"Vo" is the contrast adjustment pin; not usually used with OLED, but normally not connected on an OLED display board so they can still be drop-in replacements for LCD displays.

The initialisation timing for OLED displays can be slightly different to that for LCD. I recall OLED can be used with FRM010 but cannot off-hand point to any confirmation of that.

The only displays to avoid I believe are those which don't have the same pin sequence or expect the "Vo" voltage to be a negative voltage.
 

pcoyle

Member
I believe many LCD and OLED displays with a single-row connector should be compatible with the FRM010 wiring. The connection for AXE133 boards is as follows, and any display usable with the AXE133 should be usable with a FRM010 compatible connector -
Code:
.--------.--------------------------------------------------------.
|  O   O | O   O   O   O   O   O   O   O   O   O   O   O   O   O  |
`--------^--------------------------------------------------------'
  16  15   1   2   3   4   5   6   7   8   9   10  11  12  13  14
  A   K    0V  V+  Vo  RS  RW  E   D0  D1  D2  D3  D4  D5  D6  D7
Actual pin numbering may vary depending on where numbering starts. Some backlit LCD's may have the A and K on the right hand side after D7. They can still be used if the pins are not fitted or fitted pins bent out of the way. OLED displays do not usually have a backlight connection.

The important thing is to ensure the "0V" pin on the board connector aligns with "0V" of the LCD or OLED.

"Vo" is the contrast adjustment pin; not usually used with OLED, but normally not connected on an OLED display board so they can still be drop-in replacements for LCD displays.

The initialisation timing for OLED displays can be slightly different to that for LCD. I recall OLED can be used with FRM010 but cannot off-hand point to any confirmation of that.

The only displays to avoid I believe are those which don't have the same pin sequence or expect the "Vo" voltage to be a negative voltage.
Thank you for your reply. I have ordered an OLED 16 x 2 which appears, as you say, to have the same pin sequence. I see how I get on with that.
 

oracacle

Senior Member
I don't know if this is any help to you, but I got a couple of back lit LCDs from amazon that are almost a plug and play to the AXE132 firmware. The only extra that need doing the adding of a 10K pot wiring to pin 16 from the ping to the left of the h1 header (pin 15 on hippys' diagram) on the firmware and pin 15 to +v.
They are 1602 Serial LCD Module Display. They are cheap as chips really.

If you do use the AXE132 you will have some extra I/O so an entire project can be build around just that. I have a temperature display with max and min using just the LCD, firmware and ds18b20 and resistor.
 

pcoyle

Member
So - I got the OLED 16x2 display and wired it up.
It is only giving me text on the bottom line of the 16x2 display. The documentation says that jumper 4 (pin13 on the frm010) firmware chip should be left open in order to use both lines, as closing it - joining pin 13 to gnd - will make only one line work.
This is how I seem to have it set up, as pin 13 is unconnected but there is only one line working on the oled display.

Any suggestions of what might be happening?
 

AllyCat

Senior Member
Hi,

The schematic that I found for the FRM010 doesn't show a pullup resistor on any of the "jumper" pins, so maybe the output is "floating" (low). Try connecting a 10k (say) pullup resistor (to the supply rail), or you could just try a PULLUP 128 command in the program (to activate the internal Weak Pullup resistor).

Cheers, Alan.
 

hippy

Technical Support
Staff member
It is only giving me text on the bottom line of the 16x2 display.
There are two possibilities; the FRM010 has not initialised the OLED into two line mode, or the top line is not being written to at the appropriate display addresses, or what is written overwrites the top line . I would guess it's not an initialisation issue as a display initialised as one line usually shows the top line only.

If you have one of the LCD's you were using previously you could use that to see what that does with your current code to check two lines are being displayed. If so, but not with the OLED, it should be possible to solve both of the possible issues.

Perhaps post your circuit diagram and your test code anyway.
 

pcoyle

Member
Not sure how to progress this. I have made some headway.
I am using the LCD command from Circuit Wizard to send the serial command.
The flowchart based program has a pop up for LCD that has line 1 and line 2.
In the pop up there is a check box with "clear screen" that seems to have given me some progress but I haven't had time to work out what exactly is happening.
I can now get text on both lines but further messages seem to appear a little randomly on the display in terms of position.

i'll have to play around with it a little more.

I tried Alan's idea of tying the jumper pin high with a 10k resistor but that didn't cause any changes.
The info sheet provided with the firmware did suggest that an internal resistor meant this shouldn't be necessary though.

Thanks for the answers and suggestions so far.

Definitely moving in the right direction - and I much prefer the look of the OLED screen over the LCD.
 

pcoyle

Member
So - having had a very quick look at it today, I was able to get the text appearing on both lines and where I wanted it to appear. I don't like how I have to make this happen but it's the only way I can see to do it at present.

I seem to have to put in a blank LCD command with the clear display check box selected each time before I display new text.
 

bfgstew

Senior Member
Please post the code you are using. This will help the forum members greatly in solving your issue.
 
Top