Do you know if its possible to drive a LCD panel just using the digital outputs of a MCU ?
I don’t mean a panel with a dedicated controller IC, I mean a raw LCD panel ?
I have a cheap alarm clock, which has a nice bug LCD display, and I was wondering if it was practical to drive it directly, but I have a feeling it needs AC.
I guess if its got a common and a load of signal rails, I could drive the common with one GPIO and the signal rail via separate GPIO and generate some sort of AC voltage
But perhaps there is something else I need to do that makes this impractical without custom hardware ??
I played years ago with one kind of these and found it difficult to work out pinout and it was very sensitive, lighted up when touching pins with bare hands.

Individual LCD segments, driven by a blob IC on a PCB
[dave j – Sat May 05, 2018 9:23 am] –
Dave Jones has recently done a series of videos on LCDs. Here’s the one on driving static LCDs which explains how you get round needing AC signals. Looking at your picture, it looks like there will be some sort of pin multiplexing involved.
Thanks. I’ll take a look
Thanks,
I got the impression that I may be able to do it by using 2 pins per LCD segment.
I will need to do some experiments with this clock.
It only cost $7 AUD, which is under £4 UK.
I was hoping that it would use something like a STM8, but when I took it apart, I was a little disheartening to see a blob chip on the OCB, and about 30 tracks going to the disolay.
It’s also a little disappointing because the background of the display is black, and the segments turn white ( reflective) when energised. So it’s a bit hard to see unless in fairly bright light
Anyway. The first job is to look at the traces using my scope, and see if I can figure out which line drives what, as the clock is still fully functional at the moment.
Some months ago I found an 8 digit for less, but is currently unavailable…
I think it would be good if we can directly drive LCD displays like that, or preferably bigger displays, because they take far less current than the backlit panels, and they are visible in daylight
I think it would be good if we can directly drive LCD displays like that, or preferably bigger displays, because they take far less current than the backlit panels, and they are visible in daylight
Btw.
I see there are some other displays on AliExpress, e.g.
https://www.aliexpress.com/item/with-UN … 18252.html
For slightly more that have their own controller
But the that disolay costs almost as much as the whole clock I bought
The trick is to use tristate and a resistor divider to generate the three or four backplane waveforms for most multiplexed displays. The signal at the intersection to activate a segment is always AC, It can never be DC or the display will fade away and die.
Somewhere I still have the article, which explains how to control these generically. I have the print copy at hand on the chair next to me as I was helping someone with a complex Yamaha display on AVRFreaks. The project inspiration came from Jan 9,2003 EDN “Embedded Processor directly drives LCD. looks like it can be found at this link https://docslide.com.br/documents/edn-d … -2003.html You may have to arrow ahead to page 4 for it. The author is Daniel Malik, Motorola, Czech Republik.
Here is an old shot of my implementation of it.

- operational.JPG (127.07 KiB) Viewed 633 times
[RogerClark – Sat May 05, 2018 9:41 pm] –
Hi AndyThanks,
I got the impression that I may be able to do it by using 2 pins per LCD segment.
You may get away with fewer pins and some clever multiplexing, take a look at Dave’s video.
I will need to do some experiments with this clock.
It only cost $7 AUD, which is under £4 UK.
I was hoping that it would use something like a STM8, but when I took it apart, I was a little disheartening to see a blob chip on the OCB, and about 30 tracks going to the disolay.
I hacked a couple of similar Ikea and noname brand alarm clocks a while back to use as camera triggers, they all seem to have the ubiquitous black blob for brains. Obviously different manufacturers use different brains, but the basic design is the same.
It’s also a little disappointing because the background of the display is black, and the segments turn white ( reflective) when energised. So it’s a bit hard to see unless in fairly bright light
Some of these displays have a separate polariser, if so, grab the polariser from an old LCD monitor or laptop display and cut a couple of rectangles of a suitable size, one with the longest dimension in the vertical plane, the other horizontal. That way you can swap from black on white to white on black simply by sapping polariser. Alternatively, drive the signals in the opposite phase to the ones you measure from the current COB on your scope, I think that will invert the display. I know this can be done in software, as one of the clocks I had could do so.
Anyway. The first job is to look at the traces using my scope, and see if I can figure out which line drives what, as the clock is still fully functional at the moment.
You may find this of interest. => http://mrmodemhead.com/blog/fluke-8020a … placement/
Surplus displays can be had for very cheap. => https://www.ebay.co.uk/itm/LCD-display- … 1438.l2649 in a breadboard friendly through hole package.
.. or you could re-purpose one from $2 multimeter.
Thanks for your suggestions.
Its Sunday evening here (UTC+10) so I don’t think I’m going to get time to look at this again until next weekend, apart from possibly prodding around with my scope.
Re: Connecting to the display
I was intending to scrape the insulation from the tracks on the PC and solder some small wires to them.
I’m actually beginning to wonder whether its worth the effort, but I’ll see how I go with this.
Then you just have a ticker inverting the port @10Hz, let’s say you want all traces ON, you put the port like 01111111
You need to invert pins @ 10hz or more
µC PORT 7SEGLCD µC output initial word inverted
_bit7____| COM _|""|_|""|_|""|_ 0 1 clock
_bit6____| A ""|_|""|_|""|_|"" 1 0 ON
_bit5____| B ""|_|""|_|""|_|"" 1 0 ON
_bit4____| C ""|_|""|_|""|_|"" 1 0 ON
_bit3____| D ""|_|""|_|""|_|"" 1 0 ON
_bit2____| E _|""|_|""|_|""|_ 0 1 OFF
_bit1____| F _|""|_|""|_|""|_ 0 1 OFF
_bit0____| G _|""|_|""|_|""|_ 0 1 OFF
it is pretty easy to drive the static ones.
for those with multiplexed com pins, you will need to generate bias voltage and that can be a challenge – doable but not as straight forward as the chips with built-in drivers.

![[Pending Enhancement] RTC values resetting](https://sparklogic.ru/wp-content/uploads/2019/11/nucleo-l476rg-zestaw-startowy-z-mikrokontrolerem-z-rodziny-stm32-stm32l476-90x90.jpg)