Large LCD matrix display options?

Hey everyone.

New to electronics, and new to auduino been a rather steep learning curve but I've gotten a good handle on things.... I hope... :p

My first project is reasonably simple. Have an LCD show readings from various sensors. It will be mounted in a car. The sensors will be various temp and pressure.

Few stumbling blocks on the way to the final product. But mostly sorted out..

The thing I'm stuck on is the display I want.

I would like a reasonably large screen. Around the size of an iPhone screen. Which brings me to my next question.

Am I able to use an iPhone screen, or something simalar, htc, samsung etc? Not the touch panel. Just the LCD screen? If so, how complex is it to use?

Or is there something simalar in size that would be easier to use? I'm only looking at the phone screens because they are a great size for what I want.

I don't need the sharpness/resolution that the iPhone, htc etc etc has, but it's the right sorta size. And I haven't found anything that is around the same size.

I can even go to a character LCD. But It needs to be about the same size still.

So any suggestions on using a phone screen like that. Or suggestions as to another screen that's more suitable?

I'm currently using an arduino UNO. But I MAY be updating to a custom built board for the final product. So if the UNO doesn't have the grunt to run such a big screen, what would I need?

Thanks for any help :)

We have recently added support for the DOGXL160

Size is 160x104. With the 4x6 font you should have about 40x17 (=680) characters.


Another possibility might be to use the TV Out library, and couple the output to a small LCD video monitor with composite input; it would be black and white only, though…

I like the screen Oliver posted. Very schmick.

Is there anything else like that?

Thanks Cr0sh but that sounds a little complicated. Trying to keep things simple.

Is there anything else like that?

The problem with displays is that most consumer products use LCDs that need refreshing many times a second. This is done by the more powerful micros in such products, typically an ARM chip. The arduino doesn't have the memory or speed to do this sort of thing. Take the display olikraus posted. At 160 X 104 it has 16,640 pixels. Each one takes two bits of memory so it takes 4,160 bytes of memory to hold the image. This is over twice as much memory as the arduino has for everything. So the way round that is to use an external chip to hold that memory and do the refreshing. This needs to be accommodated on a shield. That is why you can't use just any old LCD display, it has to be compatible with the shield's chip.

There are lots of other shields that do this sort of thing but you will always find people selling "raw" LCDs at a fraction of the price, sadly these are of no use on the arduino.

people selling "raw" LCDs at a fraction of the price, sadly these are of no use on the arduino

I basically agree, but just to clarify this: The DOG series of graphics LCDs has an internal RAM and also an internal controller. Pixels keep there value until a new pixel value is written. But indeed the display memory is an issue. The Arduino Library for the DOG displays uses a small trick and only requires a fraction of that memory. For example for the DOGXL160 display, only 160 bytes are required (DOUBLE_MEM disabled). So there will be enough memory for the application itself.

Perhaps I should also mention, that I am not in any way related to EA. I just find these DOG displays very nice.

Finally I personally would prefer to use one of the smaller DOG displays, which are much cheaper than the DOGXL160.


Ok great. Thanks for the info guys. Learning more and more as I go.

Thanks for the info on how much memory each pixel takes up to control, it's something I hadn't really thought of, but I had been thinking that I would run out of memory quickly with a larger screen.

So going by what you guys are saying. Is that any screen that would be the size that I want, the UNO won't be able to use it. And to get something to do it would be pricey.

Or I can do as grumpy mike has said and use an extra controller with the greater memory. And the UNO just needs to control it, which I assume takes much less memory?

These dog screens have me interested. Olikraus, do you program these screens much the same as you would a screen like the nokia screens that I keep seeing in projects? And are the smaller screens supported?

And if I'm reading your post right, if I put a text on screen, "temp" then those pixels will stay like that until I rewrite over those same pixels? If so, that would mean the amount of memory I would need to refresh the screen would drop considerably?

The DOG graphics displays are DOGM132 132x32 DOGS102 102x64 DOGM128 128x64 DOGL128 128x64 (I have read that this is technically identical to the DOGM128) DOGXL160 160x104

All displays are supported by the DOGM128 library for the arduino, except for the DOGL128 which I do not own, but it probably will also work. All DOG displays include controller with memory and SPI interface.

I hope the programing API is simple: The only addon is the "picture loop" which is required to reduce the local memory.

schmelle2 once had put a video of the library and the DOGM132 on youtube:

This game runs on ALL displays and only requires 8K ROM and 512 Bytes RAM

Perhaps I should also mention that some brave people have created Arduino Shields for some of the DOG displays. Just to mention one thread:,50524.0.html


hmmm... the quote should be corrected. For sure i will not refer to iphone items ;) Correct link is: