Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for HX8705-B controllers #481

Closed
Crazyphil opened this issue Jan 13, 2018 · 5 comments
Closed

Support for HX8705-B controllers #481

Crazyphil opened this issue Jan 13, 2018 · 5 comments
Labels

Comments

@Crazyphil
Copy link

There are some E-Ink displays with high DPI resolutions, fast refresh rates and grayscale support using a Himax HX8705-B controller (Data sheet: https://www.smart-prototyping.com/image/data/9_Modules/EinkDisplay/GDE043A2/HX8705-B_DS_preliminary_v01_100621.pdf).
One example is the 4.3" 800x600 screen from Good Display (Product page: http://www.buy-lcd.com/index.php?route=product/product&product_id=12515).

Unfortunately, I'm not very experienced in the display area. Is this a controller for which support could be added to u8g2?

@olikraus
Copy link
Owner

This is a controller without display buffer. Very very difficult to drive this e-paper...

@olikraus
Copy link
Owner

As a consequence of the missing display buffer on the controller, you need the buffer in your uC. Because of the e-paper technology, the buffer is required twice. For the 4 graylevels, it would require 800x600x2x2/8 = 240KBytes RAM. I do not know any Arduino Board which has this amount of RAM.

@Crazyphil
Copy link
Author

So the controller really just is there to directly display any data that is pumped into it on the EPD, which I assumed when reading the data sheet?

The double buffer is needed so the display can be cleared without long-term effects using a device-specific LUT, which I therefore assume also isn't done by the controller. If I streamed the current display data to the µC (I have a wireless door display in mind), I would need just a bit more than 120 KB RAM (the old display data + the network receive buffer) for this task.

Apart from that, there are Arduinos with enough RAM, namely the 32-bit variants Tian and Industrial 101, each having luxurious 64 MB (or, alternatively, the famous EPS32, which isn't technically an Arduino but programmable using the Arduino platform).

@JamesGKent
Copy link
Contributor

@Crazyphil the Tians MIPS core has 64MB of ram, but the arm core that you can program with arduino only has 32KB, likewise the industrial 101 has a MIPS core running linux with 64MB of ram, but the programmable arduino core only has 2.5KB so @olikraus is correct in saying there aren't any arduino cores with the required memory.

@olikraus
Copy link
Owner

Well then, I hope it is fine to close this topic. U8g2 is designed for monochrome displays with internal memory, which is not true for the requested controller.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants