Anyone used this OLED from mdfly?

nbw

Senior Member
Part number: LCD-GR0104L

At a few $ US, it might be quite PICAXE-able. A cute 96x96 display with 65K colours. Wow..
 

westaust55

Moderator
a quick forum search found some mdfly references for their mp3 module but none for OLED modules.

You might need to be brave and be first to use with a PICAXE :)
 

nbw

Senior Member
Famous last words LOL : "How hard could it be?" only 96x96 pixels etc, just like a 16x2 LCD only square-ish, right?? ;-)

I'm going to get some other bits and pieces from that site, so for a fistful of dahhh-lerrrs it may well be worth a go!
 

Dippy

Moderator
Looks a good price.

I have to be blunt; how GOOD are you at reading/translating graphics driver Data Sheets?

I've written a couple of OLED Drivers and GLCD Drivers.
Whilst they tend to have quite a lot in common they can be a pain.
I wouldn't want to see you bite off more than you can chew simply because the display is cheap.
(I've seen exactly the same thing when someone spots a cheap RF integrated device and then gets completely stuck).

I have no doubt you could get something working... eventually, but I suspect screen refresh speed is not going to be a strong point.
If speed isn't important than have a go.
But I reckon you can forget fancy images being easy - as that really is compiled PIC territory.
If drivers aren't your 'thing' then you'll have to get others to do most of the writing for you.

...maybe the simple act of posting it will get Westy interested....
 

westaust55

Moderator
Not at the moment . . . :)

About to start experimenting with a 4D Systems 3.2 inch TFT type LCD display with 320x240 resolution and 65K colours plus 16 on-board bidirectional IO and touchscreen capability.
 

nbw

Senior Member
In the words of Manuel the waiter: "I speak good inglish, I lurn eet from... a booohk" LOL

Blunt is good.

I was thinking for a few dollars and maybe 3-4 hours, if I couldn't get a simple thing on the screen, I'd put it down to experience and a learning bendy curve thing. My thoughts were a 20X2 at full whack, might be able to address numerous 96x96 matrices perhaps in i2C RAM and display them on the screen. A byte also of course for the colour info; 256 colours would be easier than 65K. Refresh wouldn't need to be more than once every few seconds perhaps, of course if it takes 5 seconds to paint the display, that's pointless.

But yes, ton(ne)s of neat stuff on the site, but is important yes for quality sheeted-information data good to careful be important first read before wire connecting.
 

nbw

Senior Member
Not at the moment . . . :)

About to start experimenting with a 4D Systems 3.2 inch TFT type LCD display with 320x240 resolution and 65K colours plus 16 on-board bidirectional IO and touchscreen capability.
Wow! Keep us posted. As a thought, are you going to "axe" it or PIC-ify?
 

westaust55

Moderator
Wow! Keep us posted. As a thought, are you going to "axe" it or PIC-ify?
A start with the 4D Systems uLCD module has been made over the weekend (between other activities such as loading, moving and laying 1 tonne of concrete slabs; fixing the ceiling in a house; visit to local hardware store; and to cemetery – and that was just Sunday - advise just so Dippy notes I was not in front of a PICAXE chip all weekend :D ).

Have a look here for my Sunday efforts here:
http://www.picaxeforum.co.uk/showthread.php?t=16658
 

Dippy

Moderator
I'm not sure why Westy is comparing things here, but apologies if I have got this this wrong.(Though he certainly likes blowing his trumpet :rolleyes:).

Westy is essentially sending serial commands to a firmware chip where all the Graphics controls are done by it written in compiled code by pro writers.
Whereas , NBW is trying to design the drivers from scratch - much harder to do.

NBW, have a think about the structure of your code.
To set a dot you will have to determine X-Y coord, read a block of 8 pixels, bitwise your new dot and then write that block back. x3 for colour.
If you want to try memory mapping via an i2C RAM then good luck.

When I was doing a mono OLED I had enough PIC RAM to memory map and refreshed the OLED memory without read/write bitwising. (The logic was done in the PIC RAM). I could get screen refresh of 250 pages per second using compiled code.
But early tests on a Densitron colour OLED showed I couldn't use that method using a low-cost PIC and speed would go down to 2 or 3 fps.
If I were using external RAM I'd use parallel or, better still, use a dsPIC or similar.

You'll find that a "raw" PIC will be many times faster than an X2. You'll see that even with good code you'll probably have a pretty slow screen refresh for graphics. If you start I2C storage then I reckon it'll drive you nuts.

Good luck, just remember that what you are doing is much more complicated than sending a serial command. (I emphasise this because less experienced people may be viewing this and think "Ooh that looks easy" - it ain't!).
 

nbw

Senior Member
Crumbs, I'm not trying to play movies on the blessed thing. Update at maybe 0.25 - 0.5Hz.

There might be some cunning tips, like knowing which pixels are on to save having to write every single pixel, and you could use one byte to represent three colours e.g. 00-82 dec could be the red channel, 83-165 the blue - then multiply each by 3 on the fly to get around 82 colours.

In about a year, PICAXES will up to a couple of hundred MHz with a couple of Kb memory at least ;-)

Oh alright, point taken. You no fun no more LOL.
 

westaust55

Moderator
Westy is essentially sending serial commands to a firmware chip where all the Graphics controls are done by it written in compiled code by pro writers.
Whereas , NBW is trying to design the drivers from scratch - much harder to do.


Don't disagree Dippy. :D

Good luck, just remember that what you are doing is much more complicated than sending a serial command. (I emphasise this because less experienced people may be viewing this and think "Ooh that looks easy" - it ain't!).
maybe need to check the mdfly datasheets and specs. ;)


When I looked at the controller datasheet for the mdfly gLCD module it does much the same as the 4D Systems module. :eek:


Page 21 covers parallel AND serial interfacing
MPU Parallel 8080-series InterfaceThe parallel interface consists of 8 bi-directional data pins (D0-D7), E (RD#), R/W(WR#), D/C and CS#.
The E(RD#) input serves as data read latch signal (clock) when low, provided that CS# is low. Display
data RAM or status register read is controlled by D/C#.
R/W(WR#) input serves as data write latch signal (clock) when low provided that CS# is low, or CS#
input serves as data write latch signal at rising edge when R/W(WR#) is low. Display data RAM or
command register write is controlled by D/C. Refer to Figure 28 of parallel timing characteristics for
Parallel Interface Timing Diagram of 8080-series microprocessor. Similar to 6800-series interface, a
dummy read is also required before the first actual display data read.

MPU Serial InterfaceThe serial interface consists of serial clock SCLK, serial data SDIN, D/C#, CS#. In SPI mode, D0 acts as
SCLK, D1 acts as SDIN. For the unused data pins, D2 should be left open. D3 to D7, E and R/W pins
can be connected to external ground.
SDIN is shifted into an 8-bit shift register on every rising edge of SCLK in the order of D7, D6, ... D0. D/C#
is sampled on every eighth clock and the data byte in the shift register is written to the Display Data RAM
or command register in the same clock.

It also has a graphic acceleration command set. Page 38 has the commands for drawing lines, rectangles, filled objects, etc. See attached for an extract :)


As per some of my past posts, I have done some more basic drivers in PICAXE BASIC for drawing lines and circles and assorted text styles on a monochrome gLCD.
This thread provides some of the early code:
http://www.picaxeforum.co.uk/showthread.php?t=10014
 

Attachments

Last edited:

Dippy

Moderator
Yes, I know.
I just wanted to ensure people weren't comparing chalk with cheese.
Regardless of accelerator routines it is still miles different.

I have written firmware similar to 4D stuff so I have some idea.
 
Top