Introduction: A DVD Player Hack

This is a description of an open source/open hardware project of a remotely controlled Arduino (Freeduino) based clock/thermometer utilising power supply and VFD panel from a broken DVD player in a custom made acrylic enclosure. The aim of the project was to demonstrate what could be done from electronics that has been literally thrown away rather than design one more digital clock.

Having source code and all design files as a starting point it becomes very easy to customise it for your own needs and your own DIY project, even VFD driver might be modified with little efforts to control VFD panel from another DVD player - they all designed in a unified way.

This is a list of features that we've got in the end (and what could be potentially enhanced if you like):
  • Real time clock battery backed up dedicated chip;
  • 1Wire temperature sensor;
  • Controlled wirelessly by any RC;
  • Activated by PIR motion sensor;
  • Speaker;
  • Serial-to-USB convertor for reprogramming and logging purposes;
  • Acrylic enclosure;
  • Full source code is available;
The video demonstrates designing and assembling process and if you find it interesting please welcome to the next page for more technical details!

Thank you and we hope you will find this project useful and worth making!

Step 1: Scrapped DVD Player Parts

Vacuum fluorescent displays (VFD) make any consumer device looking eye-catching, compelling and unusual. A VFD emits a very bright light with high contrast and can support display elements of various colors, some of them are capable of rendering not only seven-segment numerals but characters and even graphical information. VFDs are equally great for anything from professional devices to basic do-it-yourself things. Yet VFDs are rather expensive for small hobby projects and notorious for their non-trivial control as they require voltages higher than just TTL levels, necessity to drive grids in addition to segments or dots and therefore make presence of dedicated VFD controllers highly desirable just to simplify communication with microprocessors.

But what if all this infrastructure already existed, would it be that difficult to combine together something like Arduino controller and VFD? The answer is no, not at all! Most modern DVD players equipped with VFDs and when less reliable mechanical parts (DVD ROM drives) fail devices are simply thrown away. Instead, some electronics could still be reused to give your project a completely new look reducing costs at the same time and saving the environment. In addition to a VFD with controller onboard and a power supply which provides everything with all vital voltage levels there is a bonus – an IR receiver and buttons. VFD controller takes care of refreshing display, handling events from buttons and IR receiver encapsulating whole control into a serial interface and making integration with even primitive controllers very possible, giving in exchange fully functional remotely controlled system.

But enough theory, let’s have a look at a real example. We found a broken DVD player literally lying in the street. Quick test indicated that VFD board and power supply were functional. VFD was 16-segment and therefore capable of displaying not only digits but characters as well. After a few minutes of internet search model name was identified: Philips DVP630

For our experiment we will need a front VFD panel and a power supply board only.

Step 2:

Having the service manual and VFD driver datasheet in front of you significantly simplifies reverse engineering. It took us only a few minutes of googling – and service manual with schematic diagrams were found. After opening up Philips DVP630_632_642 schematic diagram  (please find the file attached below) and looking at page 3 it becomes obvious that the player utilises DP501 HNV-07SS61 display from Samsung which is controlled by HT16512. Then downloading datasheet for HT16512 (please find the attached file below) – it is a VFD driver with 11 segment output lines, 6 grid output lines, 5 segment/grid output lines 4 LED output ports, a control circuit, a display memory and a key scan circuit. Serial data inputs to the HT16512 through a three-serial interface – just what we need!

Returning back to the page 3 of the service manual, checking RB502 connector – there are V-CLK, V-CS, V-DATE to control VFD. Also we will need GND, IR (output from infrared receiver) and +5V. An attentive reader should notice that there is also +5V_STB at RB501 connector. It is 5V standby voltage that is always applied. +5V appears only after pressing either ‘StandBy’ TA501 button on DVD’s front panel or On/Off button on a remote control. The power supply is instructed to activate/deactivate +5V via PCON signal. But in order to wake up the player from a remote control only original RC must be used otherwise IC581 won’t recognise the command. We want to make our device working with ANY type of RC that is why our microcontroller must take responsibility of decoding RC commands and controlling PCON signal.

Please refer to the picture, the hacking points are marked with red ellipses.

Step 3: VFD Display and Driver - Mapping Bits to Segments

Let’s have a closer look at the VFD and its driver. For an external device VFD is accessible through a serial interface as static RAM. The display has 7 digits (symbols) by 16 segments. Each symbol is defined by two bytes (16 bits), so in total 14 bytes are used. A symbol is encoded by a combination of bits, a bit set to ’1′ makes a segment to glow. Most significant byte comes first, most significant bit also comes first. So, in order to display very first symbol on the display as ’1′ the first byte of RAM should be set to value 0x20 and the second one – to value 0x6. In other worlds, we need to set bits 13, 2, 1 to logical ’1′ and in binary representation it looks as 0010000000000110b.

Note, that colon is controlled with one single bit 5 and it is available for 3-th and 5-th digits only. Two vertical segments in the middle of digit are simultaneously driven by a single bit 9, there is no way to activate only one out of two segments.

In order to simplify output to the display a software driver has to be implemented. In the next step we will go through this process.

Step 4: VFD Driver Demo

In order to control DP501 HNV-07SS61 VFD in an effortless and efficient manner the following software driver has been implemented. The functionality is encapsulated in HT16512.cpp and HT16512.h files and designed for AVR processors. To drive communication interface the logic uses pinModeand  DigitalWrite  functions provided by Arduino low level library. Also new HT16512 class inherits Arduino’s Print class to simplify output to display even more. However, despite those Arduino’s dependencies the code might be easily ported to PIC or ARM architectures.

The driver’s logic is subdivided into several groups: initialisation and low-level methods, tests and visual effects, methods for direct access to HT16512 without intermediate buffer and methods for intermediate buffer operations.

We won't discuss boring details of VFD driver implementation, however, if you are interested, you can refer to this article:

The code below demonstrates how to initialise our VFD driver:

#include <avr/interrupt.h>
#include <util/delay.h>
#include "wiring.h"
#include "HT16512.h"

#define VFD_CS_PIN   15 //PD7
#define VFD_SCLK_PIN 14 //PD6
#define VFD_DATA_PIN 13 //PD5

#define STANDBY_PIN  12 //PD4

HT16512 vfd(VFD_CS_PIN, VFD_SCLK_PIN, VFD_DATA_PIN);    //VFD display

int main(void)
    digitalWrite(STANDBY_PIN, HIGH);

    //Enable VFD power supply
    digitalWrite(STANDBY_PIN, LOW);
    digitalWrite(STANDBY_PIN, HIGH);

    //Initialise VFD tube


    while (1)

As you can see, apart from VFD_CS_PIN, VFD_SCLK_PIN, VFD_DATA_PIN pins that are dedicated to VFD communication there is also STANDBY_PIN pin that simulates POWER button and instructs to switch +5V power rail on.

Let’s get down to the hardware part. In this demo we will be using Freeduino board. In total we would need 4 (four) signal wires to connect it to the VFD panel. Of course, we will also need GND and +5V power rail.

Here is the signal mapping table between Freeduino board and VFD panel (please also refer to DVP630 Schematic Diagram):

Signal Freduino connector-pin VFD panel connector-pin
VFD_CS J3-8 RB502-2
VFD_CLK J3-7 RB502-1
VFD_DATA J3-6 RB502-3
STANDBY J3-5 CN503-3
+5V Standby JP1-3 RB501-5
GND JP1-4, 5 RB502-4

And the video demonstrates the result: Freeduino board running VFDDemo, connected to the VFD panel and power supply from broken Philips DVP 630.

To download VFD Demo library and VFD example for AVR please find attached to this step.

Step 5: Building Clock + Thermometer

Now when we have full control over VFD display, it is time to build something meaningful. How about remotely controlled clock with temperature sensor? Boring? Well, it will be unusual device: capable of working from virtually ANY type of remote control, with display activated by a motion sensor, with capability to log current temperature to an external USB host (i.e. PC, laptop or Android phone) and in custom made acrylic enclosure!

As a heart of the system Freeduino board would be probably an ideal choice: more than enough computational power, abundance of GPIOs, the amount of program memory is roughly just right for this type of project, compact dimensions (we really need it because the VFD panel and the power supply are rather bulky so we would aim to achieve to minimum possible size for our box). And finally, this board is really cheap.

The board comes as a kit so it is a good chance to practice in soldering yet all components are very easy to solder.

As an advantage, the board does not need any external programming equipment – it has serial-to-USB converter and could be connected directly to a PC and programmed by means of Arduino IDE. In fact, it is possible to program it even without Arduino IDE as such – everything that needs to be installed is AVRdude.

After programming procedure serial port might be user for debugging output or, in our case, for logging current temperature to external device.

Step 6: Adding Extra Components

Also we would need extra components, such as real time clock module, temperature sensor, PIR sensor and a basic speaker or buzzer, all of them are available at Sparkfun Electronics. Real time clock module would keep accurate track of the current time with a calendar up to year 2100, capable of surviving power outages and requiring just two signal wires for communication with main processor. Digital temperature sensor with 12-bit precision would require even less – just one signal line to control it. The job of PIR passive motion sensor would be to activate display when motion is detected so that after a predefined timeout the display goes to standby mode saving energy and VFD resource and making the device more interactive. The purpose of buzzer is to demonstrate that the microcontroller still has some computational power to generate primitive sound so the clock might be easily converted into alarm clock.

We also would need a remote control to manipulate clock settings and the type of RC (whether it is NEC, SONY, RC5 or RC6 standard) really does not make any difference simply because we are going to support… all types! To say more, the initial set up of a remote control for use with our clock will be done by means of… a remote control! How? Read on and it will be explained for you later.

Step 7: Connecting Together

Time to connect modules together. Two pictures below show pinouts for signal and power lines on our Freeduino board.

There are couple of tricks again. Firstly, the PIR sensor works stable from +12V and allows false alarms when the voltage is +5V (which is exactly our case). This is because it has voltage regulator 7805 and +5V is not enough for proper regulation. Bypassing the regulator (connecting +5V to its output leaving input unconnected) solves the issue.

Secondly, the standby mode on VFD panel is controlled by a chip IC581 that flips the state of its PCON output when it detects a pulse on its POWER input. It has been discovered that sometimes it may detect a false pulse induced by appliances located nearby. Besides, there is no way for our Freeduino to detect which mode (ON or STANDBY) is currently active. The solution is very simple – to unload R582 and therefore disconnect IC581 from controlling the standby line and instead connect Q581 via 1K resistor to our Freeduino board. So the ON/STANDBY mode will be controlled not by pulses but by levels.

Here is the signal mapping table between Freeduino board and the remaining components (please also refer to DVP630 Schematic Diagram):

Signal Freduino connector-pin Component-Connector-pin
VFD_CS J3-8 VFD panel-RB502-2
VFD_CLK J3-7 VFD panel-RB502-1
VFD_DATA J3-6 VFD panel-RB502-3
STANDBY J3-5 VFD panel-Q581-base, via 1kOhm; R582 must be unloaded
IR_RECV J3-3 VFD panel-RB502-5
+5V Standby JP1-3 VFD panel-RB501-5, RTC Module-5V Pin, DS18B20-VCC Pin, PIR Sensor-in bypass of voltage reg.
GND JP1-4, 5 VFD panel-RB502-4, Buzzer-’-’ Pin, RTC Module-GND Pin, DS18B20-GND Pin
SPEAKER J1-2 Buzzer-’+’ Pin
PIR_SNSR J3-4 PIR Motion Sensor-ALARM (AL) Pin
TEMP_SNSR J2-3 DS18B20-Data pin
SCL J2-6 RTC Module-SCL pin
SDA J2-5 RTC Module-SDA pin

Step 8: Assembling Electronics

Fully assembled electronics is shown on the picture below (though the connector to RTC module is temporary disconnected and PIR sensor is not shown yet wires on the bottom on the picture lead to it).

Electronics is ready but firmware is not programmed yet. Next step briefly tells how to do it. To download VFD MagiClock binaries and source code please follow this link:

To program the firmware connect Freduino board to PC using USB cable wait until a new virtual port is installed then just type the following in Windows Command Prompt (but before make sure that AVRdude is installed on your PC):

avrdude -p m328p -c avrisp -v -P comXX -b 57600 -U flash:w:VFD_MagiClock_Rev1.0_2012_09.29.hex

where comXX is your newly installed COM port name (i.e. COM10, COM15).

When the programming procedure is completed, our application starts and Freeduino activates VFD display straight away displaying greeting information and then awaiting for RC setup. If within a few seconds no commands from RC have been received, the device goes to its normal mode displaying periodically time, date, day of week and temperature.

Step 9: Laser Cut Enclosure

To give any electronic project a neat look it is always very important to put it in an enclosure of appropriate sizes and shapes. Our VFD clock is not an exception and also needs a box. There are at least three ways to do so. First is to find something off-the-shelf. This is probably the cheapest and less time consuming solution. The problem is that there is literally no chances to find a box that does not look bulky and ugly and at the same time is capable of accommodating our long VFD panel and power supply along with some room for Freeduino board. Moreover, a box would still require some substantial efforts to secure boards and the panel inside by drilling many holes and in the end would look ugly anyway.

Second approach is to design a 3D model of enclosure in a CAD system then place an order with a manufacturing house and make it using 3D printing technology. This would probably give best results in terms of shape but would require rather advanced skills in 3D modelling and in addition would cost us a fortune.

A reasonable compromise would be the third approach – to make a box of acrylic panels that are laser cut by a manufacturing house like Ponoko making system. The design files could be prepared even in Corel Draw or Inkscape (although we would strongly recommend to use a 3D tool such as SketchUp and will explain later why). That way it would be possible to make a box as compact as possible, designing the required holes and making laser to do the hard job instead of us. It also will give us invaluable skills of making drawings for real things with opportunity to see and touch the end result. And all of this for a very reasonable price to pay for materials, machining time and shipping.

Now a few words why it is preferable to use 3D modelling tool instead of 2D one. The short answer is simple: while the overhead of complexity designing things in 3D is so low that it could be neglected there is a very powerful opportunity to fit all parts in 3D together, find and fix problems before the parts have been actually manufactured. By designing models of boards and VDF panel it is also possible to make sure that all of them fit inside our box without mutual interference.

There are some tricks and tips that we followed designing this enclosure, they are described in detail at Ponoko’s article ‘How to make snug joints in Acrylic’. There is no sharp corners in design as they create weak points in the acrylic, that is why every corner has a small radii. Another trick is that slots are made slightly smaller than they would be in ideal world – to compensate the material that is burnt away by laser.

To export data in 2D Sketchup-svg-outline-plugin needs to be installed. Guys from Flights Of Ideas company have done a great job – now it is very easy to export paths from 3D SketchUp designs.

The final 2D drawing is ready to be submitted to Ponoko. An attentive reader has probably noticed that the number of parts is bigger than is needed. Yes, this is just to maximise the use of material – if you don’t need spare parts then just delete excessive elements before sending the design to the manufacturing house.

To download VFD MagiClock Enclosure Drawings in Google SketchUp and SVG formats please follow this link:

Step 10: Final Assembling

Assembling process is very simple and it is shown on the pictures below.

We hope you enjoyed this tutorial and hope to see you again!

Please take note of two links related to this project:


RedPorscheKiller (author)2015-11-28

Hi dmitryp!

I make this Project with an Arduino UNO. But when i Upload the Program to the Arduino comes some errors:

Arduino: 1.6.6 (Windows 8.1), Board: "Arduino/Genuino Uno"

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,

from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,

from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:224,

from sketch\sketch_nov28a.ino.cpp:1:

C:\Program Files (x86)\Arduino\libraries\CPP/Print.h:43:21: error: 'prog_char' does not name a type

void print_p(const prog_char str[]);


C:\Program Files (x86)\Arduino\libraries\CPP/Print.h:43:35: error: ISO C++ forbids declaration of 'str' with no type [-fpermissive]

void print_p(const prog_char str[]);


C:\Program Files (x86)\Arduino\libraries\CPP/Print.h:44:23: error: 'prog_char' does not name a type

void println_p(const prog_char str[]);


C:\Program Files (x86)\Arduino\libraries\CPP/Print.h:44:37: error: ISO C++ forbids declaration of 'str' with no type [-fpermissive]

void println_p(const prog_char str[]);


In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:224:0,

from sketch\sketch_nov28a.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:129:20: error: conflicting return type specified for 'virtual size_t HardwareSerial::write(uint8_t)'

virtual size_t write(uint8_t);


In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,

from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,

from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:224,

from sketch\sketch_nov28a.ino.cpp:1:

C:\Program Files (x86)\Arduino\libraries\CPP/Print.h:39:18: error: overriding 'virtual void Print::write(uint8_t)'

virtual void write(uint8_t) = 0;


In file included from C:\Users\Tim\Documents\Arduino\sketch_nov28a\sketch_nov28a.ino:4:0:

C:\Program Files (x86)\Arduino\libraries\CPP/wiring.h:97:17: error: conflicting declaration 'typedef uint8_t boolean'

typedef uint8_t boolean;


In file included from sketch\sketch_nov28a.ino.cpp:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:117:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'

typedef bool boolean;


In file included from C:\Users\Tim\Documents\Arduino\sketch_nov28a\sketch_nov28a.ino:5:0:

C:\Program Files (x86)\Arduino\libraries\CPP/HT16512.h:91:30: error: 'prog_char' does not name a type

void print_f_p(const prog_char str[]);


C:\Program Files (x86)\Arduino\libraries\CPP/HT16512.h:91:44: error: ISO C++ forbids declaration of 'str' with no type [-fpermissive]

void print_f_p(const prog_char str[]);


exit status 1

can you Help me?

Or is the Arduino UNO not compatible with this Project?

dmitryp (author)RedPorscheKiller2015-12-03

Hi RedPorscheKiller,

This project is not supposed to be compiled with Arduino IDE, you need Atmel Studio 4 and WinAVR. Theoretically, it should work with newer Atmel Studios which already have C/C++ compiler so no WinAVR will be needed. However, there is VFD library, alarm clock projects and many more specifically designed for Arduino platform, please refer to this link:

And more information could be found at

Thank you,


ghennz0111 (author)2014-09-27

Hi dmitryp,

can you help me with this project :) can i use another kind of DVD player aside from Philips? will the code still work on that? email me at or just reply to my comment :) Thanks :)

dmitryp (author)ghennz01112014-09-28

All VFD panels in DVD players are slightly different. And the difference is also in a chips which drive VFDs so you won't get away without modifications to the source code. The good news that usually those changes are not dramatic.

ghennz0111 (author)ghennz01112014-09-27

Where can i get the whole code for this project? I really want to do this project. I hpe you would help me :)

dmitryp (author)ghennz01112014-09-28

The link to the firmware source code is on page 8 :)

melissa_b04 (author)2014-06-20

Hey awesome instructable! I had the same DVD player and took it apart last year. I still have the VFD display and was hoping to make an Arduino Display Shield using this. Unfortunately I discarded the circuit board the VFD was soldered to. (sigh) Anyways, is it possible to make a simple Arduino Display Shield with this or no? If so, I would like to pick your brain.


dmitryp (author)melissa_b042014-06-22

Hi, thank you!

Not sure what the circuit board had and what you have left. Is it just a glass or your VFD is still fitted to a board? Can you maybe take a picture of what you currently have? This place is not very convenient for lengthy discussions, you can create a new topic at and we can go from there.


melissa_b04 (author)2014-06-20

Hey awesome instructable! I had the same DVD player and took it apart last year. I still have the VFD display and was hoping to make an Arduino Display Shield using this. Unfortunately I discarded the circuit board the VFD was soldered to. (sigh) Anyways, is it possible to make a simple Arduino Display Shield with this or no? If so, I would like to pick your brain.


pepy (author)2014-04-20

can i ask the schematic/pcb of freeduino??? email me :

dmitryp (author)pepy2014-04-21


pepy (author)dmitryp2014-04-29

nice....thanks bro.. :)

samhayward2002 (author)2014-01-30

Hi, I have a VFD I want to use which is (on original pcb) driven by PT6311 datasheet download:

I would like to drive it with an arduino of some sort.

How you wrote your VFD driver is a bit over my head but do you think it would take much work to adapt it for the PT6311? If it looks relatively easy to you I will persevere.

dmitryp (author)samhayward20022014-01-31

Hi, thank for your interest to my project! My hardware was based on HT16512 controller and given that there is little difference between it and PT6311 I already implemented a simple driver for PT6311 which your can use to test your panel. The source code is available at, it contains a library for PT6311 and a sketch giving general idea how to use the driver. As a first step we need to make sure that your Arduino can communicate to your VFD panel, so as a minimum we would need to make sure that we can send a command to switch the panel on and make sure that we can write to controller's frame buffer - this is exactly what the provided code does. When it is verified your can progress further. As for now, you need to connect physically your VFD panel to Arduino board, specify correct values for VFD_CLK_PIN, VFD_CS_PIN and VFD_DATA_PIN in provided sketch and try to get to know how many segments and digits your VFD has in order to initialize PT6311 properly (see VFD_DISP_MODE_12D16S etc).

Any more questions - I would be more than happy to assist, let's discuss it further at our forum

Good luck,


samhayward2002 (author)dmitryp2014-02-01


Really, thanks a lot for helping out with this - it has saved me some head scratching for sure.

I'll wire things up next week and continue this discussion on your forum. I will more than likely have some extra questions :)


dmitryp (author)samhayward20022014-02-03

Hi Sam, no worries mate!


Timofte Andrei (author)2013-01-20

Hi! I have a vfd display from philips DVD625/001. i've seen that some pins are coresponding but i'm not sure if it's working...i want to connect this display to arduino because it's pretty shame to throw it to the garbage...I'll be pleased to know your answer! cheers!

davidkichi (author)2012-12-13

Congrats!!! Good stuff!!! I've thrown away at least two or three dvd players because I didn't know what to do with the internal parts. Once I found a Vizio flat panel's tv tuner (made by samsung) that I had taken apart from a discarded tv in hopes that I could do something with it one day but ultimately dumped it, wished that I had kept it now after seeing this instructable as I might've tried to see if I could power it! The world needs more instructables like this so that we can recycle all these broken electronics into something fun and educational :)

dmitryp (author)davidkichi2012-12-26

Thanks a lot and glad to hear that this project is worth of making efforts because unfortunately there are people who don't share your point of view arguing that 'I can buy a digital clock cheaper'. As you already noted, it is all about fun and education and passion, not about clock as such. As for your unsuccessful attempt to reanimate display panels - just believe in yourself and be a bit more persistent. It is not as difficult as it may seem - just put it aside for a while if you run out of ideas and then try again in a few days/weeks/months - sometimes it is due to lack of good mood or inspiration :)

mikesoniat (author)2012-12-04

Great project and awesome reuse of someone else's trash! Congrats on the grand prize win!

dmitryp (author)mikesoniat2012-12-26

Thanks a lot! Didn't expect to win! :)

SlickSqueegie (author)2012-12-01

Very nice! Congratulations on a grand prize!

dmitryp (author)SlickSqueegie2012-12-02

Thanks a lot guys for your support!

ray74 (author)2012-11-30

Great job. Congratulations on your win. :)

dmitryp (author)ray742012-12-02

Thank you very much!

SharadScience (author)2012-11-30

Congratulations, excellent job! Your video is fantastic, did you use some sort of time lapse photography snapshot method?

dmitryp (author)SharadScience2012-11-30

Thank a lot! The movie was made at normal speed then was postprocessed by ffmpeg and finally edited in Youtube Video Editor so no money was involved! :)

poofrabbit (author)2012-11-27

Hey congratulations on being a finalist in the hack it contest! Good luck to you!

dmitryp (author)poofrabbit2012-11-28

Thanks a lot! :) It is a great honor but at the same time great responsibility!

AndrewryanSears (author)2012-11-15

I wish i can buy it from u with instructions all its features

dmitryp (author)AndrewryanSears2012-11-25

Instructions, drawings and source code are available for free :)
As for the DVD player - you can find one on ebay. Freeduino is available at sparkfun, for example.

dieferman (author)2012-11-23

Very Well Design !!!!

