Using Arduino IRremote to control Philips DVP3340V DVD/VCR Player


Philips DVP3340V DVD/VCR Recorder (center), Blackweb Universal Remote (bottom-left), Arduino-IRremote test circuit (bottom-right)

Previously, I demonstrated the basic functionality of Ken Shirriff’s Arduino-IRremote library by controlling the Freeze Frame function of my security recorder. This was relatively easy to accomplish with the provided examples and by having access to the remote I wished to emulate. However, I have 2 thrifted VCRs that did not come with remotes, and I want to use the Arduino to send Play, Stop, Record, Fast-Forward, and Rewind commands.

Project Goal

  • Determine how to send specific commands to the Philips DVP3340V DVD/VCR Player


I thought to re-use the Arduino-IRremote library example, IRrecord.ino, that allows you to capture and transmit a given IR code. Because I don’t have the remote for my Philips DVD/VCR combo, I decided to just buy a universal remote locally to gain IR control of the device. I bought this Blackweb 6-device Universal Remote for about $10, and tried a variety of Philips “codes” until I was able to initiate Play and Stop commands. I tried all of the codes in the manual but was unable to find a Record code.

After some experimentation, I wrote an Arduino program that simply increments through a variety of codes and transmits them, non-stop. In addition, the program printed the transmitted code’s hex value to the Serial Monitor. There were some regions of codes that did absolutely nothing, and some densely-packed regions, such as around 1042C-1043f. The program was not elegant; I had to disconnect the IR LED and stop the Serial Monitor Autoscroll to get a rough idea of which code triggered a command.

After locking myself out by issuing the 0x105CC (Child Lock) command, I eventually arrived at a nice list of commands, including Record:

Screen Shot 2018-02-21 at 10.57.52 PM.png

Various Arduino-IRremote codes for the Philips DVP3340V DVD/VCR Player. These use the RC6 protocol and are 20-bits in length.

Future development

Now that I have determined the IR codes for at least Play, Stop, Record, Fast-Forward, and Rewind, I can begin to think about implementing a motion-sensitive record/playback system.

I have an older Sony VCR that I would also like to control remotely, and I also do not have its remote control. To save myself some time in determining its codes, I will try the Sony program codes in my universal remote manual to determine as many functional commands as possible. If any of the main functions are missing, I will repeat the iterative approach above. However, I will modify the Arduino program to increment/decrement IR codes upon user input to have more control over the process, and may also include functionality to manually enter a code to execute, vs. hard-coding commands.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at
%d bloggers like this: