Korg DW-8000 MIDI Enhancer

To get the Korg DW-8000 synth to understand MIDI CC messages for parameter control.

Similar projects worth following
The Korg DW-8000 (and other early synthesisers) was created during the early days of MIDI, before things like CC messages were standardised. As a result, it uses proprietary SYSEX commands to change parameters over MIDI. Most modern MIDI controllers use CC messages instead, and very few are flexible enough to be able to send the appropriate SYSEX messages.

This is a problem. This project is the solution.

The Korg DW-8000 has lots of tweakableparameters, but has a 'minimalist' user interface for adjusting these. There is exactly ONE slider for this. You press two digits to identify which parameter you want the slider to control. If you want to live tweak more than one thing at a time, you are out of luck

These parameters can be controlled over MIDI, so an external control surface could be used, BUT most control surfaces send CC (Control Change) messages, whilst the DW uses a set of proprietary SYSEX messages.

This project gets the DW-8000 to respond to CC messages with a little hack...

Rather than trying to rewrite firmware or anything clever like that, this is more of a brute force hack.

What I have done is taken a cheap Arduino Nano clone and physically spliced it into the MIDI IN path just before it gets to the synth's CPU. The Nano runs a simple program which translates CC messages into the corresponding SYSEX messages that the synth understands. All other messages are just passed straight through.

That's it - the synth now does the right thing when it is sent CC messages!


Revision 12 firmware. Not needed for this project, but worth installing if you haven't got it as it fixes the 'stuck notes' bug that earlier firmware had.

octet-stream - 16.00 kB - 07/05/2016 at 19:04


  • 1 × Korg DW-8000
  • 1 × Arduino Nano

  • 1
    Step 1

    Unplug the synth.

    Turn it face-down (propping it up so you don't damage the joystick), remove all the screws around the perimeter, and the five large screws in the centre section.

    Carefully lift open the synth. It should look like this.

    If, as with mine, there is a biro rattling around inside, now is a good time to remove it. :-)

  • 2
    Step 2

    We need to remove the middle PCB. This one.

  • 3
    Step 3

    Carefully unplug all of the connectors from the board, EXCEPT for CN12A and CN13A which are soldered to the board - these need to be unplugged from the other end.

    Label the connectors so you know where they go afterwards. For the larger ones I wrote the connector number on the side with permanent marker, for the smaller ones I attached a label to the wire.

View all 17 instructions

Enjoy this project?



Vladistone wrote 10/22/2023 at 12:12 point

great project!
I immediately had an association for implementing something similar for korg DSS-1 (according to the DSS-1 circuit diagram based on HD63B03X - installing arduino nano should not be difficult and it’s easy to implement)! All that remains is to check the MIDI implementation chart between DW8000 and DSS-1
the DSS-1 circuit diagram see  there:

I installed arduino nano on EX-8000 and DSS-1 - and it turned out to be easier than it seemed when learning! Here is process of the installation to Korg DSS-1:

arduino is easier to install on the KLM-788 Jack panel. In this case, the power get near socket CN26B (pin#5 and #6) and you can break the cord of pin#2  for RX and TX connection by the MIDI connecting cord going to the main board KLM-781 CPU-II  - HD63B03X.

the only thing I needed to recode was to change the device ID for DSS-1 - 0x0b, in line 34 of code

  Are you sure? yes | no

Markus wrote 04/24/2023 at 17:30 point

Hi Steve, great project., this is exactly what I was looking for.  Not sure if you are still familiar wth the hack as it was published 7 years ago ...

I am trying to resurrect my old DW8000 and remote control it with a masterkeyboard. 

I followed your instructions using an Arduino Nano Clone. 

Unfortunately, no luck so far: The note info is transferred, but it seems the CC/SYSEX transformation does not work yet. 

On github you had set the midi channel to 1  - so changing dwChannel to 1 should allow me to operate with midi channnel 2, correct? Or did i miss other places where i need to adapt?

// 0 here is 1 on DW-8000 - need to set Param 83 to 1

const int dwChannel = 0;

I use firmware level 13  - are you aware if this may be an issue? (I used the windows ctrlr app for the dw8000 device which works sending out sysex messages so I dont think this is an issue) 

Any help is appreciated, thank you again for publishing your work!

  Are you sure? yes | no

Grit wrote 10/20/2018 at 15:10 point

I converted your code to a firmware for the Retrokits RK-002 cable, if you want the control but do not want to do the hardware hack this could be a nice solution:

  Are you sure? yes | no

chipperkwah wrote 10/23/2018 at 19:10 point

I've been using the converted code on my RK-002, as far as I can tell everything works perfectly with my DW-8000.

  Are you sure? yes | no

clae wrote 10/05/2018 at 09:43 point

Neat - I could see this being useful for other minimal-interface synths, like the Poly 800 or the Sequential Six Trak

  Are you sure? yes | no

Vladistone wrote 10/24/2023 at 07:43 point

and the same for Korg DS8; DSS-1

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates