Shop OBEX P1 Docs P2 Docs Learn Events
(ObEx)-uOLED-128-GMD1 & uOLED-160-GMD1 objects and video — Parallax Forums

(ObEx)-uOLED-128-GMD1 & uOLED-160-GMD1 objects and video

DufferDuffer Posts: 374
edited 2013-04-10 22:59 in Propeller 1
For those of you that may be interested in including a small color display in you projects or have just been interested in experimenting with small OLED displays, I've posted a new Propeller object in the Object Exchange (4D systems uOLED-128-GMD1), under the Visual catagory. http://www.4dsystems.com.au

The object impliments all of the currently available commands for this 128x128 pixel color display. It requires only a simple 2-wire serial interface (+3.3V, Gnd, Rx, Tx and Reset). The display also includes a uSD (TransFlash) socket and commands to read/write bytes, sectors and do screen capture/playback. All commands for the uSD are fully supported by the object (the uSD card can be used as a data logger or for additional storage in addition to storing graphics images).

This module is different from the older OLED displays from 4D Systems that used flash memory to store images, text, etc. Thus the previously posted uOLED-128 object and demo will not work with these new displays.

4D Systems also has a 160x128 OLED and a 240x320 LCD (portrait)·that use the new embedded processors (GOLDELOX-MD1 and PICASO-MD2). I'm working on finishing Propeller objects and demos for those devices.

The accompanying demo exercises nearly all of the supported commands and is very modular in design so that you can "experiment" with one piece of the demo without having to "play" the whole thing to see the results. Each of the included methods will work stand-alone (see Demo documentation).

I've posted a video of the complete demo on YouTube for those how haven't purchased one of these little beauries. My poor video equipment and poorer skills as a videographer don't do justice to the brightness and clarity of these displays. They have to be seen to be believed.

uOLED-128-GMD1 Demo····· http://www.youtube.com/watch?v=Aty0v51eo8I

NEW - 09/01/07
uOLED-160-GMD1 Demo····· http://www.youtube.com/watch?v=mZtrDVvo7Q4

Enjoy,··· Steve

Edit: Demo and Command Summary attachments removed. All files are now contained in the Zipped Archive·in the Object Exchange (obex) at http://obex.parallax.com/objects/195/

09/01/07 - New object for uOLED-160-GMD1 and demo available in the Object Exchange at: http://obex.parallax.com/objects/198/

09/07/07 - Errors in the connection diagrams of both the 128 and 160 objects have been corrected and re-submitted.



Post Edited (Duffer) : 9/8/2007 12:43:11 AM GMT
«13

