Use of 2.4" Transparent OLED Display with Arduino

Hello, I am currently trying to make a Heads up Display with a pair of transparent OLEDs I can purchase from Alibaba here. I have recived the datasheet and will link the relevant information below. It is a 8 bit parallel display and I found an adafruit guide on doing this with a 2.8" display here but I thought that it would defiantly come out distorted if I tried to mess around with the code to change it. I have never worked with displays before so if anyone can shed some light on this problem, it would be great.
Many Thanks,
Thomas

EDIT:
Like a complete idiot, after 1 hour of extra-searching, I came across a 2.4" adafruit guide which you can find here if you need it Sorry for not finding this earlier but I hope someone can find this post useful

EDIT 2:
Well, it says that this should only be done with the UNO or Mega on the adafruit site, can someone give an idea of how I could use a nano? I thought I could just wire it up, upload the code, and change the board in the Adafruit_TFTLCD pin_magic.h but maybe its not that simple. Many thanks anyway.

EDIT 3:
So, from where I am right now, to get this darn thing to work, you must wire up the schematic on page 8 of the PDF below, then connect it to a Arduino or something better as shown here: 8-Bit Wiring & Test | Adafruit 2.4" Color TFT Touchscreen Breakout | Adafruit Learning System then you must adapt the AdafruitTFT library to fit with the MIPI/8 Bit Parallel Display. Finally, when everything doesn't work, ask someone who knows what they are doing (not me)

TP241MC01G (1).pdf (1.77 MB)

The Command() Data() values in the example at the end of your PDF look like regular MIPI commands.

So I suspect that it will be simple to adapt a library.
The user software will be just like any TFT program. e.g. I suggest using Adafruit_GFX style graphics.

"Mirroring" is trivial to implement.

I can not locate a DA8620 datasheet. If you can find a link, I can probably support DA6820 in MCUFRIEND_kbv. Or show you what to do in Adafruit_TFTLCD

David.

Thanks David,
I have looked for the library also but cannot seem to find one. I assume I should use the AdafruitTFT libary as there is a guide for using a 2.4" 8 Bit DBI display with it. If, like you say, I can use MIPI, how would I go about hooking it up to the arduino and adapting a library to use with it. In short, would you recommend using MIPI (though I have no idea how to do that) or use DBI like the pinout seems to suggests from what I have seen. Ill take a look and see if I can find that datasheet. Many thanks,
Thomas

EDIT:
Ill link the datasheet below:

EDIT 2:
I have now deleted the old and useless datasheet and added the new and correct one.

DA8620-DS-2b_(071010).pdf (1.47 MB)

A datasheet is normally many MegaBytes with 200-500 pages. Your last link is to DA8622 and with little technical information.

Your TP241MC01G PDF is a lot more useful. But I would like to know the proper register details rather than blindly copying the "Example of Initial Code"

I suggest that you look for a more detailed DA8620 datasheet.

David.

Thanks, sorry for the bad datasheet, ill look for a better one. When I have that, what would be the next step forward? Thanks,
Thomas

EDIT:
Apparently, I cant find the datasheet. I have asked the manufactorer of the displays but he may not have it. If we dont get it, would we simply proceed using the AdafruitTFT display and this guide here and some changes to the library to work with an arduino nano? Many Thanks
Thomas

EDIT 2:
I have now found the correct datasheet, read on for a download link.

Forget about the 5V Nano. Unless you want to hand-wire 13 level shifters.
Buy a proper 3.3V board. Then you can wire directly to the module.
If you want something of a similar size to Nano, a $2.25 BluePill is pretty cheap.

Seriously, if the init sequence from your first PDF is correct, you just need that in setup().
Subsequent User commands will use the standard MIPI registers.

I just have to extract the sequence from the PDF. Unfortunately the sequence follows the columns but copy-paste from the PDF follows the rows.

I suggest that you keep on trying to get the datasheet. Without it, I have only got 80% confidence in getting it working. What country are you in?

David.

Hi, Im from the UK. So, when we have the datasheet, you are saying I should hook up the BluePill/Arduino to the display as in the adafruit guide then use it as if it is a MIPI (after I wrote something in the initialisation)? Also, do I need to wire up the schematic on page 8 of the PDF? Thanks,
Thomas

Yes, I suggest that you wire the signals from the schematic on page 8.
I bet that your module will accept 2.8V or 3.3V for power.

Then connect the logic signals to the 3.3V Arduino of your choice.

Run the LCD_ID_readreg sketch and paste the output from the Serial Terminal.

It will take a bit of experimenting to get you running with MCUFRIEND_kbv.
When we have this library working, we can hack Adafruit if that is your preference.

Life will be easier since you are in the UK. (but only if you understand the difference between 3.3V and 5V)

David.

