Denon DN-2000F/DN-2500F via USB : Introduction

Denon DN-2000F mk III

Back in the 90’s, DJs used vinyl and CDs. One of the most popular DJ CD players was the Denon DN-2000F. This CD player really was a work horse and Denon further improved it with the mk II and mk III models.

There was also the Denon DN-2500F which added extra cool functionality to that of a DN-2000F including key control, up to +/- 16% pitch control, sampler, vocal reducer and brake effect.

Denon DN-2500F

As time went on and technology progressed, CDs were to be replaced by laptops and MP3s. Whilst this is a big convenience factor it was never going to beat the look and feel of a DJ CD player. Some DJ software can utilise these CD players through special sine wave recorded CDs which can be interpreted in the software to deduce the track position and pitch, but not only is the solution prone to problems, it’s also costly.

What if it was possible to interface with the Denon DN-2500F remote directly?

Here’s a preview of what’s been achieved so far:

sniffer1

The protocol which the DN-2500F uses has been sussed and now it’s a case of deciphering the commands.

8 comments on “Denon DN-2000F/DN-2500F via USB : Introduction

  1. Adrien 27th January 2016 3:03 pm

    Hello,
    I am very interested by your work.
    Do you have others demos?
    Can the denon remote can control a software…?

    Thank you for your answer.

    Adrien.

  2. Walter 23rd January 2019 4:09 pm

    Hello! I would like to know if you continue with the project and if you can operate the Denon 2000 mk2. I own one years ago and would like to make it work with some program virtually. Regards!

      • Cocus 8th January 2024 7:56 pm

        Hi Pete! I’ve checked your source, and looks pretty interesting. Do you mind to publish it on github? I’m planning on continuing the support of the 2500F (I’ve bought one really cheap and will like to continue the work; possibly even adding some MIDI stuff with Traktor, as I have experience doing that 🙂 )

        • pete.jefferson@gmail.com 8th November 2024 12:20 am

          I’m in the process of migrating the source to GitHub (as well as a different licence) along with code that can be used with Arduino that can present the device as a USB HID. MIDI is interesting. Though my knowledge of Windows kernal drivers is limited at best, there are interesting starting points (MPU401). So – yes, the code will put on GitHub so it will attract a wider audience. I actively encourage all who can contribute! The 2000F MK I/II/III protocol is much simpler, and whilst I did publish 2500F code as well it wasn’t too successful. What started out as a curious project still keeps me interested on the side, despite the lack of update from my part. I want to persue this and am thankful for the interest!

  3. Danilo Suarez 16th June 2019 5:56 am

    can it be connected direct to usb to ttl module CH340 and connect it to pc? i will use it to control denon cdj software to play mp3 music on my pc.

    • Pete 5th July 2019 10:31 pm

      The signal from the remote is RS-422 so you’ll need to convert the signals to TTL and then serial to USB. A quick look at the CH340 datasheet suggests you should be able to pump straight to the inputs. I’ve not got a CH340 myself so will get a few and test.

  4. Leo Kearns 6th January 2024 12:37 am

    Hey Pete,
    Try one of these. https://ie.farnell.com/ftdi/usb-rs422-we-1800-bt/cable-usb-rs422-ser-conv-wire/dp/1740359

    The USB-RS422 cables require USB drivers, available free from http://www.ftdichip.com, which are
    used to make the FT232R in the cable appear as a virtual COM port (VCP). This then allows the user to
    communicate with the USB interface via a standard PC serial emulation port (for example TTY). Another
    FTDI USB driver, the D2XX driver, can also be used with application software to directly access the
    FT232R on the cable though a DLL. This is illustrated in the Figure 1.

    Leo

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>