Odroid N2 & OpenVFD

#1

I’ve added (and tested) support for the OLED displays to the OpenVFD driver on the N2, so you can try it out already.
Just install latest nightly and put in the correct vfd.conf file, then reboot.

Odroid N2 OLED I2C driver
#2

Great, Thanks, I’ll try tomorrow, once I receive it.

#3

I tried openvfd addon today,but nothing displays.

and one question:
which folder is the odroid-n2-ssd1306-12832-i2c-vfd.conf file place, should I rename it to vfd.conf?

@roidy are your ssd1306 driver necessary?

#4

Yes, the file needs to be renamed to vfd.conf. It needs to be placed in /storage/.config (Configfiles on SMB)
And you need to connect the SDA/SCL pins of the display to the N2 pins in the vfd.conf file.

#5

this is exactly what I do,but not successful.

#6

What’s the problem exactly? Post dmesg | grep OpenVFD | paste log and systemctl status openvfd

#7

Typo I guess. Should be :
systemctl status openvfd

1 Like
#8

● openvfd.service - OpenVFD Service
Loaded: loaded (/usr/lib/systemd/system/openvfd.service; disabled; vendor pre
Active: active (running) since Fri 2018-06-22 19:11:49 CST; 10 months 14 days
Main PID: 3293 (OpenVFDService)
Memory: 1.0M
CGroup: /system.slice/openvfd.service
└─3293 /usr/sbin/OpenVFDService

Jun 22 19:11:49 CoreELEC systemd[1]: Started OpenVFD Service.

CoreELEC-N2-BK:~ # dmesg | grep OpenVFD
[ 5.882406@0] OpenVFD: Version: V1.3.0
[ 5.882417@0] OpenVFD: vfd_gpio_clk: #0 = 0x00; #1 = 0x42; #2 = 0x00;
[ 5.882420@0] OpenVFD: vfd_gpio_dat: #0 = 0x00; #1 = 0x43; #2 = 0x00;
[ 5.882425@0] OpenVFD: vfd_gpio_stb: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 5.882428@0] OpenVFD: vfd_gpio0: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 5.882431@0] OpenVFD: vfd_gpio1: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 5.882434@0] OpenVFD: vfd_gpio2: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 5.882437@0] OpenVFD: vfd_gpio3: #0 = 0x00; #1 = 0x00; #2 = 0xFF;
[ 5.882441@0] OpenVFD: vfd_chars: #0 = 0x00; #1 = 0x01; #2 = 0x02; #3 = 0x03; #4 = 0x04;
[ 5.882447@0] OpenVFD: vfd_dot_bits: #0 = 0x00; #1 = 0x01; #2 = 0x02; #3 = 0x03; #4 = 0x04; #5 = 0x05; #6 = 0x06;
[ 5.882450@0] OpenVFD: vfd_display_type: #0 = 0x1F; #1 = 0x3C; #2 = 0x08; #3 = 0xFD;
[ 5.882457@0] OpenVFD: Detected gpio chips: periphs-banks, aobus-banks.
[ 5.882462@0] OpenVFD: “periphs-banks” chip found. base = 410, pin count = 86, pin = 66, offset = 476
[ 5.882464@0] OpenVFD: “periphs-banks” chip found. base = 410, pin count = 86, pin = 67, offset = 477
[ 5.882465@0] OpenVFD: Skipping vfd_gpio_stb evaluation (0xFF)
[ 5.882467@0] OpenVFD: Skipping vfd_gpio0 evaluation (0xFF)
[ 5.882468@0] OpenVFD: Skipping vfd_gpio1 evaluation (0xFF)
[ 5.882470@0] OpenVFD: Skipping vfd_gpio2 evaluation (0xFF)
[ 5.882471@0] OpenVFD: Skipping vfd_gpio3 evaluation (0xFF)
[ 5.882941@5] OpenVFD: Select SSD1306 controller
[ 5.883012@5] OpenVFD: I2C interface failed to intialize. Could not establish communication with I2C slave
[ 5.883013@5] OpenVFD: Failed to initialize the controller, reverting to Dummy controller
[ 30.756058@4] OpenVFD: Select SSD1306 controller
[ 30.756126@4] OpenVFD: I2C interface failed to intialize. Could not establish communication with I2C slave
[ 30.756127@4] OpenVFD: Failed to initialize the controller, reverting to Dummy controller

#9

Something must be wrong with the way your OLED is connected to the N2. The driver couldn’t establish a connection to the OLED. Does the display state which address it uses? It can be 0x3C or 0x3D (can sometimes be 0x78 or 0x7A)
Recheck your wiring.
OLED SCL pin should go to pin 16 on N2
OLED SDA pin should go to pin 18 on N2

#10

OLED SCL pin should go to pin 16 on N2
OLED SDA pin should go to pin 18 on N2

It’s working now, Thanks.

1 Like
#11

and the 0.91" 128x32 perfect suit the case

1 Like
#12

That looks really cool. Is it mounted inside or outside of the case? I can’t tell by hte pic.

#13

It is mounted inside.

2 Likes
#14

I think this is really awesome! The display fits perfectly.
I have a couple of 128x32 displays, but my N2 sits in a cabinet.
But I think this mod should be pretty easy for users to perform, as it only needs a few things like a piece of tape, double sided tape or hot glue, the display and a dupont cable. And it’s reversible.
It’s also possible to rotate the display 180° so that the pins of the display could point to the right.

#15

You had to cut the case right? Or does the display really show that brightly through the dark case?

#16

no need to cut the case. and bright enough.

1 Like
#17

Wow that really is great. Tremendous work!! Was going to go for a bigger display but need to rethink now.

#18

Great job!

#19

@TheCoolest Can I change the font size? I want small font to show more icon and the “sec” of time.

#20

The font for 128x32 displays is the smallest font you can use for displaying time.
Since the OLED support in the driver was primarily designed to mimic how the normal led displays work and look on these boxes, it’s a little limited.
If you open the vfd.conf file and scroll to the end, you can change
vfd_display_type='0x1F,0x3C,0x08,0xFD'
to
vfd_display_type='0x1F,0x3C,0x09,0xFD'
This should force it to print seconds, but it’s likely to mess with the icons (that’s why this field is marked as reserved)
After saving you need to restart the openvfd service, or reboot the box.