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

Two new/old China Displays/Add support for HX1230 #469

Closed
bobybobybob opened this issue Dec 27, 2017 · 27 comments
Closed

Two new/old China Displays/Add support for HX1230 #469

bobybobybob opened this issue Dec 27, 2017 · 27 comments
Milestone

Comments

@bobybobybob
Copy link

bobybobybob commented Dec 27, 2017

Hello Great Codemaster

do you know what Chip is used for that Mono 128x64 Orange Display? https://aliexpress.com/item/LCD12864-LCD-Screen-128-64-Screen-128X64-LCD-Screen-Shield-Electrum-LED-backlight-Send-application-C51/32848043619.html

I have random test some and U8G2_ST7565_NHD_C12864_1_4W_SW_SPI looks very good

noname128x64


I have no luck with HX1230 get random work with u8g2

it has 96x68 Pixel 3.3V and is original maybe from nokia.

Some other Codemaster made it work https://www.instructables.com/id/HX1230-LCD-Simple-Arduino-NANO-Clock/

Maybe you can support that lcd with u8g2 too or maybe it is already support but i dont know the right name in the big list.

@olikraus
Copy link
Owner

The HX1230 looks like a PCF8812 controller:

https://github.com/olikraus/u8g2/wiki/u8g2setupcpp#pcf8812-96x65

@bobybobybob
Copy link
Author

bobybobybob commented Dec 28, 2017

I have tested some random

