Drumstel
Goal: Make a electrical drum from a WII drum-kit without making it impossible to use the drum-kit for WII games.
You can find many solutions when "destroying" your Wii-drum on internet, for example: http://www.instructables.com/id/Convert-Rockband-Controller-to-MIDI-Drums/
<update April 2021> During my internet-radio project I found the VS10x3 chips. After a wrong delivery (I received the VS1003 iso VS1053) I found out that the VS10x3 chips have also a Midi-synth, including the sounds for a drum.
So I decided to reopen this parked project and focussed on the final solution: a drum-kit which could be used with and without the WII and does not need a computer and/or SW.
The setup chosen is the following:
In words:
Step 1: The signal from the WII-drum is (also) read by the Arduino
Step 2: The Arduino converts the signal to a Midi signal
Step 3: The Midi signal is send to a Midi-synth, for example the VS10x3
Step 4: The VS10x3 creates an audio drum-signal based on the midi information received
Step 5: A small local (class D) amplifier amplifies the signal in to a (local) speaker
This complete setup should fit in a small box connected to (or nearby) the WII drum.
Of course this setup can also be used with other input devices. For example you could make a drum-kit itself from some wood or cartons (for example using some piezo elements, see: <LINK>)
Ideally the Arduino created a Midi signal which could be directly coupled to the VS10x3. This would make my setup more (re)useable also for other instruments with a midi-output.
Sadly the pins needed for that were not layout on the VS10x3 board I received (see also picture from other people that had the same problem here: <LINK>).
So I followed Kevins approach that can be found on that link.
So let's connect an Arduino to the Wii-drum.
I used a simple nunchuck adapter, there a different versions available on the market.
They have four connections:
Names on board | Connect to Arduino Uno |
GND / - | GND |
3.3V / + | 3.3V |
CLK / C | SCL |
Data / D / d | SDA |
Now check if the Arduino receives the correct signals.
I have created a simple example Arduino code, which can be found here.
Be carefull with inserting: look at the connector, one side there are 3 metal pins and on the other side 2 metal pins.
Make sure that the WII drum kit is kept "alive" during playing.
There are a few options to do so:
Note that option 3 above makes it impossible to hear the sounds at the same time as playing the wii.
Now that the drum-kit is "alive" there are different ways to connect a drum sound.
The sound data can be transmitted via:
Buy:
Idea:
Steps:
Idea:
This idea is more complex while results are comparible with option 1.1.
Not further described here. Information can be found on the internet.
Example without explanation: https://www.youtube.com/watch?v=38j0YGXrKjg
Idea:
Drum signals are received via bluetooth (hence no midi input required).
A good explanation from Winko can be found here.
Idea:
Steps:
The I2C description of the Wii-drum interface can be found here.
The Arduino can read from address 0x52 six registers. Which contain:
Arduino receives midi signals via Midi-out on the wii-drum kit. Bits in register 5 will become 0 when color is hit.
Pad on drum kit | Register 5 | Note according MidiOx |
Yellow (Y) | 110111xx | BP2 |
Orange (O) | 011111xx | C#3 |
Red (R) | 101111xx | D2 (sometimes Bp2) |
Blue (B) | 111101xx | C3 |
Green (G) | 111011xx | A2 |
Foot (Bass) | 111110xx | C2 |
I have created a simple example Arduino code, which can be found here.
Idea:
Notes:
Buy:
Challenges:
Tests done:
See option 2a. But now software running on the RaspBerry Pi will be used. This solution is at this moment not under futher investigation.