Documentation (data sheet) for the display on OLED Xplained Pro?

Go To Last Post
17 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So, I've got my fingers on some Xplained Pro boards and some extension boards to them. Specifically the OLED Xplained Pro board.

 

Any of you guys got a OLED Xplained Pro up and working? Where did you get the info for accomplishing that?

 

 

 

[background rant|whining]

 

Thinking I should be a good boy, I thought I'd start out with reading up on the data sheet for the display. To my surprise says (here) this:

The datasheets for the display module or the display controller is not publicly available and has to be acquired from the respective manufacturers.

What?!

 

A few sentences earlier than the above quote it says:

OLED1 Xplained Pro features a 128 x 32 pixel white monochrome OLED display, UG-2832HSWEG04 from WiseChip Semiconductor Inc.

Trying to follow the above link, all I get is a Chinese 404.

 

Of-course, Googling for "UG-2832HSWEG04 data sheet" gets you to the usual data sheet sites. I found (at Adafruit) one data sheet, 26 pages, with the usual hardware descriptions (electrical signals, maximum values, physical dimensions and optical performance etc) and one page with an example of instructions on page. One example. One example. Is that all that is available??! No "reference"? No list of accepted commands?

 

How should I interpret e.g. a box in that flowchart with the text "Set Entire Display On/Off  0xA4"? Will that set it on, or will it set it off? Or will that toggle the on/off state? (No, I seriously don't believe that.)

 

What about the box labeled "Clear Screen", and nothing else?

 

The example is covering "Initialization". That's a start, but how do you actually send display data to the device? Not a hint about that as far as I can see..

 

That data sheet sucks worse than most other Chinese DS'es...  (I can understand if you need special permission to get that data sheet out of the doors of the manufacturer of the display. I would also be extremely embarrassed if I had something like that "hit the public"...). And how did the people at Atmel reason when they chose this for an evaluation kit?

[/background rant|whining]

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Wed. Mar 25, 2015 - 12:57 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dare I mention that terrible 3 letter acronym but I don't suppose ASF has support for this does it?

 

In the brave new world I sort of assumed that Atmel would expect you to use ASF for this kind of thing?

 

(as I got one in the "goody box" I guess I should dig it out and take a look sometime too - so far I haven't actually used anything from either the box I bought or the one I was sent - too much other stuff to do - never enough time - Easter may help).

 

EDIT: just got to 1.3 in the datasheet you linked - so the origin is bottom right?!? I'm loving it already!

Last Edited: Wed. Mar 25, 2015 - 01:12 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
Any of you guys got a OLED Xplained Pro up and working?

Yes.

 

Quote:
Where did you get the info for accomplishing that?

 

clawson wrote:
ASF has support for this

Correct.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So the only available process for acquiring documentation for this OLED is to reverse-engineer ASF?

 

(Rhetorically: Will ASF have code implementing every aspect/possibility of this display. Or are we in the hands of the ASF clergymen saying "You will get what we think will be best for you!")

 

Where did Atmel document that this thing was only usable with ASF? And hence usable only with Atmel Studio?

 

I will contact Atmel support. If they can not reveal a programming interface spec for this display I will

1) inform them that the link in the online docs is dead, and

2) advice them to spell out "Requires ASF / Atmel Studio" on the product page and in the Atmel Store. :-(

 

I'll have to dig into ASF then, to see what it actually can accomplish with this display. Big fonts? Mixed big and small fonts? Set pixel? 

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Now the next question becomes: Is it really a fact that the latest ASF Reference Manual is dated March 2012 and is 28 pages long, and with no detailed functional documentation whatsoever? And there is no detailed functional documentation online? The only documentation is the code itself?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or are we in the hands of the ASF clergymen saying "You will get what we think will be best for you!"

Isn't that always the case with library code?

 

As you say (like so much in ASF) I would just implement a simple example then dig into the layers and reverse engineer it. Then discard ASF.

 

BTW would this be the relevant page in the ASF manual?

 

http://asf.atmel.com/docs/3.11.0...

 

That's what I get when I Google "ASF OLED". I imagine the "Fundamental Command Defines" on that page may actually be of more use than anything else. Though I guess one will require further documentation to know how to use them. (what else has to be passed across SPI as each is invoked).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have made no attempt to use the OLED yet.

 

However,   most OLED driver chips are pretty simple.   e.g. a ST1306

 

Although the initialisation may differ for different makes of OLED,   I bet the 'print' commands will be fairly similar.

 

Yes,   of course Atmel should post a link to the data sheet of the specific controller.

 

Mind you,  the display looks pretty small and feeble.    Compare it with a 240x320 full-colour TFT.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 I would just implement a simple example then dig into the layers and reverse engineer it.

But then I will gain knowledge only on the part of the programming interface that the ASF mafia chose to implement. :-(

 

@David: This is my first foray into OLEDs, so I was hoping for some crunchy docs to chew into. I might eventually appreciate that "they are all similar" but right now that fact does not help me one bit.

 

Who here was it that had "If you cant open it, you don't own it" as his sig? This is very similar. I have bought (and been given) something that has no proper usage instructions available. For practical purposes I just barely own it..

 

----------

 

From someone all new to ASF: is there a way to look at the sources in a meaningful way, other than Atmel Studio? (When I want to "explore code" I prefer other editors/IDEs, tools and techniques.)

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

e.g. a ST1306

Would that be "SSD 1306" as in this data sheet?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From someone all new to ASF: is there a way to look at the sources in a meaningful way, other than Atmel Studio? (When I want to "explore code" I prefer other editors/IDEs, tools and techniques.)

There is a way but it's not obvious. ASF actually lives in a .git respository. As you of all people knows the "housekeeping" for Git is all hidden under a ".git" directory. The only thing is that for reasons best know to themselves, in the AS6 (or just ASF) installation Atmel have chosen to rename the repo as something other than ".git" and as such normal Git tools cannot "see" it.

 

The solution is fairly simple - it should be possible to simply (and just temporarily while you are "snooping") rename it to .git and then point Git at it and "checkout" a copy elsewhere.

 

(I have previous thread that go through this).

 

I do wonder why it's "hidden" in this way. Presumably some tools would let you "nose about" the repo without having to check out a complete copy (which is going to be pretty big!) if it were presented as a normal Git repo? .

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry Johan,   I should have typed SSD1306.

 

There are many source codes for the common controllers.

 

Yes,   I quite agree.    Atmel should provide a data sheet.

I don't have the sufficient will to live before trying to follow ASF.
 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Once you've got Atmel Studio to make you an instance of the example project for the OLED Xplained-Pro, you then have the full source in "plain" form - so you can just take it from there...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Johan,

I went to an Atmel training class a couple of months ago and we used the OLED screen on the D21 board.  The driver we used in ASF was called GFX Monochrome service.  Once it was added to the project we then configured the driver in ASF.

 

HEre is the manual attached that we got for the OLED.  THe display's part number is in the document as are all the pinouts.

 

I also included the exercise that we did that used the Display(if it helps you).

 

 

 

Jim

Attachment(s): 

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I connected my OLED1 and IO1 extension boards and ran the SAM4S-XPRO Starter demo.

 

The OLED1 controller is a SSD1306.

 

4.2.3 OLED display
OLED1 Xplained Pro features a 128 x 32 pixel white monochrome OLED display, UG-2832HSWEG041 from
WiseChip Semiconductor Inc. The display has a SSD1306 display controller by Solomon Systech built in
and is controlled via a 4-wire SPI interface + reset with the signals described in Table 4-4, “OLED display
connections” on page 8. The datasheets for the display module or the display controller is not publicly
available and has to be acquired from the respective manufacturers.

Yes,  I have used this controller before.   The data sheet is publicly available.    There are many public libraries.    In fact,  I think that I wrote my own driver.

So apart from the fact that ASF is incredibly convoluted,   the hardware should be easy enough to control from scratch (if you want).

 

A 128x64 would have been a bit more useful.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cliff, awneil, Jim and David! Thank you all for those posts! There is light in the end of the tunnel ... or rather, "at the end of an OLED investigation". ;-)

 

Jim, I will look at those later - after I got the thing together I promised you!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
Once you've got Atmel Studio to make you an instance of the example project for the OLED Xplained-Pro, you then have the full source in "plain" form - so you can just take it from there...

 

I just tried it with a SAM D21 Xpro + the OLED Xpro.

 

The files are: 

  • src\ASF\common2\components\display\ssd1306\ssd1306.c
  • src\ASF\common2\components\display\ssd1306\ssd1306.h

 

And under src\ASF\common2\services\gfx_mono\ is the graphics library

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

 

In the past I wrote a minimalistic 'driver' for this device and SAM4S XPlainedPro board.  Perhaps it can help you...

 

Greetz

 

Paul

Attachment(s): 

"As simple as possible, but not simpler"

GUI Framework for Atmel Xplained Pro