Denver DVD-802 is one of these extremely cheap DVD players you can get for less than the price of two DVD movies. I bought it at a supermarket, to check it out and see it if was any good.
I was rather surprised at how good it actually was. DVD's were played acceptably and the audio and video signals were good. So good that I archived my usual CD player and now use this cheap unit exclusively for playback of audio CDs, with the benefit that it can play MP3 CDs as well and that it saves some vertical space due to its slim design:
Using the unit for CD playback quickly exposed some rather annoying design decisions in the user interface.
In the designers infinite wisdom, they placed the play button pointing left and the stop button pointing right! I wonder what planet they grew up on! But that wasn't the worst part, the REV and FWD buttons couldn't be used to select the track as one would expect. Instead they controlled the usual DVD'ish scan mechanism where you double and half the playback speed...
Those clever design decisions made it really problematic to use the thing as a CD player without grabbing the remote all the time, which is a shame. So I thought, why not fix that user interface.
As all the functions I needed for the front panel buttons was available on the remote control, the first thought was to do my own keyboard matrix scanner and feed the IR decoding circuit with the desired messages, using a microcontroller. I quickly realised that I could use the microcontroller to also decode incoming IR messages, and then get complete control over the user interface. It would be possible to decode IR messages from other remote controls and pass them on in the Denver format, so I could use my regular Technics remote to control this unit as well!
To accomplish all this I had to solve a couple of different problems. In this project you can read how it was all done, and resources can be downloaded:
Regarding the LED PWM: As I had the user interface hack up and running, I realised that the (used to be) blue led between the REV and FWD buttons was a bit boring. So I changed it to an amber one and implemented a super-overkill PWM control using the 16-bit timer on the AVR. It does a super slow and smooth fade in and out, and flashes like a slow tungsten bulb when recieving user commands. Apple pulsating-white-leds go home!
How the hacked interface works and how the PWM led looks is all demonstrated in this video: (5 MB)
Note that the solution presented here could probably be adapted for hacking other IR controlled equipment quite easily.
By Lars Ole Pontoppidan, Feb 2006
Last update, July 2006
Next: IR analyzer