How to drive FUTABA 18-BT-02GINK VFD - Page 1
Forum section: electronics / beginners

author: XploD
author_rank: Contributor
timestamp: March 09, 2024, 09:58:15 am
content: I have a broken Denon AVR-X1300W receiver (dead digital board) so I'm trying to reuse everything else, the first point being the integrated Futaba 18-BT-02GINK VFD display. But I'm struggling to find which driver is inside and how to control it with Arduino. I tried to sniff the data using Bus Pirate v3.5 but it's not helping me much. I've attached everything I could find:schematics and details from Denon service manualscreenshots of data that I sniffed with BPIt has 18 segments and RESET, CS, CP and DATA pins for serial communication.If you need better sniffing pictures, let me know how to do them as I'm a newbie. I recorded this using OpenBench LogicSniffer Client v0.9.7.2 with default settings (not touching anything). I can repeat the sniffing with specific details if needed.Basically I just need to know how to drive this display using Arduino. For this I guess we first need to determine which driver is inside. And then if Arduino library or examples exist for it, that would be awesome. If not, I can do it manually as long as I know the protocol and how to control it.So far I tried to Google all the possible VFD drivers and comparing communication examples with my sniffing results but I haven't find anything so far.Also, if you have any other idea how to find out this info (contacting Futaba or someone), that would be a valuable info as well.Thanks in advance!

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 09, 2024, 10:55:27 am
content: It might not have a so called controller in it and you just write pixels or characters to it repeatedly.Just do a test run with your arduino, but make sure that the voltages match. These displays need a high voltage to work and maybe VDD is also higher then what your arduino uses.You can use your captures as a data source at first and then just toggle some data bit and look at the display what has changed.

author: XploD
author_rank: Contributor
timestamp: March 09, 2024, 11:17:03 am
content: VDD is 3.3V, you can see on the schematics and I guess the serial communication pins are also 3.3V. There are FL- and FL+ which are powered on by a separate output on the AC transformer and there's also an output from transformer called Vdisp, it has +37V and it goes to VDDH on the display, if I'm not mistaken, through some transistors.Actually I think it does because there's nothing happening on the bus when there are no changes on the display. I had to frantically press the remote control to get it to capture anything. Also, as my receiver is broken, I have a floating message on the screen all the time with a long sentence indicating an error and while this screen is active, I'm unable to capture anything so I assume that there has to be some kind of controler inside which is moving the letters.I can experiment with it but I will have to tear down the whole amplifier to get this screen working independently so ideally I wanted to know in advance because I'm currently building a new digital board for this amplifier with ESP32, ADAU1452 DSP and Raspberry Pi Compute Module 4 in Kicad so I wanted to confirm everything before I finish the board, and when I have the board, I will be able to test by using everything as it is.If I won't find an answer here, I will probably tear it down completely, and try to power-up the front board that contains the display and then experiement with Arduino. The good news is that the whole power supply for the display is on that same board (all outputs from the transformer for FL and Vdisp are going directly to the board).

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 10, 2024, 07:04:52 am
content: Maybe thisvideoDave made is of help.The filament is fed with a low AC voltage to heat the tube. It works similar like vacuum tubes.To test with the Arduino you need either a 3.3V version with VDD being 3.3V or use level converters. No need to take the display from the system, just take out the series resistors the schematic shows and connect the Arduino there. Ground, reset, chip enable, clock and data.Whip up a playback sketch to output the data you captured and see what it does.

author: Vladi
author_rank: Newbie
timestamp: March 20, 2024, 04:58:37 am
content: Hey,I actually have the same idea but for AVR-X4100 (17-BT-40GINK).Which image of "sniffing" is the startup? 3rd one? We need to start with the one which you start to capture before power on and while power on.Can you export it anyhow? O'll try to install the same software and look at it. Just need to find a Windows VM:)

author: XploD
author_rank: Contributor
timestamp: March 20, 2024, 06:55:16 am
content: There's no startup, I'm not good at using this software so I don't know how to do the "timing". I would just start recording and then randomly press buttons on the remote until I don't get a result.That's why I was hoping that somebody here will recognize somehow the controller inside based on all the info I provided because if we will have to go this way, it will be though.PS. I still have everything connected so if somebody can recommend me a good software for Bus Pirate and explain how to set it up to get the the power-up sequence, I would be gratefulIn the meantime I'm struggling to use the tuner from the AVR as well. There I know which IC is inside, and I've found Arduino library and tried it but it doesn't work.

author: XploD
author_rank: Contributor
timestamp: September 07, 2024, 09:06:55 am
content: Let's try to bring this topic alive. I was very busy (unfortunately started too many projects) so this was on hold for a while. But today I found some more time and I think I made some progress.It has a protocol almost identical as aMitsubishi M66004SP. Looking at the data that I sniffed, it looks almost the same with the only difference being that mine sets CLK to low while device is busy, and the Mitsubishi one sets it to high. The rest looks the same.So it mostly uses a 2 byte sequences when sending, the first one probably being the command, and the second one the character code. This happens between the two changes of CE from low to high and then back to low. Also, a longer period of CLK set to down can be seen between the bytes which is probably a busy time, the time the driver needs to process the received command. On one of the sniffings there's also a much longer busy time than on others, probably indicating a command that needs a lot of time to process.Next, if you want to set the character RAM data on the Mitsubishi, you need to send 7 bytes at once, between two CE changes. I think I also captured this on my device, as you can see on the third picture, but mine sends 6 bytes instead.So I think we know a little bit more now. And yes, you're probably right, I should now try to connect the Arduino there and start sending those same commands out. I know the data, I know the timing. But I'm worried if this display needs some initialization first. Unfortunately, I was not able to capture the startup of the device, which would eventually showed me the initialization commands. So I'm worried that, even if I manage to successfuly send the command, it might not work if the display is eg. disabled.So I would still like to find which IC is this and have a datasheet for it so that I know all the commands. Do you have any idea how I can look for the IC with all the data I have? Can I conclude that it might be a Mitsubishi one or this is just a gold standard protocol? So far we know:- 5x7 segments, 18 or more digits- 8-bit serial data (probably MSB first)- similar to Mitsubishi M66004FP- 2-byte sequences mostly- CLK to low for tbusy- 6-byte sequence for writting to register/RAM- CS, CP and DATA pins- CS set to low while transmitting data- there are 10 CLK rising edges in 10 us period, so clock is 1 us which would give 1 MHz?PS. I have one more idea: connect Arduino to input from MCU and record the data it receives from the MCU. I can detect CE set to low and then detect rising edges of CLK and store bits. That way maybe I can capture startup commands.EDIT: might it beMitsubishi M66003? This one is 18 digits 5x7! But the datasheet doesn't contain anything about the serial interface. Also, it seems that I'm not the only one with such ideas:https://github.com/siorpaes/DisplayAdapter/blob/master/notes.txtbut this guy mentions that M66003 is similar to M66004, although it isn't because I checked a few commands that I extracted from my sniffs and compared to the list of available commands for M66004 and those don't match.EDIT 2: According tohttps://www.elektroda.pl/rtvforum/topic4071924.html,Yamaha HTR-4065 AVR also uses M66003 and it's display looks rather similar to the Denon in mine.