Comments

  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-07 19:54
    Steve,
    Sure is a pretty card.
    Specs at Selig say 3.6v minimum power, 40ma at 5v. Have you noticed any problems at 3.3v power (tied to Propeller's power)?
    Fred
  • DufferDuffer Posts: 374
    edited 2007-08-07 19:59
    No, that's one of the things I was most pleased about. It works happily at 3.3V (Prop Proto Board Vcc) for hours at a time. The fact that I don't have to route 5V for the display makes it much easier to hook up as you can see from the "little board" I used. The manufacturer was pleased too. They had never actually tried to run it a 3.3V. The DC to DC circuits used to boost the voltage to drive the display must be better than spec or maybe it's just "Prop Magic". smile.gif

    Steve

    Post Edited (Duffer) : 8/7/2007 8:07:57 PM GMT
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-08-07 21:00
    I'm in Love! Distributor with best price???

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    The comments and code above are proof that a million monkeys with a million propeller chips *could* write Shakespeare!
  • BergamotBergamot Posts: 185
    edited 2007-08-07 21:40
    Any word on whether the 160px version also will run on 3.3v power? That would seriously simplify my current design, since it's the only component on the board using 5.0V [noparse]:)[/noparse]
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2007-08-07 21:48
    Love it!

    Graham
  • DufferDuffer Posts: 374
    edited 2007-08-07 22:50
    Bergamot,

    I've been working with the 160x128 OLED and the 240x320 LCD (with on-screen floating pointer and micro-trackball support) in addition to the 128x128. They have all been tested with the exact setup that you see in the video. I made a small board that I plug into the P0-P7 header that I have installed on my Proto Boards. Not a single problem, even with the LCD which has a very bright backlight. The displays rely on DC to DC booster circuits for the parts that require the higher voltages.

    Steve
  • DufferDuffer Posts: 374
    edited 2007-08-07 22:54
    Oldbitcollector,

    I only know of two distributors for sure. Selig in the NorthEast US and Dontronics in Australia. There may be others, but you would have to check the 4D systems site at http://4dsystems.com.au to see if they have a list of their distributors. I'm also not sure about the pricing of distributors other than Dontronics. The displays I've purchased have been from there. There is a rumor floating about that there may be another distributor on the west coast (US).
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-07 23:25
    Oldbitcollector said...
    I'm in Love! Distributor with best price???

    Oldbitcollector

    Dontronics in Australia has it at the same price as Selig in New York. ($84.00 or so, more for more memory.)· There's a lower wholesale price·but I don't think you will find it discounted. So shipping time and cost probably determines where you get it. Looks fine to me at that price...
  • DufferDuffer Posts: 374
    edited 2007-08-08 00:46
    Fred,

    You may be looking at the older models (the ones with flash memory). The new dispalys with the uSD slot are designated either -GMD1 or -PMD2 and don't have any on-board flash memory. Dontronics is selling the uOLED-128-GMD1 (the one in the video) for USD $84.68 + shipping and the uOLED-160-GMD1 (160x128 pixels) for USD $101.79 + shipping. The new LCD is the uLCD-320-PMD2 and Dontronics has that at USD $153.12 + shippong. I haven't checked Selig's prices.

    Steve
  • GavinGavin Posts: 134
    edited 2007-08-08 01:25
    Nice demo Steve.
    How fast can you update the oled from the microSD card? ie video rate
    I only have the old oleds, none of the new Goldelox versions yet.
    Been holding off until the 4DGL compiler is released.

    Gavin
    ·
  • DufferDuffer Posts: 374
    edited 2007-08-08 02:33
    Gavin,

    If I remember right from my tests, it's ~18 fps for the 128 and for the 160, it's ~15 fps. That's for full screen refresh. The 128 and 160 have the ability to specify width and height of the image you want to display from the uSD card as well as the X,Y location to display. By reducing the "frame" size to something like 100x100, you can get 25 fps +.

    Also, if you're waiting for the 4DGL to come out for fear of your display being obsolete, not to worry (or wait). The GMD1 and PMD2 modules use PmmC (Personallity module micro_Code) and it's a quick download from 4D Systems and an even quicker micro-Code update to change the way the module behaves. That's the way they'll be sending updates, fixing bugs and when the 4DGL is available, it'll just be another PmmC (free). The PmmC loaded in the modules now just the Serial PmmC. No limit to the number and type of PmmCs you can use to build a "library" of different modules just by loading a different PmmC.

    The 128 and the 160 use the same processor (GOLDELOX-MD1). The displays use different controllers and require very different coding to control the display. Same MD1 module, different PmmC. Simple.

    Steve

    Post Edited (Duffer) : 8/8/2007 2:38:50 AM GMT
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2007-08-08 11:12
    Just a thought, would it be possible to use an image stored in the uSD to provide some very fancy menu systems as per a mobile phone, draw the image and then overlay a cursor if you want to use a mouse for example. Just thinking you could have some visually spectacular interfaces with very little overhead for the propeller in terms of RAM use.

    Graham
  • chad123chad123 Posts: 4
    edited 2007-08-08 15:14
    Thanks for the work!! I have been looking at these for a while.. One quick question.. Did 4d get rid of the startup/logo splash screen on boot?

    Thanks,

    chad
  • DufferDuffer Posts: 374
    edited 2007-08-08 15:17
    Graham,

    Great idea. In fact, the newly released uLCD-320-PMD2, was designed with just that in mind. It has software (commands) support for a "floating pointer" and hardware (connector) and software (commands) to support a micro-trackball. Docs for the 320 can be found at: http://www.4dsystems.com.au/downloads/micro-LCD/uLCD-320-PMD2/Docs/Pdf/uLCD-320-PMD2_Users_Manual_Rev1.0.pdf

    Or you can just go to http://www.4dsystems.com.au/downloads and browse through their extensive documentation of their product line.

    One of the realities of working with these small displays is that they are sometimes limited by the controller that drives the display (not the GOLDELOX-MD1, but the one supplied by the screen mfgr.). The GOLDELOX (or PICASO) module can only implement those functions that are available with a given controller/screen combimation. For example, the 128-GMD1 only supports vertical scrolling and only in the up direction with little control over speed, while the 160-GMD1 supports horizontal scrolling left and right with very granular speed control. Same MD1 module, different controller, different PmmC. The whole point of using the MD1 and MD2 modules is so that mear mortals like us can actually use the displays without have to deal with trying to interface directly with the screen controller's control interface (a nightmare of binary register loading). The folks at 4D Systems figure all that out and write a PmmC to do all the heavy lifting.

    Having said ALL that, you probably could implement a cursor using the Define and Display User Bitmapped Character commands available in nearly all of the 4D Systems displays, but you would have to take care of the "floating" part that is currently only available on the uLCD-320. It's quite tedious to have to buffer the screen contents that will be under the "cursor", then restore the screen after the "cursor" moves away, etc. Luckily the Propeller can help by letting us put those functions in their own cog. Worth a try, eh?

    IT!--COULD!--WORK! Gene Wilder, Young Frankenstein

    The folks at 4D Systems are constantly working on wringing as much functionallity as possible out of their little displays and the use of PmmCs to provide quick and easy feature, fix and personallity code updates means you're never more than a download away from the most current magic they have.

    Steve
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-08 15:29
    Duffer,
    Your vid is blurry. But it does have a wonderful soundtrack, worth revisiting now and then.

    And you're right, Saelig does sell the old stuff in memory steps; I think I didn't care for the power consumption on them. So that's the extra memory.

    They do sell the 160 and 128's though: price on 160-gmd1 is $100 and the 128-gmd1 is $84.00

    Fred
  • DufferDuffer Posts: 374
    edited 2007-08-08 15:48
    Fred,

    I appologized for the video quality up-front. wink.gif I've had a hard time getting in-focus videos of the displays. I think it's because all my equipmet uses auto-focus of some sort and the displays have a VERY reflective front surface and I try to get as close as possible to get screen detail. A manual-focus video cam would probably help, but I'm spending my money on OLEDs, LCDs and Propeller chips, not video equipment. :-D

    Steve

    PS Blueman Group, Cafe Nowhere
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-08 15:59
    so solly, was pulling leg. I still like the music, watched it again in fact.
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-08 16:30
    FYI, Saelig is out of stock of the -128. They expect a delivery in 1 1/2 weeks. (read 3)
  • DufferDuffer Posts: 374
    edited 2007-08-08 18:03
    Fred,

    I knew you were kidding. smile.gif· I can tell you that the boys at the 4D Systems "Sweat Shop" (their term. not mine), are·literally working day and night to get a sufficient supply of the new modules in the hands of their distributors. There are so many new things coming out of 4D Systems right now that they're having a bit of a problem keeping up. Good news for them (that they're so busy and demand is high), bad news for us that we can't get our hands on the new toys that we want.·I spoke with one of the people there yesterday at 2:30 PM (4:30 AM Wednesday in Sydney) to go over some of the documentation clean-up for the uLCD-320_PMD2. I couldn't tell if their day was just starting that early or if they were still working from the day before!

    They are expecting to have the new version of the Graphics Composer (used to load and manage images, build command scripts, etc. ·on the uSD card) available early next week. They are also working 'round-the-clock on a PC based soft tool that will simulate·all the device commands for the displays and display them on a simulated representation of the screen. Commands and scripts can be simulated, tested·and saved even if you don't have a display yet.

    And as the barker at the carnival said: "You ain't seen nothin' yet!". There are some really exciting products coming from 4D Systems between now and the end of this year.· Some will be of SPECIAL interest to the Propeller community.

    Steve
  • BergamotBergamot Posts: 185
    edited 2007-08-08 19:54
    Duffer said...
    And as the barker at the carnival said: "You ain't seen nothin' yet!". There are some really exciting products coming from 4D Systems between now and the end of this year. Some will be of SPECIAL interest to the Propeller community.

    That sounds awesome smilewinkgrin.gif

    I just wish they'd get a better US distributor than Saelig.
  • DufferDuffer Posts: 374
    edited 2007-08-08 20:24
    Bergamot,

    The new west coast (US) distributor is apparently having some problems with their initial shipment(s) from 4D Systems and as a result are not online with the new products·yet.

    My understanding is that Sealig has been a 4D Systems distributor for some time, but their primary focus has been in the commercial market. I don't know how many inquiries, regarding individual (or low quantity) purchases of the 4D Systems units, it would take to help them "shift their focus", but it's worth a try. Like most businesses, they need to see a demand before they will commit resources and money to·stocking a particular·product.

    Steve

    BTW - I have NO business affiliation with·Sealig or the new west coast (US) distributor. Currently just an enthusiastic user of the 4D·products (as I am with the Parallax products). smile.gif

    Post Edited (Duffer) : 8/8/2007 8:48:36 PM GMT
  • DufferDuffer Posts: 374
    edited 2007-08-09 04:26
    Chad,

    you'll be pleased to learn that 4D has listened to a number of user requests to alter the start-up routines. The new (GMD1 and PMD2) modules will wait for a full 5 seconds befor displaying the splash screen. If during that time, the autobaud command ("U", $55) is received, the splash screen will not be displayed at all.

    Steve
  • GavinGavin Posts: 134
    edited 2007-08-09 05:56
    Is the splash screen changable?
  • DufferDuffer Posts: 374
    edited 2007-08-09 06:17
    Gavin,

    Short answer: Yes, but not by the end-user. The splash screen is just code in the PmmC for each module (part of the initialization routine). If you had a requirement for a custom splash screen, I would think that the guys at 4D could do it. As a practical matter, I think this is more likely something that they might do for a commercial customer who needs 100s of units for a device or product they're building and wanted their company logo as a splash screen.

    Steve

    Post Edited (Duffer) : 8/9/2007 6:22:25 AM GMT
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2007-08-09 07:57
    But I suppose you could block it in the way you mention and then display an image that would act as a custom splash screen.

    Graham
  • DufferDuffer Posts: 374
    edited 2007-08-09 11:36
    Graham,

    Correct. That's the method recommended by 4D. Send the autobaud command as the first command, display a splash or screensaver image(s), then do any init routines that you need to do for your app (user defined bitmapped character, table load, etc.), then begin the main portion of you app.

    Steve
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-17 21:08
    Steve,

    I have looked at your object exchange item and can't seem to find anything besides a link to your Youtube video that might be a demo. Have I misunderstood what your bundle includes? (What I get so far: a command list text file, a spin file that has all the commands -- uOLED-128-GMD1.spin, and two library files.)

    2nd question: is there any harm using it without a uSD card?

    3rd question: Judging from Dontronic's photos, it looks like·a uSD card would interfere with putting it into a breadboard. Is there enough clearance? How did you make the connection to your prop?

    Fred

    Post Edited (Fred Hawkins) : 8/17/2007 9:14:56 PM GMT
  • BergamotBergamot Posts: 185
    edited 2007-08-17 21:41
    Fred Hawkins said...

    3rd question: Judging from Dontronic's photos, it looks like a uSD card would interfere with putting it into a breadboard. Is there enough clearance? How did you make the connection to your prop?

    Fred
    Looking at those photos, I don't think the card is all the way in.
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-17 23:48
    I just looked at one of those cards at a store and still had a hard time comprehending how tiny those things are. I have bullmastiffs and one good slobber could hide them for weeks.
  • DufferDuffer Posts: 374
    edited 2007-08-18 03:56
    Fred,

    Sorry. I guess I should have checked the·archive ZIP file more closely. Somehow the demo file didn't make it. I'll add it to the Propeller Exchange as an Aux file for now and update the archive ZIP file later. In the mean time, I've attached the demo code below.

    You don't have to have a uSD inserted in the·display (you did notice that the uOLED-128-GMD1 has a built-in uSD card socket) to run the demo, but it will halt at the first command that tries to access the card. I wrote the demo (you would know this if I had posted it rolleyes.gif ) so that it's very modular and also the methods that use the uSD card are easy to identify (they all have "uSD" in the name). You can just "comment out" the·uSD methods·(or any other method that you don't want to run) and you'll be fine. All of the methods will "stand alone" except INIT and SHUTDOWN, those must be first and last respectively. The SHUTDOWN method powers off the display for 5 seconds (after a 5 second count-down), then restarts the demo. That powered down period allows you to unplug the display or power down your Prop board without the risk of damaging the display (it doesn't like to be removed from power suddenly - see 4D Systems documentation).

    Questions about hardware setup and mounting will be in a following post (with pictures).smile.gif

    EDIT: 09/01/07 - Attachment (uOLED-128_GMD1 Demo) removed. Demo is now in the Object Exchange download - Ver. 1.2.

    Post Edited (Duffer) : 9/2/2007 12:06:51 AM GMT
Sign In or Register to comment.