dmitryp (author)dieferman2012-11-25

Thank you!

JavaJack (author)2012-11-13

I disassembled my dead 1990 JVC cd player to get its VFD to tinker around with:
Due to its age, I despair at finding a service manual/schematics for it online, though. It just has a thin ribbon cable that connected it to the main board.

zack247 (author)2012-11-11

gotta love those VFDs.
i just started working with them myself, although its more difficult without the controller IC.

dmitryp (author)zack2472012-11-12

Use Arduino then :)

zack247 (author)dmitryp2012-11-12

i have been :P

iceng (author)2012-11-12

Your segments image on  step 3  has two nine segments and no seventh segment.

I was going to hook up a PIC uP.... Can you explain ?

dmitryp (author)iceng2012-11-12

Yes, step3 says that 'Two vertical segments in the middle of digit are simultaneously driven by a single bit 9, there is no way to activate only one out of two segments'. And bit 7 does not drive anything - that is how VFD is connected to the driver chip by DVD designers. And if you have a look at the source code at then you could see that a charset defined as FONT_PGM[63][2] does not use bit 7.

iceng (author)dmitryp2012-11-12

Thanks for the quick response.

anonymouse197 (author)2012-11-10

This is an INCREDIBLE instructable, but unfortunately far out of my league at the moment! I'm trying to get my electronics work up to scratch, and then I think I might make this my first major project - thanks man!

dmitryp (author)anonymouse1972012-11-12

Thanks. Don't restrict yourself by saying that you are out of someones's league. Step by step, gain knowdledge and skills - and eventually you will do things that you only dreamed of.

neerthigan (author)anonymouse1972012-11-11

Hey anonymouse19, i am in the same situation as you are. I also want to take this project up, but i dont have enough knowledge in electronics. You did mention that your trying to gain more knowledge on electronics. If you dont mind me asking you, how do you plan on do that; are there certain instructables that will teach you the basics? Also if anyone wants to share feel free.

anonymouse197 (author)neerthigan2012-11-11

Hi neerthigan. Yes, I am trying to improve my understanding of electronics.
Well I've recently invested in some second hand books; one of the O'Reilly Media books on electronics, and an Electronics for Dummies, but they are quite hard going, so I'm also trying to take apart some broken kit and see what is noticeable.
For example a couple of friends calculators have stopped working, i've whipped the back off, and found a capacitor has gone. I've then looking into the function of a capacitor to see what it does in the circuit etc, but this gets quite difficult the moment integrated circuits come in.
I've also tried experimenting with the Arduino, and am trying to learn the electrical laws behind current and resistance, something that has come, thankfully, quite naturally. I wish there were some good electronic circuit simulating software out there for Mac, as that would be a real help.
Until then I'm going to play around on a breadboard, keep trying some instructables and other tutorials and try and learn what stuff does along the way. I'm finding it quite helpful that the moment I finish one project there is another waiting there somewhere that's just a little harder, so I can build my way up, but I just don't have the time to do that at the moment.
I hope that's of some help, and as you say I would love any other suggestions - as it is this kind of thing that I want to be setting my sights on! /A

power000 (author)2012-11-12

thats Great!!! i like it very much

dmitryp (author)power0002012-11-12


Ole bally (author)2012-11-12

Cool ideas! maybe you could help me too?
I have an LG home theatre system DVD player. the dvd is messing around and won't load all sorts of movies...however, we have moved on from there and plug a hard drive through an HDMI player directly into the TV. What irritates me is that we now have an amplifier sitting idle in the old DVD player with speakers all round the room that we can't use!
The DVD player doesn't have the plugs for audio input although there is a USB port on it.
The question for all you smart folk out there is:
How can I connect the old Home theatre's sound system into the TV to get the audio out signal from the TV to run on the surround sound?! I'm quite happy to scrap the DVD players innards as required!
Thanks I'd appreciate the help!

Krayzi99 (author)2012-11-09

MAN. I threw away that EXACT DVD player! WHY?!?!?! XD great ible though.

dmitryp (author)Krayzi992012-11-09

Oh no! Maybe it is still on the street? Thanks for commenting, you are the first one :)