Khaled Albaddah, Graham Boylan, Matthew Wong MIDI V2 Design Review Khaled Albaddah, Graham Boylan, Matthew Wong February 16th, 2017
Needs A MIDI controller device that offers the expected full set of features, doesn’t sacrifice performance, and is at an affordable price point. The device will offer a combination of every desirable feature that the current commercial controllers offer separately from one another. The basic needs of a MIDI controller are low latency, efficient button layout, visual feedback, compatibility and ease of use. The MIDI V2 will also incorporate velocity feedback on button presses while still maintaining a low price point, which current competitors lack.
Requirements Specifications 1. The device must not introduce any noticeable latency. 2. The device must provide MIDI velocity data. 3. The device must have an efficient button layout. 4. The device must be capable of providing visual feedback to the user. 5. The device must be priced competitively. 6. The device must be compatible with most common music production configurations and with industry-standard digital audio workstations via a standard USB-MIDI connection. 7. The device must be simple for any layperson to install.
Engineering Specifications 1. Device will maintain a response rate of 10 milliseconds or less. 2. Device will obtain a velocity value between 0 to 127 which will provide a large range of measurement and output the value in the MIDI bit stream. 3. Device will have a 6x6 grid layout, offering the ideal layout to align evenly to 12-note musical octaves. 4. Device will offer LED feedback to button presses. 5. Device will maintain a cost of under $150, ideally $100. 6. Device will offer USB compatibility with major operating systems and audio workstations.
Needs vs. Specifications A MIDI controller device that offers the expected full set of features, doesn’t sacrifice performance, and is at an affordable price point. The device will offer a combination of every desirable feature that the current commercial controllers offer separately from one another. The basic needs of a MIDI controller are low latency, efficient button layout, visual feedback, compatibility and ease of use. The MIDI V2 will also incorporate velocity feedback on button presses while still maintaining a low price point, which current competitors lack. $100-150 price point 10 ms response rate 6x6 grid layout LED feedback USB Compatibility Velocity feedback
Design
Button Mechanism Electric. Tactile. Mechanical. Out of the 3, mechanical switches have the most fluid feedback while under rapid input sequences. To obtain a velocity measurement, piezos(electric) would have sufficed on their own. However, to keep the device as digital as possible, mechanical switches were chosen. To obtain velocity measurements from mechanical switches, a second actuation point would be needed. Tactile switches were chosen to be the second actuation point due to their small sizes that wouldn’t effect the travel distance between the two switches.
Button Mechanism Risks Electric. Non-fluid physical feedback. Tactile. Unreliable product quality. Mechanical. Cost. Using piezo sensors/electric switches would mean that we’d only need 36 switches and each switch would be able to calculate velocity by itself. However, these switches don’t have any travel distance which would mean that the keys would be tapped instead of pressed, which we believe isn’t the optimal design for rapid inputs with a midi controller. Tactile switches are fine, but not as the main input of the device. Mostly due to their cheap product quality that leaves an underwhelming feeling to button presses. Our most optimal choice was the mechanical switches. If anyone has used mechanical keyboards, you’d know that they’re much superior to membrane keyboards due to their smooth feel and quick response rates. The only disadvantage these have to the other two choices is mostly cost, but that’s only when directly compared to them, in regards to the cost of the whole project it isn’t really that big of an issue.
Button Mechanism Our choice of button mechanism combines both mechanical and tactile. The mechanical switch is going to be the main input that the user presses. It will also server as the first actuation point. The tactile switch is going to serve as the second actuation point. Two actuation points are required to be able to measure velocity. Distance over time.
Ergonomics Device layout Tactile response Actuation distance Merriam-Webster: “An applied science concerned with designing and arranging things people use so that the people and things interact most efficiently and safely” Device layout Tactile response Actuation distance
Device Layout 4x4 and 8x8 grids are standard Musical octaves contain 12 notes 8x8 is bulky, usually unnecessary 4x4 is too small, slightly more than one octave 6x6 aligns with octaves and has an acceptable range
Device Layout Risks 6x6 may be awkward for those used to other products Mitigation: Layout should be easier to learn, and use as a sampler can be set up by the user 36 buttons will require a complicated device layout Mitigation: Begin PCB design early to allow plenty of time for revisions and adjustments Range may not be large enough for some users Mitigation: Include buttons to shift the range up and down by one octave at a time
Microcontroller Selection High demand for digital IO Should have decent USB MIDI support Should be fast enough to meet latency requirements
Microcontroller Option s Teensy 2.0++ Arduino Mega NXP Freedom Series
Teensy Risks Might not have enough GPIO Might not be fast enough Mitigation: Switching to a larger Teensy would be trivial Might not be fast enough Mitigation: See first section
Microcontroller Logic Flow Input Logic Design Flow Output Logic Design Flow
Electrical Logic Block Diagram 2:1 MUX Faster than a shift register Simpler signal interpretation at the microcontroller Schmitt trigger on the Clock signal Further reduce switching time Induced by fan-out voltage for 6 select lines Logic control diagram for multiplexed inputs
Schematic
Prototype 3D Model
Layout and Electronic Risks Layered button height placement and Physical stability Mitigation: Analyze datasheets for appropriate distance between keys, allowing for sufficient actuation distances without compromising physical stability. Driving LEDs and Power considerations Mitigation: Investigate independent I2C/SPI LED drivers for low-power 3mm LEDs Clock fanout and Clock speed limitations Mitigation: Perform simulations and testing of MUX and component delays
Bill of Materials Component SKU/Description Cost per Item Expense Lead Time Teensy++ 2.0 ATMEL-based 8-bit, 16MHz microprocessor and development board. $24.00 Purchased Cherry MX Switches (x50) Plate-mount Cherry MX Black Keyboard Switches, MX1A-11NN $0.665 $32.25 In Stock (Purchased) Quad 2:1 Selector MUX with common select (x9) SN74HC157PWR $0.55 $4.95 3-Channel Schmitt Trigger Inverter (x1) SN74LVC3G14DCUR Momentary Tactile Switches (x50) Panasonic EVQ-11A04M $0.2108 $10.54 In Stock (Purchased) 10x1 Male Headers (x4) Rows of header pins to be soldered onto the Teensy development board. $1.50 $0 Provided by department Printed Circuit Board Estimated ~6x6” 2-layer PCB prototype $35.00 2 weeks Acrylic Sheet ~6x6” 0.050” thick acrylic sheet $10.00 Available Estimated Total $117.29 Bill of Materials as it currently stands, without LEDs or drivers
Testing
Button Testing Button Functionality Testing Multiple Independent Input Integration Test LED Output Unit Test Button Functionality Unit Test - Ensure proper input and output functionality of momentary switches by observing multiplexer outputs held at select lines. Multiple Independent Input Integration Test - Verify that all inputs may be set and observed independently for a variety of input combinations. LED Output Unit Test - Observe that LEDs are powered to specification and lit using an input control signal.
MIDI Functionality Testing MIDI round trip delay. MIDI note layout. Visual feedback addressing and functionality. Visual feedback addressing with octave range shifting. MIDI round trip delay - Verify that the total round-trip MIDI latency of the Teensy is less than 20 milliseconds. MIDI note layout - Verify that the device sends the correct MIDI note for each button, and that the octave shift keys correctly alter the output note range of the device. Visual feedback addressing and functionality - Verify that MIDI messages sent to the device light the LEDs in the buttons corresponding to their MIDI note, and that each LED is able to be lit. Visual feedback addressing with octave range shifting - Verify that MIDI messages sent to the device light the correct LEDs after varying octave range settings, and that changing the octave range setting correctly toggles on or off LEDs as they are brought into and out of range.
User Testing User-perceived button feel. User-perceived velocity scale. User-perceived latency. Keycap preference . User-perceived button feel - Verify that the buttons feel satisfying to press, can be played reliably, and require an acceptable amount of force. User-perceived velocity scale - Verify that the output velocity corresponds to user expectations. User-perceived latency - Verify that the device does not produce a noticeable delay or impact the user’s ability to play on rhythm. Keycap preference - Determine the preferred key cap design for the user.
Questions?