close-circle
Close
0%
0%

TeensieWI woodwind USB MIDI controller

Minimalistic and easy to build USB MIDI controller, inspired by the AKAI EWI, the CASIO DH-200 and my own MiniWI.

Similar projects worth following
Minimalistic and easy to build woodwind USB MIDI controller with just a Teensy LC (or 3.x) and an MPX5010GP sensor, using the Teensy built in touch sense for keys. The key electrodes are made from self adhesive conductive tape and the housing is just sheets of 3 mm plastic or plywood.

Prerequisites:

* Knowledge in how to to install and use Arduino and Teensyduino to compile and upload the firmware. I'm not going in-depth on that.

* Basic soldering skills.

* A suitable synthesizer software. I recommend Thor on iPad (or in Reason).

* Knowledge how to use softsynths with MIDI and how to configure them to work with breath control (CC#2) or acquire patches that are already setup for this, like the presets that Bernie Kenerson has made for the Thor softsynth on iPad.

Short demo snippets using the TeensieWI together with Thor:

TeensieWI.ino

Source code. Part of my bigger MiniWI project on Github. Licences and more stuff is found over there.

ino - 7.86 kB - 06/20/2016 at 19:32

download-circle
Download

TeensieWI-schematic.png

It is really this simple. I promise.

Portable Network Graphics (PNG) - 21.06 kB - 06/20/2016 at 19:31

eye
Preview
download-circle
Download

TeensieWI-fingering.png

Fingering chart for the TeensieWI.

Portable Network Graphics (PNG) - 214.33 kB - 06/20/2016 at 19:30

eye
Preview
download-circle
Download

  • 1 × PJRC Teensy LC Can be replaced with 3.1 or 3.2. Contact me for info on that.
  • 1 × Freescale MPX5010GP Breath pressure sensor.
  • 1 × 3 mm sheet of perspex or plywood Cut to two 250x40x3 mm pieces
  • 1 × Conductive metal tape Alu (for less oxidation) and copper (for solderability)
  • 1 × Electronics wire AWG24 or similar guage

View all 8 components

  • Connecting to DIN MIDI hardware synths

    Johan Berglund09/19/2016 at 10:03 0 comments

    Sure there are a lot of nice softsynths to use with the TeensieWI, but if you also wish to use it with hardware synths with DIN-5 MIDI input, you can't do that directly of course. The options are to either go via a computer and reroute the MIDI data, or to get a MIDI USB host converter. The first one is not very practical in many situations, and the latter can be expensive and still a bit bulky. For pro use, I'd probably go with the Kenton converter, but if you just built yourself a €40 wind controller, you probably don't want to spend €100 just to make it work with your hardware synths. Sure, you could just use a serial TX port on the Teensy to get the signal out, but that would require another cable going from the controller. Also, with a USB host converter, you can do this with any class compliant MIDI controller, so that's a plus. After some internet searches I found the USB host mini from Hobbytronics.co.uk. It converts USB data directly to serial data, so all you need to get a working MIDI converter is a 5V DC regulated power source and a MIDI jack with a couple of resistors. You can easily fit it in a small enclosure and make yourself a cheap (< €20) converter dongle. So that's my little tip of the day :)

  • Joystick for pitch bend and modulation

    Johan Berglund09/16/2016 at 19:59 0 comments

    To increase the playability and nuance in the controller, I've installed an analog thumb slide joystick normally found in PSP 1000. The size was just perfect, and with some changes to compensate for the shortcomings in this joystick, I could use the pitch bend and modulation functions from my MiniWI code. I've updated my Github with the new firmware and schematics.

    A quick demo:

  • Anti-slip thumb rest wall

    Johan Berglund08/12/2016 at 07:45 0 comments

    Here's a little detail I forgot to mention earlier. To prevent LH thumb accidentally slipping onto the octave pads creating glitches, a small wall can be put at the sides of the thumb rests. Helps a lot.

  • Building another one

    Johan Berglund08/03/2016 at 07:50 2 comments

    I made another one of these, with some alterations. This time I used some smaller gauge wires (some old LVD-SCSI ribbon cable I had lying around) to make it less cramped. I also put wood strips (5x5 or 6x6 mm) between the edges of the perspex sheets and used M2x10mm self tapping screws to hold it together (with some pre drilling and countersinking).

View all 4 project logs

  • 1
    Step 1

    Cut two pieces from 3 mm perspex plastic (or similar) or plywood. They should be about 250x40 mm.

  • 2
    Step 2

    Cut pieces from self adhesive conductive metal tape, copper or aluminium. They should be about 18 mm by 50 mm for the main keys and 9 mm by 50 mm for pinky keys and octave pads. Just make a bunch... but at least 6 of each.

  • 3
    Step 3

    Start mounting the larger tape pieces onto the top side sheet. Start 40 – 45 mm from the top and place the LH pieces with 5 mm separation and an offset of 10 mm from the LH finger side. The overshooting ends of the tape pieces are folded over to the back of the sheet. Make a 25 mm space and then do the same for the pieces for the RH keys. See pictures!

View all 15 instructions

Enjoy this project?

Share

Discussions

afrancis2 wrote 01/19/2017 at 01:52 point

I recently built one and it looks great. However, when I attempt to verify the code, the usbMIDI.sendControlChange causes an error that says 'usbMIDI was not declared in this scope'. Do you have an insight or advice on what might cause this? I have looked into it, but have been unable to figure it out.

-Austin

  Are you sure? yes | no

tim wrote 08/20/2016 at 14:58 point

do you see any problems using the MPXV4006GP , case style 1369-01 ? 

  Are you sure? yes | no

Johan Berglund wrote 08/20/2016 at 15:48 point

For this exact controller housing design, there might be a problem with the smaller size tube fitting and the size of the sensor itself. Electrically the signal will probably go too high for the 3.3V inputs. A perfect sensor, electrically and for fitting pressure, would be the MP3V5004GP. It has the 1369-01 case, and is 3.3V so no risk overloading the Teensy port. Should be a 3.3V version of the 4006 out there too, I guess. Then just adjust the threshold and max pressure values in the code.

  Are you sure? yes | no

tim wrote 08/06/2016 at 16:25 point

Looks great !!

  Are you sure? yes | no

tim wrote 07/18/2016 at 13:00 point

This is a very cool project.  I've been wanting to build/buy a small wind controller for travel/convenience.  

Tim/Austin Tx

  Are you sure? yes | no

Johan Berglund wrote 07/18/2016 at 14:30 point

Thank you! I always keep a TeensieWI in the side pocket of my Kånken bag. Very convenient :)

  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