not work : U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2(U8G2_R0,
not work : U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI u8g2(U8G2_R0,
not work : U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_LD7032_60X32_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI u8g2(U8G2_R0
not work : U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI u8g2(U8G2_R0,
not work : U8G2_PCD8544_84X48_1_4W_HW_SPI u8g2(U8G2_R0,
not work : U8G2_PCF8812_96X65_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_PCF8812_96X65_1_4W_HW_SPI u8g2(U8G2_R0,
not work : U8G2_KS0108_128X64_1 u8g2(U8G2_R0, 8, 9, 10,
not work : U8G2_ST7565_64128N_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_ST7565_NHD_C12832_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_ST7565_NHD_C12864_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2(U8G2_R0,
not work : U8G2_IST3020_ERC19264_1_6800 u8g2(U8G2_R0, 44
not work : U8G2_UC1638_160X128_1_4W_HW_SPI u8g2(U8G2_R2,

Background light flicker U8G2_SSD1606_172X72_1_4W_SW_SPI u8g2(U8G2_R0,
Background light flicker U8G2_SSD1607_200X200_1_4W_SW_SPI u8g2(U8G2_R0,

Mr. Chinese has release a chinese Dataguide but too much chinese i lever learned chinese language to understand it. Maybee you understand some of it https://cdn.instructables.com/ORIG/F4Y/Z9ZU/J76GKXJX/F4YZ9ZUJ76GKXJX.pdf

On backside the lcd there is chinese sign and maybe Korean sign and big hx1230 96 x 68

@olikraus
Copy link
Owner

Did you Test U8G2_PCF8812_96X65_1_4W_SW_SPI?

@bobybobybob
Copy link
Author

Yes i tested all listed above and now again the U8G2_PCF8812_96X65_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=/ 13, / data=/ 11, / cs=/ 10, / dc=/ 9, / reset=*/ 8); // Could be also PCF8814

The display has only CE and i have put CS and later DC on it with no reaction... ok little reaction.. the light flicker some rythmic.

Backside is

GND | BL | VCC | CLK | DIN | N/C | CE | RST
GND| +3.3V| +3.3V| 13 | 11 | | 9 | 8 No
GND| +3.3V| +3.3V| 13 | 11 | | 10 | 8 Only Backlight Flicker

Shall i destroy my LCD and look behind the LCD so I maybe can find an IC Name or other usefull information for you? I have only one. Order a new one take time but ofcourse it is not very expensive, sometimes a little cheaper than the good old 5110nokia

@olikraus
Copy link
Owner

well, i think there is too less of information, so adding support to u8g2 will be too difficult...

@bobybobybob
Copy link
Author

bobybobybob commented Dec 29, 2017

I have a clue :-) I add some Pictures i have made and that is all additional information i can give you. The Backside of LCD is only some Doubletape taped. I have cut it off to make new View.

Maybe it is a litte usefull in future if that LCD get popular or nice Datapaper or help to identify the LCD
xlcd
panel.
Then we close the topic and look forward to the future.. I will contact you again if I can bring something interesting to new experience.

I am very Happy that the 128x64 Orange Display work out the Box :-)

@olikraus
Copy link
Owner

I have ordered one of these displays from here:
https://de.aliexpress.com/item/HX1230-LCD-screen-better-than-5110-resolution-96x68-picture-text-display/32810394997.html

It will usually take 4 weeks to reach me.

@olikraus olikraus changed the title Two new/old China Displays Two new/old China Displays/Add support for HX1230 Dec 30, 2017
@bobybobybob
Copy link
Author

bobybobybob commented Dec 31, 2017

Dear Codemaster,

I feel very ashamed to have compelled you to buy this LCD. Excuse me. But also thanks for your help for me and other users with great support and cordialiti.

@olikraus
Copy link
Owner

olikraus commented Jan 1, 2018

No issue. It is (A) very cheap and (B) I did this before with many other displays. ;-)

@olikraus olikraus added this to the 2.21 milestone Jan 14, 2018
@olikraus
Copy link
Owner

display arrived... next step: implementation

@54696d21
Copy link

54696d21 commented Feb 2, 2018

Politely asking Hi, can you estimate how long this will take? (I really like the backlight of this display and want to use it for a project that I have to hand in mid-February.) No pressure at all (I have also other displays) :)

@olikraus
Copy link
Owner

olikraus commented Feb 2, 2018

Well, yes... First I started to translate the chinese documentation. So here is the English version of the HX1230 command table:

Cmd D/C D7 D6 D5 D4 D3 D2 D1 D0 Description Init Seq
Set Power 0 0 0 1 0 W3 W2 W1 W0 W=1111: On, W=1000: Off 0x02f
Set Contrast 0 1 0 0 B4 B3 B2 B1 B0 Contrast? 0x090
Set Invert Display 0 1 0 1 0 0 1 1 A0 A0=0: Normal, A0=1: Inverse 0x0a6
Set all Pixel On 0 1 0 1 0 0 1 0 A0 A0=0: Normal, A0=1: All On 0x0a4
Display Enable 0 1 0 1 0 1 1 1 A0 A0=0: Off, A0=1: On 0x0af
Set Page 0 1 0 1 1 0 Y2 Y1 Y0 Page 0<=Y<=7 -
Set Column Lo 0 0 0 0 0 X3 X2 X1 X0   -
Set Column Hi 0 0 0 0 1 0 X6 X5 X4   -
Set Scan Start 0 0 1 S5 S4 S3 S2 S1 S0 Start Line 0<=S<=63 0x040
Write Data 1 D7 D6 D5 D4 D3 D2 D1 D0    

olikraus added a commit that referenced this issue Feb 2, 2018
@olikraus
Copy link
Owner

olikraus commented Feb 2, 2018

done

https://github.com/olikraus/u8g2/wiki/img/hx1230_96x68.jpg

I personally would say, that there are better displays: The contrast is still a little bit high and can not be reduced further (maybe i should test 3.3V power supply). There seems to be only one backlight LED in the upper left corner which leads to a little bit unbalanced backlight. But no doubt, price is great.

@bobybobybob
This is a three-wire SPI display module. So for U8g2, only the 3W constructors will work:

U8G2_HX1230_96X68_1_3W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* reset=*/ 8);

So from that perspective it was no wonder, that none of the other displays did work.

@olikraus
Copy link
Owner

olikraus commented Feb 2, 2018

please download U8g2 2.21.6 from here:
https://github.com/olikraus/U8g2_Arduino

Install via Arduino IDE (add zip lib menu). Will the HX1230 support work for you?

@bobybobybob
Copy link
Author

bobybobybob commented Feb 11, 2018

zz123

I found out, out variable turning-resistor on VCC+GND exit to VCC Display it is possible to make little tuning on contrast. Is backlight active it is smaller range for contrast but also good.

@olikraus
Copy link
Owner

looks good :-)

@54696d21
Copy link

Thank you very much :) It works for me too. Except for rotation levels R2 and R3 (as constructor value), so rotating by 180 and 270 degrees doesn't work at all.

@olikraus
Copy link
Owner

Oh, then maybe I have to check the rotations. Thanks for the feedback.

@olikraus
Copy link
Owner

Thank you very much :) It works for me too. Except for rotation levels R2 and R3 (as constructor value), so rotating by 180 and 270 degrees doesn't work at all.

I checked this, for R2 and R3 some rows/columns are missing. i will do some further investigation.

@olikraus
Copy link
Owner

Fixed R2 and R3.

olikraus added a commit that referenced this issue Feb 18, 2018
…3 do not show the lower four rows. This is fixed. Issue #469
@bitbank2
Copy link

bitbank2 commented May 1, 2018

The commands to flip the HX1230 180 degrees are similar to other controllers: 0xc8 + 0xa1

@olikraus
Copy link
Owner

olikraus commented May 1, 2018

Is this a question or a bug report?

@bitbank2
Copy link

bitbank2 commented May 1, 2018

In your code repo, it appears that the flip180 logic for the HX1230 is commented out. I thought you would find it useful to know the 2 commands needed to implement it. (0xc0 & 0xa0 resets to normal).

@olikraus
Copy link
Owner

olikraus commented May 1, 2018

oh, I did not know this... I will test this...

olikraus added a commit that referenced this issue May 1, 2018
@olikraus
Copy link
Owner

olikraus commented May 1, 2018

Excellent. Works without problem. Thanks a lot.

@olikraus olikraus modified the milestones: 2.21, 2.23 May 1, 2018
@mcauser
Copy link

mcauser commented Aug 17, 2019

@olikraus 3 additional commands for your table above:

Cmd D/C D7 D6 D5 D4 D3 D2 D1 D0 Description Init Seq
Flip Horizontal 0 1 0 1 0 0 0 0 N/R Normal 0xa0, Reverse 0xa1 0xa0
Flip Vertical 0 1 1 0 0 N/R 0 0 0 Normal 0xc0, Reverse 0xc8 0xc0
Software Reset 0 1 1 1 0 0 0 1 0 0xe2 -

If you flip both horizontal and vertical, it's effectively a rotate 180 deg.

If you don't use the RST pin (connect to VCC), you can perform a reset in software with 0xe2.

@olikraus
Copy link
Owner

Great, thanks for the additional commands.

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

No branches or pull requests

5 participants