Shop OBEX P1 Docs P2 Docs Learn Events
Tiny new OLED display from 4D Systems - WITH A TWIST! - Page 2 — Parallax Forums

Tiny new OLED display from 4D Systems - WITH A TWIST!

24

Comments

  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-10-03 18:11
    Graham Stabler said...
    A desperate man and a microscope could attach wires to the chip (despite the lack of real pins), there appear to be no pads associated with the pins.

    I suppose the obvious alternative is just to use a second prop, have the display prop loaded with all the graphical stuff and talk to it.

    Graham
    Maybe it can be used as a test bed to work out a four or five pin propeller-to-propeller communication link.·Wonder how fast it can go?

    Adding your own opcodes to the graphics handler might even get you another pin or two at least temporarily.
  • DufferDuffer Posts: 374
    edited 2007-10-21 06:23
    Fred,

    I've been running several of the uOLED-96-PROPs at 128 MHz (although deSilva is a bit of a non-believer smile.gif ) continuously for·more than·a week without a problem. The little guys have an 8MHz crystal and I use PLLx16. I guess I'll have to wire up and test deSilva's suggested circuit and code to blink an LED at half the "alleged" clock speed and see if the settings actually produce a Prop Dev board that runs at 128 MHz.

    Duffer
  • Mike GreenMike Green Posts: 23,101
    edited 2007-10-21 06:32
    Duffer,
    The issue with the 128MHz is that it's not reliable. You may be able to get some chips to work, but that doesn't mean that all of them will do so or that they'll do so over a wide enough temperature range. There's a thread on the testing that went into the formal datasheet.
  • DufferDuffer Posts: 374
    edited 2007-10-21 06:41
    Thanks Mike. Maybe you can help with a question I've been meaning to ask about the Propeller and using an external crystal. My question is: Does component placement, i. e., proximity to the Propeller chip, the length of the traces, their placement, etc. have any effect on the stability and therefor the reliability of a given board or "build"? And also, are there things you can do in the design to improve stability and reliability?

    Duffer
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-21 07:54
    The placement of components, and consequently the routing of the traces has IMMENS effect on the "electrical quality" of any circuit runnung above 1 MHz.
    The both main reasins are easy to understand: Capacity and electro-magnetic fields. High frequencies do wondersome things when channeled through tiny, bent, and long traces.

    I have seen even in this forum a layout with traces bending 90 degrees; thanks heaven most PCB editors do no longer allow that. There are many very specific "rules of the thumb" - especially for multi layer design - to follow, sometimes even in the manual of the PBC software... The main rules is: Keep traces short, mesh GND and Vdd, and put a 100nF close to each chip.

    A thing most instructive to look at with a 200MHz 'scope is the otput of what you think is a 3 Volt square-wave from one of the timers @ 20, 40, and 80 MHz.

    I think you mean an "external oscillator", not a "crystal"? They are less susceptible than a connected crystal which should be close to the oins, as they contain "buffers" and do not need the excitation (XOUT) from the chip. Also have a look with your 'scope how the wave at XINP looks like from a 10MHz crystal.. Well to be fair: A sine is the natural wy to move....
  • Paul Sr.Paul Sr. Posts: 435
    edited 2007-10-24 20:16
    Duffer said...
    For those of you that have had questions about just how the embedded Propeller chip in the uOLED-96-PROP display will be programmed, the prototype Propeller Object and a demo program (both written in SPIN) have been posted on the 4D Systems site. http://www.4dsystems.com.au

    Go to Downloads, navagate to: micro-OLED, uOLED-96-PROP, Object Code. There you will find the preliminary Propeller Object and demo code for the display (I've also attached the files below). These files (or later versions) will come pre-loaded into the EEPROM so it will run the demo program right out of the box. Just plug a uUSB-MB5 or uUSB-CE5 into a USB port (or build your own programming interface using the reference design provided in the documentation), plug in the display and the demo will run. At a minimum, applying +5V and Gnd to the appropriate pins on the display will accomplish the same thing (powers up the Prop and runs the pre-loaded demo).

    I think that after looking over the Object and Demo code, you will agree that this little display, and it's larger cousins that will surely follow, offer a VERY flexible and extensible platform for Propeller development.

    Enjoy, Duffer

    NOTE: Every display (96x64, 128x128, 160x128, etc.) has different hardware capabilities. The hardware of this particular display (the 96x64) has a number of built-in graphics functions which have been implemented in this Propeller Object. See the LINE, RECTANGLE, COPY, DIM AREA and SCROLL Methods. Other displays which may follow will have different (or no) inbuilt functions.

    Hi Steve,

    Sweet little unit - having fun so far!

    Is there not a Circle primitive COMMAND (i.e. DRAW_RECTANGLE = $22)? For example the uOLED-96-G1 User Manual has a (C) command, but there isn't an equivalent command on the PROP manual. Is the list of primitives in the spin driver code complete?

    Thanks,
    Paul
  • DufferDuffer Posts: 374
    edited 2007-10-25 02:15
    Paul Sr.,

    I'm afraid that you've missed the point of the uOLED-96-PROP. It's a Propeller development platform with a tiny·OLED display and a uSD card slot.·It's hardware.

    If you want a "finished" product with a complete set of graphics, text and uSD read/write routines that can be accessed by simple serial commands (like the "C" - Circle), then the uOLED-96-G1 is for you.

    If, on the other hand, you would like to experiment with learning to code your own Circle command using the primitives provided in the prototype Propeller Object (Provided to get you started), then you may be interested in the uOLED-96-PROP. If you buy the 96-PROP thinking that it is a finished, ready to use display for your projects, you're going to be dissapointed. Buy the 96-G1 instead. The GOLDELOX chip on the 96-G1 and the serial PmmC microcode is a good plug & play solution. The Propeller chip on the 96-PROP and the SPIN code that you write for it will provide the custom development platform that many Propeller users want.

    Duffer
  • Mike GreenMike Green Posts: 23,101
    edited 2007-10-25 02:38
    Duffer,
    It would sure be nice if 4D Systems could arrange with a 3rd party to make a bezel kit for their products much like those available from Matrix Orbital for example.
  • Paul Sr.Paul Sr. Posts: 435
    edited 2007-10-25 11:04
    Duffer said...
    Paul Sr.,

    I'm afraid that you've missed the point of the uOLED-96-PROP. It's a Propeller development platform with a tiny OLED display and a uSD card slot. It's hardware.

    If you want a "finished" product with a complete set of graphics, text and uSD read/write routines that can be accessed by simple serial commands (like the "C" - Circle), then the uOLED-96-G1 is for you.

    If, on the other hand, you would like to experiment with learning to code your own Circle command using the primitives provided in the prototype Propeller Object (Provided to get you started), then you may be interested in the uOLED-96-PROP. If you buy the 96-PROP thinking that it is a finished, ready to use display for your projects, you're going to be dissapointed. Buy the 96-G1 instead. The GOLDELOX chip on the 96-G1 and the serial PmmC microcode is a good plug & play solution. The Propeller chip on the 96-PROP and the SPIN code that you write for it will provide the custom development platform that many Propeller users want.

    Duffer

    Steve,

    Thanks for the reply. Nope, I didn't miss that point at all - in fact I have a couple of different approaches in mind to try (tried one already but it didn't quite work!). I was just looking to understand what the full list of primitives was - i.e. Rectangle method uses "Write_cmd(DRAW_RECTANGLE)", etc.

    Paul
  • hinvhinv Posts: 1,255
    edited 2007-10-25 11:35
    Hey Mike, Do you have a femto basic for this one yet?

    Anybody been able to confirm that this prop IS or IS NOT running at 128MHz yet?
    If NOT, then would it be running at 64MHz?
  • DufferDuffer Posts: 374
    edited 2007-10-26 05:09
    Paul Sr.,

    Sorry, I may have missed the point of your post. I guess what you may have been asking about were the graphics commands that are available in the display hardware. In the case of the 96x64 pixel display, there are a number of graphics commands built into the hardware controller. All of the in-built commands are implemented in the object (Line, Rectangle, Copy and several more). Every display is different. Each controller has different "features" which can be used. Some, like the 160x128 uOLED display, have none. You have to, for example, calculate all the points on a line between the start and end points of a line and then do a PutPixel for each point in order to draw a line (while the 96x64 has a Line function implemented in hardware).

    The challenge with the 96-PROP is to use the primitive commands and the in-built commands provided by the hardware controller to build the command set that you want/need for your project. If you look at the full serial command set of the uOLED-96-G1, all of those commands can be built from what is provided in the prototype object for the 96-PROP (same controller, same capabilities).

    Duffer

    P.S. If you would like to read the complete datasheet for the 96x64 controller, you should be able to Google it. The controller is a SSD1331 made by Solomon Systech. the datasheet describes, in great detail,·the complete function set of the display.
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2007-10-26 10:02
    I notice Parallax are now stocking these displays.

    I now have such a neat solution just crying out for a problem [noparse]:)[/noparse]

    Graham
  • Paul Sr.Paul Sr. Posts: 435
    edited 2007-10-26 13:19
    Duffer said...
    Paul Sr.,


    Sorry, I may have missed the point of your post. I guess what you may have been asking about were the graphics commands that are available in the display hardware. In the case of the 96x64 pixel display, there are a number of graphics commands built into the hardware controller. All of the in-built commands are implemented in the object (Line, Rectangle, Copy and several more). Every display is different. Each controller has different "features" which can be used. Some, like the 160x128 uOLED display, have none. You have to, for example, calculate all the points on a line between the start and end points of a line and then do a PutPixel for each point in order to draw a line (while the 96x64 has a Line function implemented in hardware).



    The challenge with the 96-PROP is to use the primitive commands and the in-built commands provided by the hardware controller to build the command set that you want/need for your project. If you look at the full serial command set of the uOLED-96-G1, all of those commands can be built from what is provided in the prototype object for the 96-PROP (same controller, same capabilities).



    Duffer



    P.S. If you would like to read the complete datasheet for the 96x64 controller, you should be able to Google it. The controller is a SSD1331 made by Solomon Systech. the datasheet describes, in great detail, the complete function set of the display.

    Well, it sounds like you now understand my request - what is the full list of "graphics commands that are available in the display hardware". And I believe you have answered with - "All of the in-built commands are implemented in the object".

    Is there any chance you could post that "SSD1331" datasheet for us? I did Google for one, but it wasn't directly available.

    Thanks,
    Paul
  • DufferDuffer Posts: 374
    edited 2007-10-26 13:28
    Paul Sr.,

    I'm glad we cleared that up. When can I expect to see a "Circle" function from you·for the 96-PROP. Get coding! smilewinkgrin.gif



    hinv,

    The uOLED-96-PROP does run reliably at 128MHz (8MHz crystal and PLLx16). If you'll look at the object and demo code posted on the 4D site, the demo code is set to run at 128MHz. Here'a a video of the demo running at 128MHz. http://www.4dsystems.com.au/downloads/micro-OLED/uOLED-96-PROP/Video/uOLED-96-PROP-Clip1.htm

    Enjoy,· Duffer
  • hippyhippy Posts: 1,981
    edited 2007-10-26 13:57
    Duffer said...
    The uOLED-96-PROP does run reliably at 128MHz (8MHz crystal and PLLx16).

    I'll accept that it is doing so but that's contrary to everything we've been told by Chip and the rest of the Parallax Crew ( except when force cooling the chip or with a particularly lucky batch ). Perhaps the question is under what conditions does it run at 128MHz and when does it fail ?

    From previous discussion ...

    Paul Baker : For room temperature a typical Propeller can achieve somewhere in the range of 96 to 110 MHz, but not all Propellers can run at 110

    Chip Gracey : Propeller chips are production tested at room temperature to 104MHz (6.5MHz * 16). If you can actively cool it to something like 0 degrees C, you could probably run it pretty reliably at over 128MHz.

    Chip Gracey : The first thing to fail as speed increases is the hub memory access (~112MHz). The next thing to fail is the Z flag (~120MHz), then the C flag (~128 MHz).

    http://forums.parallax.com/showthread.php?p=620404

    Obviously some Propeller Chips will function at higher speeds than others and we know they are guaranteed to work at 80MHz, almost definitely at 96MHz, most likely up to 104MHz, but this "How fast can a Propeller Chip run ?" comes up time and time again, and I think we really need some definitive and clear answers on the matter.
  • Paul Sr.Paul Sr. Posts: 435
    edited 2007-10-26 14:01
    Duffer said...

    I'm glad we cleared that up. When can I expect to see a "Circle" function from you for the 96-PROP. Get coding! smilewinkgrin.gif

    I'm working on it!!! But, I'm slow with SPIN (still on the front side of the learning curve!) and I am also banging out SQL in the other VM so it has to wait it's turn!!

    Thanks!

    PS: Any chance you could post the "SSD1331" datasheet here for us?
  • Mike GreenMike Green Posts: 23,101
    edited 2007-10-26 14:23
    hinv,
    There is a version of FemtoBasic for the uOLED. It's in the Propeller Object Exchange. Note that it uses the serial programming port for its console, but does have a complete set of display routines for the OLED display. It's possible to make a stand-alone kiosk-like program that automatically loads from the uSD card and only uses the built-in display and the I/O pins that are brought out to the connector (just leave the serial port unconnected).
  • DufferDuffer Posts: 374
    edited 2007-10-26 15:55
    Regarding the SSD1331 datasheet. It may have been a mistake on my part to even disclose the part number and Mfr. for the hardware controller. The datasheet (partial) that I have was provided to me under an NDA. Under the terms of the NDA, I can't redistribute the document in whole or in part.

    There are several sites that sell the same display used in the uOLED-96-PROP. you can request a datasheet from them. You will have to fill out a request form and they will decide whether to send you one or not. The other alternative is to buy one or several of the displays and then you get the datasheet as part of your purchase. I don't know why these display datasheets are such a secret, except that I guess each Mfr. wants to keep their "capabilities/features" a secret from their competition?

    I don't think you would gain much by having a copy of the datasheet. The sum of the "usable" information about the command interface and the accessable features/commands is more clearly defined in the Propeller Object than it is in the datasheet. As I said in an earlier post, everything you need to impliment all of the·graphics·functions that are available as serial commands on the uOLED-96-G1 can be implimented on the uOLED-96-PROP·using the information and commands in the provided Propeller Object.

    Duffer
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-10-26 16:48
    Graham Stabler said...
    I notice Parallax are now stocking these displays.

    I now have such a neat solution just crying out for a problem [noparse]:)[/noparse]

    Graham
    Really? They·must have posted it since yesterday afternoon.

    edit: Ok, I missed the click on the picture to find Parallax's sales page. It just looked like two text links to 4D's site to me...

    Ps. Solomon Systech asks for a form to get the datasheet. Judging by response time after filling it out, someone actually reads the form and vets the information.

    Post Edited (Fred Hawkins) : 10/26/2007 5:14:17 PM GMT
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-10-26 17:42
    This item is so small it seems that a side-by-side touch panel is best (as opposed to making the screen sensitive however that is done).

    What's involved in a touchpanel? And how big/small do they get? I am thinking this display and a panel in an altoids box. Flip it open to use....
  • DufferDuffer Posts: 374
    edited 2007-10-26 18:24
    uOLED-96-PROP will run at 128MHz, GURANTEED!

    This has been an on-going question is several threads on the Propeller forum. I decided to put the discussion to bed. I was going to start a new thread, but decided to put it here because people are coming to this thread for info on the 96-PROP.

    I just got off the line with 4D Systems (yup, their still working at 4:00 AM in Sydney!). 4D Systems will guarantee that EVERY uOLED-96-PROP will run reliably at 128MHz at room temprature or they'll replace it!

    Want to know the "secret" of running a Propeller chip at 128MHz (or 150+ MHz)? The first person to register on the 4D Forum at: http://www.websitetoolbox.com/tool/mb/4d·and post a message in the "micro-OLED" section asking how it's possible to run a Propeller chip at 128MHZ or higher, will get a full technical explanation of the techniques used to achieve this feat. smilewinkgrin.gif

    Have fun and don't everyone rush to the 4D Forum. hop.gif

    Duffer
  • rokickirokicki Posts: 1,000
    edited 2007-10-26 18:26
    Nice to see Parallax selling this!

    Some minor notes:

    uOLED 96 PropPlugConnect

    This document says there should be only *three* connections from the prop plug to the
    display, but the schematic clearly shows *four* wires between the two. One must be wrong.

    uOLED 96 Prop Demo V4(.pdf)
    uOLED 96 Prop V4 Spin(.pdf)

    Both of these links go to spin files, but the link itself says they are pdf files.
  • Mark SwannMark Swann Posts: 124
    edited 2007-10-26 20:44
    Duffer said...

    Want to know the "secret" of running a Propeller chip at 128MHz (or 150+ MHz)? The first person to register on the 4D Forum at: http://www.websitetoolbox.com/tool/mb/4d·and post a message in the "micro-OLED" section asking how it's possible to run a Propeller chip at 128MHZ or higher, will get a full technical explanation of the techniques used to achieve this feat. smilewinkgrin.gif

    Have fun and don't everyone rush to the 4D Forum. hop.gif

    Duffer

    I just had to know so, yes, I think I was the first to register and post this question.

    No answer yet.

    Lucidman
  • hippyhippy Posts: 1,981
    edited 2007-10-27 02:35
    lucidman said...
    No answer yet.

    There's one now, but not really a satisfactory one ...

    "Tell Duffer he's been a bad boy and he's going to get detention after school for stirring things up!!!!

    On the serious side, what seems to be the problem supplying 128Mhz into the Prop? 8Mhz xtal with PLL16 = 128Mhz. I think the specs say it can go up to 160Mhz so we're well within spec.

    Is this the answer you were looking for?"


    Not the answer I think most people were hoping for. I'll let lucidman follow-up in the 4D forum.
  • DufferDuffer Posts: 374
    edited 2007-10-27 03:51
    I'm curous. What part of Atilla's answer did you find unsatisfactory? Does anyone here find it hard to believe that there isn't any "trick" to creating a 128MHz clock for the propeller? If you're talking about anything other than·the clock frequency of the Propeller generated by the chip's PLL multiplying the external crystal frequency by some value (in this case 8MHz x 16 = 128MHz) and generating clock pulses at that frequency, then I'm confused by what is meant by·"running the Propeller at 100 + MHz" or "Anybody been able to confirm that this prop IS or IS NOT running at 128MHz yet?" If "running" refers to something other than the clock speed, then I've missed it and am therefore understandably confused.

    Duffer
  • william chanwilliam chan Posts: 1,326
    edited 2007-10-27 09:31
    What are the major advantages of using the Propeller to control the uOLED compared to the other traditional uOLED processors?
    I believe the uOLED does not use a TV or VGA interface, so the propeller advantage in TV or VGA is not applicable here.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.fd.com.my
    www.mercedes.com.my
  • hippyhippy Posts: 1,981
    edited 2007-10-27 12:20
    Duffer said...
    I'm curous. What part of Atilla's answer did you find unsatisfactory? Does anyone here find it hard to believe that there isn't any "trick" to creating a 128MHz clock for the propeller?

    The part I find unsatisfactory is that the answer is, paraphrased, "just do it; the Propeller will run guaranteed at 8MHz + PLL16x", when the information from Chip and Parallax is contrary to that.

    You keep mentioning "trick" but the 4D response infers there is no trick to it, that's it's well within the Propeller specification although I note the answer specifically refers to PLL operation up to 160MHz. That being within spec I do accept, but Chip says the Propeller starts breaking down with post PLL clock speeds around 112MHz. Paul Baker explicitly stated, "not all Propellers can run at 110", but you wrote ...
    Duffer said...
    uOLED-96-PROP will run at 128MHz, GURANTEED!

    This has been an on-going question is several threads on the Propeller forum. I decided to put the discussion to bed.

    Unfortunately, for me anyway, the discussion has not been put to bed. As you note, I, Mike and deSilva within this thread are all sceptical. You specifically said ...
    Duffer said...
    Want to know the "secret" of running a Propeller chip at 128MHz (or 150+ MHz)? The first person to register on the 4D Forum at: http://www.websitetoolbox.com/tool/mb/4d and post a message in the "micro-OLED" section asking how it's possible to run a Propeller chip at 128MHZ or higher, will get a full technical explanation of the techniques used to achieve this feat.

    Quite frankly, nothing in the reply was "a full technical explanation" of anything and it explained no techniques, which is why I find the reply lacking in what was expected. In fact it infers there is no technical explanation needed, no special techniques used.

    If it's a simple case that 4D are picking and choosing Propeller Chips which pass testing at 128MHz then that's fair enough, but please just say so. The impression being given is that any Propeller Chip can run at 128MHz using the right tricks and techniques but those tricks and techniques have not been revealed. In their absence I have no choice but to remain sceptical.

    Added : I have to also say that I don't like being given the run around. It's like, "I know something which will improve your life immediately which no one else knows. Just send $100 and I will reveal the secret". If there are "tricks", "secrets","techniques", then just come out and say what they are. Do not compound annoyance by sending people to a forum to have those "secrets" revealed when that is not forthcoming. It's not an unreasonable question to ask, "how do 4D use 8MHz + PLL16x", but frankly I'm having my time wasted in the way that is being answered. Please, just answer the question directly.

    Post Edited (hippy) : 10/27/2007 12:40:56 PM GMT
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-10-27 15:51
    So, let's cut to the chase: What is happening in the cog counters when you set the prop to run at 128 MHZ? Are you able to use the PLL in the Counters in any mode or just x1?
  • Mark SwannMark Swann Posts: 124
    edited 2007-10-27 17:33
    hippy said...

    ...but the 4D response infers there is no trick...

    ... In fact it infers there is no...
    Please infer, from the following link, any meaning you wish.·smilewinkgrin.gif The implication should be obvious. However, I wouldn't want to imply anything that isn't.

    http://www.wsu.edu/~brians/errors/imply.html
  • hippyhippy Posts: 1,981
    edited 2007-10-27 18:13
    Let's not get bogged-down over usages and meanings in variants of the English Language, especially as spelling, usage and meaning differs between countries smile.gif
Sign In or Register to comment.