Reversing the VFD

hacked_vfd

Heya,

I had a broken Philips DVD player lying around for sometime, so I decided I’ll take out the LCD panel inside it and play a little.

First of all, I discovered that it was a VFD not a LCD, but programmatically that wasn’t a huge difference !.

The unit contained 7 digits, each digit was a 16 segment VFD, And was driven by an ET16312n chip !

First thing was to get the datasheet to know how to wire the panel to my computer, and how to talk to it !

After some research I found the NEC datasheet and learned that most VFDs have the same NEC standard and if you manage to program one panel, it’s most likely that any other brand will work the same way with minor mods in your code !

After some tracing I managed to get the serial leads, which were STB, CLK, Din, Dout (Din and Dout are shorted on my board, input is read on the rise of CLK, and outputs are read on the fall of CLK)

After wiring those pins to my parallel port (Yeah I didn’t have a serial interface and I’m too lazy to buy one, and I’m bad with soldering too !),
I connected the STB pin to pin 2, Din/Dout to pin 3 and the STB to pin 4 on my parallel port.

Power connections are give in the datasheet pins 7, 14, 27 are for Vss, Vdd, Vee respectively (You’ll need to power sources for that, Vss it in the 5.5 v Range, and Vee goes down to -30 volts (That’s a VFD thing, don’t ask)

After all the wiring and powering is done, it’s time to go to my PC and start writing a driver code !

My box runs Ubuntu, you’ll just need the `build-essential` package for this. You probably have it, if not just “sudo apt-get install build-essential”

You can go ahead and download the code attached to this post, it’s written in C, just compile and connect your panel and things should work right away :)

I’ve written the code to read text from a file, then scroll it on the screen (since we can only have 6 chars displayed at a time)

Another issue that came across me was how the encoding of the characters worked, I tried lots of methods but the easiest (for me) was to calculate it by pen and paper, took around 20 minutes to calculate the binary representation from letters from A to Z. they are defined in the 16seg.h header file for your convenience :)

Here’s a picture of the final product, hope you like it:

 

For the time being that’s all I reached and all I’m going to do on this project, it can be pushed further but for my concerns, it was just for fun and I don’t really need it. however there are many cool uses that can be done (since it contains push buttons and an IR sensor), think about the possibilities, perhaps yet another twitter notifier that works via a TV remote ?? ;-)

If you have questions leave it in the comments or email me, I’d be happy to help anytime !

Happy reversing :)

Downloads:
vfd.tar
(Source code)
UPD16312 (Datasheet)

 

17 comments

  1. Pingback: VFD Hacking - Hack a Day

  2. Pingback: VFD Hacking | You've been blogged!

  3. Pingback: .:: Arindam's Blog ::. » Blog Archive » VFD Hacking » .:: Arindam's Blog ::.

  4. Qbert   •  

    Nice work….

    As far as what to do with it, put your current CPU load etc out to it….

    • Mostafaberg   •     Author

      Thanks QBert, Yeah I tried putting CPU load on it, was fun for a while, but I didn’t like the looks, it’s on a breadboard with a huge panel with buttons, etc…
      If i wasn’t so lazy, I probably would write the driver for the buttons and IR too, and embed it into my case, that would be more fun. but as I said, I’m so lazy ;-)

  5. Coda   •  

    Hi. nice job. I found I have a VFD on an almost identical looking board, also using the UPD16312 chip. I’m going to drive it from an arduino, that’s easy enough, but finding a solution for the large negative voltage is giving me a headache. How did you do it?

    • Mostafaberg   •     Author

      Hey Coda, Yeah i’m sure the Arduino will drive it perfectly, i know how annoying it is to get all that negative voltage, here’s what i did:

      Connected two Generic DC adaptors to a common positive, and set one to run on a +5v, and the other to run on -12v
      the common positive node will be the Ground, and you’ll have a +5 and -12 to run your arduino and vfd

      if you need a schematic let me know I can sketch up something quickly for you, keep me updated about your project :)

    • jack   •  

      Hi i was just wondering if you could post a schematic please also could you show me a better picture of the wires on the breadboard i’m having a bit of trouble finding the serial wires. Please :)

    • Mostafaberg   •     Author

      Hi jack, sure i’ll try uploading a schematic later tomorrow, i’ll also email it to you and update the post here :)

  6. Jerry   •  

    Thnx a lot Qbert! I’ve got the same DVD player, and i just need vfd display. I lost so much time to find any manual for ET16312N (driver) until found Your blog. So again – THANKS A LOT Qbert!

  7. barbudor   •  

    Hi QBert

    Nice work!
    Just came across the same display.
    Could you please confirm that we need to provide -30V power to lit the display ?
    Any idea of the required current ?
    I was thinking about using basic volatge multiplier using diod/capacitor cascade.

    • Berg   •     Author

      Hi Barbudor !, yeah I’m sure it’s -30v , but anything in the -20v range will work, how are you planning to power it? think the current from a normal 12v adaptor will work !

    • barbudor   •  

      Hi Berg
      Don’t know yet. Would have a 5V PSU, then as Isaid, may be doing a basic charge pump
      Using pulsing digital pin and a multiplier like http://en.wikipedia.org/wiki/Voltage_multiplier, it’s easy to get a few -tenth of volts but not much current.
      Do you have any idea of how much current is required on the -20..30V ?

  8. Ant   •  

    Hey Mostafaberg, I have an arduino and the same vfd.
    I would like know if it’s possible to run this vfd if the arduino run on usb?
    thanks

    • Berg   •     Author

      Amazing Job !, this looks even more functional than what I did, what are your plans for it ?

    • Tomasz   •  

      Hi Roman
      I’m new to electronics.I just found an old display (from an old philips dvd).
      Can you tell me what exactly is that you used to make the VFD work and show words.
      Sorry if it’s too basic for you but i really want to personalize one old vfd
      thanks

Leave a Reply