Perfect. Thanks and yes, although my little TP241MC01G can't take 5V, i'm sure YOUR OLED isn't transparent ( ͡° ͜ʖ ͡°) I think i'm going to design the schematic on page 8 as a PCB on Eagle (or more likely Fritzing as I my heart really isn't in mastering Eagle) to save my mind when trying to wire up that on a breadboard. As always, many thanks.
Thomas

Here is the correct datasheet for the DA8620 which I will add below:

DA8620-DS-2b_(071010).pdf (1.47 MB)

Thanks. That is the datasheet that I needed.

Please tell me which 3.3V board you have chosen. And I will tell you how to wire it up.
I presume that you intend to make more than one of these when the prototype is complete.

You can buy adapter pcbs that accept the micro-flex ribbon. From here you can wire to BluePill or other board.
I find that Protoshield boards are handy to use with regular Arduino board headers. This means you can move a prototype from Zero to Due to Nucleo_STM32.

Writing a SED script to unmangle the init sequence from PDF can wait until another day.

David.

Holy smokes - I'm super excited to see where this thread goes! I literally ran across that exact OLED on Alibaba yesterday while trying to figure out what display I was going to use to prototype a device, but was disappointed that I don't really have the experience/knowledge with these types of displays (and couldn't find any other transparent screens at that price). Then I ran across this thread, which sounds very similar to what I would be attempting to do!

All of that to say: Vosem, thank you for posting the datasheets, and David, thank you for all of your insight! I'm afraid I don't have much to offer in this discussion in terms of problem-solving, but I at least wanted to convey my gratitude for sharing your experience here with the rest of us!

Well, regarding which Arduino to use, i'm not sure. I would really like something that is compatible with the Arduino IDE like the ESP8266 but it is quite big (FTDI Chip included) and havn't had much sucess with it previously. I would use something like the teensy, but it doesn't use the Arduino IDE. I think I could use the Pro Mini but don't know if that is 3.3v. Oh, and the BluePIll is only availible in America and you have to change its hardware to get it to work the IDE. If you can recommend anything that fits into my very... in-depth specifications, that would be brilliant.
Oh, and also, a while ago I made my own Arduino in eagle but it failed kinda' badly so attempted to do the same with Fritzing but the tool wasn't powerful enough and I, as I said earlier, don't want to go down the learning eagle route. :slight_smile:
Many Thanks,
Thomas

EDIT:
Oh and also, what would I use as an adaptor for the flex cable? I have found this here (recommended by the supplier) but it is SMT which isn't very good for a first iteration. I also found this here for a extender and this here for a cable itself for anyone wanting to do this project.

Pro Mini 8MHz is 3.3V

Zero or Due require you to add the appropriate cores to the Arduino IDE.
Likewise Teensy, STM32, ...

Bluepill works with Arduino IDE
Bluepill is available in any country. Obviously you pay more than $2.25 if you buy from a UK vendor.

You can buy connectors for the micro-flex. Solder (SMT) to adapter board. Or solder flex directly to the adapter like this universal 50-pin pcb.

Or this 40-pin adapter pcb

How many display modules do you have on your desk?
How much did you pay?

David.

Edit. Added pcb links.
The Chinese are good at "advertising". So the one-off price is $50. You probably want to use a connector for the prototype. OTOH, a neighbour could unsolder it for you when you want to mount on the final pcb.

Transparent OLED is very attractive. It is probably cheaper to use a mirrored TFT.
The display is far too big for "spectacles"

Okay, well I will probably use a Pro Mini and unfortunately the display is still in shipping :o . I paid 50 dollars for the one and plan to embed it in glasses when finished. Sorry for the long delay on the project but I really hope this thread doesn't die because of shipping. Many Thanks,
Thomas

EDIT:
Not sure weather to reply here or not to your edit but okay. I was thinking more a headset rather then the glasses and I knew a UK company (will post the link here if I get it) that is planning on making custom transparent OLEDs to order, (possibly I2C or SPI maybe) so that could be useful in future iterations.

Do you need the Displays on my desk to be able to modify the adafruitTFT library or can we carry on regardless just so the thread doesn't die unfinished. I understand we are using a 8 bit DBI interface and a DBI library but using MIPI code? Is that right? If so, how would I go about implementing the MIPI code into the adafruitTFT library? Many thanks,
Thomas

Yes, I do need you to have your display(s) on your desk.

I can adapt a library. But only if there is someone to test the library on real hardware and provide feedback.

To get any hardware running, you must:

  1. obtain a 3.3V Arduino
  2. wire your 3.3V module to the Arduino pins that I tell you. (adapter pcb is useful)

If you are not confident with soldering to the adapter pcb, ask a neighbour or colleague.
BuyDisplay or Newhaven might have a ready-soldered adapter with a flex connector.

David.

Thanks yeah and 2 or 3 pro mini 3.3v arduinos are on there way and I could solder the displays but I know someone with a nice fancy heat gun who will do that for me. Once we have the arduinos and the display, should I wire up the diagram on page 8 to the display? After that, should I wire up the other end of the diagram to the arduinos as the adafruitTFT guides suggests or something else. I just want to have a good knowledge of what your explaining as I don't want to have another delay in the project if I explode the display (which is entirely possible as 5v = 3.3v in my mind).
As always I can't thank you enough as I'm sure your solving mine, and others, project.
Thomas

Do you recommend I get a PCB manufactured with a slot for a Pro MINI, the design on page 8, the wiring from adafruit and a flex cable connector? I know someone who can use Eagle very well and i'm sure he would have a crack at it. Many thanks,
Thomas

My advice is buy:
3.3V Arduino e.g. Zero, Due, STM32 Nucleo, ...
adapter for your flex ribbon.
Dupont cables or jumper wires
Sticky tape to hold it together safely.

Do not even dream of making pcb until you have your software fully debugged and running on a prototype.

PM me with your email and phone. We live in the same country !!
I can probably send you a 3.3V Arduino. A Pro Mini requires USB-Serial and power. It all gets fairly messy.

I do not have a ribbon adapter pcb. Until you can connect wires to your display, we can't test anything.

David.