-
11Step 11
Some more heatshrink, and here it is: (Remember not to cover the USB port :-) )
-
12Step 12
Naturally, now would be a good time to program the Nano. That way, you won't later wonder why it isn't working, like I did.
If I've set it up properly, you can grab thecode here.
Plug in via USB, and program using the Arduino IDE in the usual way.
If you used a cheap clone which doesn't use the FTDI USB to Serial chip, then it probably won't be recognised. You'll need to google for the drivers (for mine, the chip was a CH340G).
-
13Step 13
Next step - plug it in:
-
14Step 14
Second Interlude:
Now would also be a good time to update the BIOS if you have anything less than version 12, since that fixes a bug which prevents troublesome stuck notes.
To find out what version you have, hold 1 and 2 down as you switch on the synth. The right most display then shows the version number.
(As it is quite hard to find, and Korg don't have it on their support pages, I've attached a copy of V12 firmware to this project.)
-
15Step 15
Make sure nothing is going to get snagged or short out, and close the case.
For testing, you can get away with just putting back a couple of the big bolts on the bottom, rather than all of them.
Turn it back the right way up, connect the power, and turn on...
-
16Step 16
If all went well, the synth should now respond to CC messages received on the MIDI IN socket, and the display will show the values changing.
Look in the source to see which CCs are mapped to which parameters. I've tried to chose sensible values, but YMMV, and you are of course free to change them.
The valid data range varies for the parameters from 1 bit to 6 bits. To simplify things, my code remaps the 7 bit range to the specific range of each parameter, so the full physical range of knobs/sliders movement is used with all parameters (which also reflects the way the front-panel slider behaves).
If it doesn't work:
- Did you program the Nano?
- If you changed the battery, the RAM is probably now full of crazy bad data. To reset it to a sane state: Switch off, hold down 5 and 8, switch on again. Patches are all cleared, so you'll get no noise out of it until you load/create them again.
- Do you have the right MIDI channel (Param 84)? The code (currently) explicitly only handles a single hard-coded channel, even if the synth is set to OMNI (Param 86). Channel 1 in the code is channel 2 for the synth (the old 0 vs 1 based indexing thing.
- Check that 'Enable' (Param 85) is set to 2 'all'. If it is 1 then the synth only responds to note messages, and ignores everything else.
-
17Step 17
Epilogue:
The code is currently 'proof-of-concept'. It works, but could be improved in various ways.
One interesting extension would be to store hard-coded sets of patches on the Nano, and add some new SYSEX (or other) messages which tell the Nano to dump a specific patch set to the synth. This way the synth could quickly switch between a large set of patches, giving it additional functionality similar to the MEX-8000.
Another problem with using an external control surface to control the synth parameters is that most of them these days use USB-MIDI out rather than 5-pin DIN MIDI, which means that although the DW-8000 now understands CC messages, you still can't connect them.
This is to be solved with another project, hopefully coming soon!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Great project!
I immediately had the idea to implement something similar for the 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 here: http://www.buchty.net/korg/files/Korg%20DSS-1%20Service%20Manual.pdf
a part of MIDI-in: https://drive.google.com/file/d/17oAGBd8XjE5fB0oQps4Yi4UmF9N4dLsj/view?usp=sharing
I installed the Arduino Nano on the EX-8000 and DSS-1 - and it turned out to be easier than it seemed during the tutorial!
https://drive.google.com/file/d/1UEsWROlFnUDzey74AkZHRd9Xd09-UQSA/view?usp=sharing
Here is the installation process on the Korg DSS-1:
Arduino is easier to install on the KLM-788 Jack panel. In this case, power is supplied to the CN26B connector (pins #5 and #6), and you can break the cord pin #2 for RX and TX connections with a MIDI patch cable going to the main board of the KLM-781 CPU-II - HD63B03X.
https://drive.google.com/file/d/14mo3EcSkTfE6uKRucdmmyQD4zfVidJgB/view?usp=sharing
https://drive.google.com/file/d/1HFgKfoweHuOlv_Y2G56s5leQDn0_Krco/view?usp=sharing
https://drive.google.com/file/d/1Of3SW8RS_1S5IX40r0XSb6N5JaTI9g5I/view?usp=sharing
the value what I needed to recoding was to change the device ID to DSS-1 - 0x0b, in 34 lines of code
аnd I using the control sirface - SSL nucleus2 in 2 CC#-mode - good job!
Are you sure? yes | no
After several unsuccessful tries I finally got the project working on my DW-8000! It seems that at least with the current MIDI arduino library there is a discrepancy between the MIDI channel numbering as received from the MIDI lib which runs from 1 to 16 and the MIDI channel numbering inside the SysEx Messages which run from 0 to 15. I removed the code parts where there was a check if the declared dwChannel was identical to the incoming message channel, and hardcoded it to only work on channel 1.
Are you sure? yes | no
I just bought an EX-8000. Purchased an Arduino Nano today to try this mod. I'll post results. I have my Korg NanoKontrol2 connected to my PC running Cakewalk. The EX-800 is connected via midi to PC and works with Cakewalk. So shouldn't this combination work with this mod?
Are you sure? yes | no
As a DW-8000 fan, a project like this one is like a really cool gift.
I will give it a try for sure. i have both DW & EX 8000 as well as a DW-6000 :-)
Great job!!
Are you sure? yes | no