How to configure VFD

vfd_gpio_clk 0.76.0
vfd_gpio_dat 0.75.0
vfd_gpio_stb 0.0.0xFF
Try this config тх3 mini

Thanks. I used the vfd.conf for the TX3 mini and changed the 3 parameters as per your request. It’s not working, but I do see kernel VFD messages:

[ 11.414062@2] OpenVFD: Version: V1.3.0
[ 11.414080@2] OpenVFD: vfd_gpio_clk: #0 = 0x00; #1 = 0x4C; #2 = 0x00;
[ 11.414084@2] OpenVFD: vfd_gpio_dat: #0 = 0x00; #1 = 0x4B; #2 = 0x00;
[ 11.414089@2] OpenVFD: vfd_gpio_stb: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.414093@2] OpenVFD: vfd_gpio0: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.414098@2] OpenVFD: vfd_gpio1: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.414102@2] OpenVFD: vfd_gpio2: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.414106@2] OpenVFD: vfd_gpio3: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.414110@2] OpenVFD: vfd_gpio_protocol: #0 = 0x00; #1 = 0x00;
[ 11.414116@2] OpenVFD: vfd_chars: #0 = 0x04; #1 = 0x03; #2 = 0x02; #3 = 0x01; #4 = 0x00;
[ 11.414123@2] OpenVFD: vfd_dot_bits: #0 = 0x00; #1 = 0x01; #2 = 0x02; #3 = 0x03; #4 = 0x04; #5 = 0x05; #6 = 0x06;
[ 11.414128@2] OpenVFD: vfd_display_type: #0 = 0x01; #1 = 0x00; #2 = 0x00; #3 = 0x00;
[ 11.414137@2] OpenVFD: Detected gpio chips: periphs-banks, aobus-banks.
[ 11.414145@2] OpenVFD: “periphs-banks” chip found. base = 401, pin count = 100, pin = 76, offset = 477
[ 11.414149@2] OpenVFD: “periphs-banks” chip found. base = 401, pin count = 100, pin = 75, offset = 476
[ 11.414152@2] OpenVFD: Skipping vfd_gpio_stb evaluation (0xFF)
[ 11.414154@2] OpenVFD: Skipping vfd_gpio0 evaluation (0xFF)
[ 11.414155@2] OpenVFD: Skipping vfd_gpio1 evaluation (0xFF)
[ 11.414157@2] OpenVFD: Skipping vfd_gpio2 evaluation (0xFF)
[ 11.414159@2] OpenVFD: Skipping vfd_gpio3 evaluation (0xFF)
[ 11.415134@1] OpenVFD: Select FD628 controller
[ 11.415174@1] OpenVFD: SW SPI 3-wire interface failed to intialize. Invalid CLK (477), DAT (476) or STB (-2) pins
[ 11.415178@1] OpenVFD: Failed to initialize the controller, reverting to Dummy controller

Then it’s most likely a FD655S, should be similar/identical in functionality to the FD655.
Try to change
vfd_display_type='0x01,0x00,0x00,0x06' to vfd_display_type='0x01,0x00,0x00,0x05' in both files and give them a try.
Also, if it still doesn’t work, reboot and then post a dmesg log, perhaps there is a conflict with the pins with another driver.
You can run dmesg | paste in ssh and paste the link here.

@machello
Try this file
tanix-tx3-2-vfd.conf (1.2 KB)
Please let me know if it works or not.

Great…looks like we’re slowly getting there: I’m getting results. I tried several configurations, bu since the chip inside the box is labelled FD650B-S the file that you supplied (with vfd_display_type=‘0x01,0x00,0x00,0x03’) seems most promising.

The display now shows this:

And dmesg |grep -i vfd gives this:

[ 11.506018@2] OpenVFD: Version: V1.3.0
[ 11.506031@2] OpenVFD: vfd_gpio_clk: #0 = 0x00; #1 = 0x4C; #2 = 0x00;
[ 11.506035@2] OpenVFD: vfd_gpio_dat: #0 = 0x00; #1 = 0x4B; #2 = 0x00;
[ 11.506039@2] OpenVFD: vfd_gpio_stb: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.506044@2] OpenVFD: vfd_gpio0: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.506048@2] OpenVFD: vfd_gpio1: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.506052@2] OpenVFD: vfd_gpio2: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.506056@2] OpenVFD: vfd_gpio3: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 11.506060@2] OpenVFD: vfd_gpio_protocol: #0 = 0x00; #1 = 0x00;
[ 11.506066@2] OpenVFD: vfd_chars: #0 = 0x04; #1 = 0x03; #2 = 0x02; #3 = 0x01; #4 = 0x00;
[ 11.506073@2] OpenVFD: vfd_dot_bits: #0 = 0x00; #1 = 0x01; #2 = 0x02; #3 = 0x03; #4 = 0x04; #5 = 0x05; #6 = 0x06;
[ 11.506077@2] OpenVFD: vfd_display_type: #0 = 0x01; #1 = 0x00; #2 = 0x00; #3 = 0x03;
[ 11.506083@2] OpenVFD: Detected gpio chips: periphs-banks, aobus-banks.
[ 11.506090@2] OpenVFD: “periphs-banks” chip found. base = 401, pin count = 100, pin = 76, offset = 477
[ 11.506093@2] OpenVFD: “periphs-banks” chip found. base = 401, pin count = 100, pin = 75, offset = 476
[ 11.506096@2] OpenVFD: Skipping vfd_gpio_stb evaluation (0xFF)
[ 11.506097@2] OpenVFD: Skipping vfd_gpio0 evaluation (0xFF)
[ 11.506099@2] OpenVFD: Skipping vfd_gpio1 evaluation (0xFF)
[ 11.506101@2] OpenVFD: Skipping vfd_gpio2 evaluation (0xFF)
[ 11.506103@2] OpenVFD: Skipping vfd_gpio3 evaluation (0xFF)
[ 11.507091@1] OpenVFD: Select FD650 controller
[ 11.507181@1] OpenVFD: SW I2C interface intialized (address = 0x0000 (N/A), MSB mode, pull-ups off)

How should I proceed from here?

Change the vfd_chars settings to this: vfd_chars='2,0,1,2,3'
And vfd_display_type to vfd_display_type=‘0x00,0x00,0x00,0x03’

Great! I’m getting readable characters now and they’re no longer upside down. Now, there’s only one thing left: how to get it to display the correct time? It currently says:

0:41

CoreELEC:~ # date
Wed Mar 10 10:41:43 CET 2021

Not sure if that means the time is just off, or that it’s lacking the first character?

First of all, make sure that you DO NOT have the OpenVFD addon installed. Since your display doesn’t have any indicators besides :, you don’t need it.

Second, is the time _0:41 or 0_:41? Are the minutes 100% correct?

But basically, the layout of the chars is < D,H,H:M,M > Order of display chars (D=dots, represented by a single char)
So you need to leave the first 2 where it is and then play around with different combinations of numbers from 0 to 3 (perhaps try 4 and see if the missing hour digit appears)


Now I get this

Awesome, change to vfd_display_type='0x00,0x00,0x00,0x05'
Which of the two files did you use as basis?


Used file 2, changed to 0x00.0x00.0x00.0x05

Clock in the mirror reflection

Try this:
2-m96x-ii-plus-vfd.conf (1.2 KB)

Everything is fine now, but no icons are displayed

I still need some guidance here. You’re right it says _21:1 (time was 12:12). I tried changing the 3rd digit to different value, but fail to see the logic yet. For instance, vfd_chars=‘2,0,4,2,3’ gives:

3:72

Actual time: 12:37. So the display is missing the 1st digit and the : is in the wrong place.

vfd_chars=‘2,0,3,2,3’ gives:

4:0 - actual time 12:40

Did you install the OpenVFD Service addon?

Nope, I double checked: it’s not installed.

Openvfd service Installed

What I mean is that the display has HH : MM display.
By _ I meant a missing character. You can’t have _21:1.
If vfd_chars='2,0,4,2,3' gives _3:72 (rather than 3_:72), then try the following:
vfd_chars='2,1,3,4,2'

The service costs but the icons are not displayed

Got it!! I misinterpretated “moving around”. The correct sequence is:

vfd_chars=‘2,1,2,3,4’

For future reference I’ve included the complete vfd.conf:
vfd.conf (1.2 KB)

1 Like