LCD display from PIC microcontroller


New member
I'm looking at getting a DEM16217 LCD display for a PIC based project, have read the manual cover to cover and understand most of it - except the funny little graphs, which I think hold the key to what I'm asking....

If I send a set DDRAM instruction via the pins, wait a few u/s then send the character to display, I would expect to see the selected character at the appropriate point on the screen.
Do I have to keep sending this pair of instructions or does the display use "latching" outputs (ie once a character has been set, it does not need to be continuously updated).
I assumed latching outputs since there is a specific instruction to clear the display (whereas if constant refreshing were needed, you could just not send any output for a few cycles and this would effectively clear the screen).

Am I on the right track here?
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.


New member
Well, I got my DEM16217 and powered it up - backlight lit, the top row of characters came on (16xblack squares). And that's about all I've managed to get.
I've tried sending the set up instructions from the PIC with various time delays inbetween, and also tried setting them manually (ie wiring +5v to the necessary pins then tapping 5v onto the Enable pin).

Interestingly, on power on, pins 4 and 12 are high. If I take them to ground (to remove any stray voltage on the pins at start up) then test them again, they still show 4.89V (all other pins - bar 1&2 which are the power supply and L-/L+ for the backlight are at 0.1V)

The tech spec for the lcd is here:

Am I missing something? Has anyone used these (from Maplin UK) successfully?


New member
I have used the oLED display with a PIC and PicBasic Pro. Interfacing was straight forward but the timing parameters were a pain to get right. First nothing on the display, then seemingly random characters. Finally, after increasing the timing delays, success and a beautiful display!

You are correct that the data latches - send it once and the display will retain it until new data is sent.

Good luck,



New member
I was searching google as I just purchased this LCD display from maplins myself.

I have connected

Vdd to 5v,
Vss to ground,
Vo to ground (I got rid of the pot as I do not need maximum contrast)
D0-D3 to GND,
RS to PIC port,
EN to PIC port
D4-D7 to PIC port (4 bit mode)
R/W to ground

My LCD stays blank, no backlight, top row does not activate. Nothing just dead blank. Do I need to connect A and K on the LCD to anything? How did you power up yours, please help


New member
Hi...anyone managed any progress on this as I too have a display from Maplins (well - 2 different ones) and cant make either of them work at all.

I've connected for both 4-bit and 8-bit operation without success, the display remains completely blank no matter what im doing


New member
Back after just 5 years....

I was searching Google just now, looking for a PIC programmer and came across this post. I is one I started many many years ago! Then I noticed that someone quite recently asked if there was any progress.
I took my PIC equipment to France and got help from some techies over there (my search just now was to buy a programmer as I left it over there) and did finally get the LCD display working.

The clue is in the post that says "the top row of characters - 16 squares"
It turns out that I was indeed sending characters to the display, but the contrast was such that they appeared as solid blocks. I can't remember exactly what was involved, but I remember that it involved reducing the contrast - they as if by magic, characters and numbers appeared on the screen.

Once I've got hold of a programmer, I will buy an LCD display for messing about with - post the part number here and I'll see if I can buy the same one. Incidentally, back in the dark ages, I was coding everything by hand in assembly. I've since got hold of a brilliant PIC simulator which uses a form of PICBasic (Google Oshonsoft to find it) which has software-based LCD drivers although obviously I haven't used them for real!

(ps where are you Vitesse? Anywhere near Brighton?)