<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2013321629326850952</id><updated>2012-01-26T10:36:47.663-06:00</updated><category term='arduino'/><category term='midi-over-usb'/><category term='calculator'/><title type='text'>shiftmore</title><subtitle type='html'>severely amateur electronics</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shiftmore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2013321629326850952/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shiftmore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nathaniel Shiftmore</name><uri>http://www.blogger.com/profile/04481292350575189257</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_KLJp9VskMzs/Se9Y6h1mReI/AAAAAAAAAG0/Zq2hxfyMzTg/s1600-R/n1632773955_4478.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2013321629326850952.post-6748163013856267070</id><published>2010-01-11T02:24:00.012-06:00</published><updated>2010-01-11T11:23:38.015-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='midi-over-usb'/><title type='text'>Quick and Dirty Arduino Midi Over USB</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l4zfSqjfI/AAAAAAAAAI8/zwOPaLIxyFE/s1600-h/DSC_0461.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l4zfSqjfI/AAAAAAAAAI8/zwOPaLIxyFE/s320/DSC_0461.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;A lot people use arduinos as a starting point for diy midi controllers. A perfectly reasonable assumption many of them make is that you can use the on board usb port to send midi data to your computer. While you can send serial data, it is not possible for your computer to recognize this as midi messages right out of the box.&lt;br /&gt;&lt;br /&gt;One popular way around this is to have a piece of software running on the computer which listens for incoming serial data from the arduino and passes the midi data on to the appropriate places. Various methods exist ranging from running a Max patch listener to writing and installing custom drivers. There is a &lt;a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1161023163/0"&gt;lengthy thread on the arduino forum&lt;/a&gt; explaining the issue in depth as well as what poeple have done to get thier projects to work.&lt;br /&gt;&lt;br /&gt;I wanted my devices to be able to work on any machine without first having to install special drivers or running separate programs.. It seems cleaner and more straight forward that way.. plus I am lazy and installing drivers is boring.&lt;br /&gt;&lt;br /&gt;While looking for options, I stumbled on &lt;a href="http://www.amazon.com/Input-Output-Cable-Converter-Notebook/dp/B001HPL8B2/ref=sr_1_3?ie=UTF8&amp;amp;s=miscellaneous&amp;amp;qid=1259723275&amp;amp;sr=8-3"&gt;this ridiculously cheap midi-usb converter cable&lt;/a&gt; and got the bright idea to just embed the whole thing in the controller.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_KLJp9VskMzs/S0l0EJpUJMI/AAAAAAAAAIU/PRHtSnOvTX8/s1600-h/DSC_0445.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_KLJp9VskMzs/S0l0EJpUJMI/AAAAAAAAAIU/PRHtSnOvTX8/s320/DSC_0445.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The set up is pretty straight forward... you basically just need to bypass the cables and wire the arduino directly to the circuit board inside. The final product is plug and play, powers the arduino, and &lt;a href="http://shiftmore.blogspot.com/2009/12/calculator-midi-usb-controller.html"&gt;fits nicely inside your enclosure&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l1JGXXFpI/AAAAAAAAAI0/3ehqDpZlmQs/s1600-h/DSC_0464.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l1JGXXFpI/AAAAAAAAAI0/3ehqDpZlmQs/s320/DSC_0464.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;To begin, pry open the enclosure and disconnect the cables. You could make your life easier by leaving the usb cable connected and just have the cord sticking out of your project, or remove it and wire up a usb socket.&amp;nbsp; Either way, the important part is that little green board in the center. Midi data goes into one side and midi-over-usb magic comes out the other. The chip on board will be recognized as a usb midi device when its connected and use your computer's native midi support.&amp;nbsp; Neat-o.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l1ETTmkfI/AAAAAAAAAIs/PMH5IE3pv_A/s1600-h/DSC_0463.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_KLJp9VskMzs/S0l1ETTmkfI/AAAAAAAAAIs/PMH5IE3pv_A/s320/DSC_0463.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As far as the arduino is concerned, it is just sending straight midi, so the circuit is the same as if you were just &lt;a href="http://arduino.cc/en/Tutorial/Midi"&gt;connecting a midi socket.&lt;/a&gt; Of course, instead of connecting to a socket, you connect to the midi side of the board like so:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_KLJp9VskMzs/S0tTnt2GlbI/AAAAAAAAAJg/LSEawVLNDSg/s1600-h/cheapo_midi-usb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_KLJp9VskMzs/S0tTnt2GlbI/AAAAAAAAAJg/LSEawVLNDSg/s320/cheapo_midi-usb.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The darker lines are all thats needed if you are going to leave the usb cable attached. Note the line from the usb side reaching over to the arduino Vin for power.&amp;nbsp; The rest are if you want a usb socket instead of the dangling cable (the rectangle on the right is a type b usb socket shown from the top).&lt;br /&gt;&lt;br /&gt;Thats about it. This is set up just to provide midi out from the arduino, although midi-in would just involve another wire from the board to the Arduino's Rx pin.&lt;br /&gt;&lt;br /&gt;To test everything out, load up the midi example that comes with the Arduino environment, plug in the usb and let it rip. If it doesn't work, you probably messed something up.. good luck.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2013321629326850952-6748163013856267070?l=shiftmore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shiftmore.blogspot.com/feeds/6748163013856267070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shiftmore.blogspot.com/2010/01/quick-and-dirty-arduino-midi-over-usb.html#comment-form' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2013321629326850952/posts/default/6748163013856267070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2013321629326850952/posts/default/6748163013856267070'/><link rel='alternate' type='text/html' href='http://shiftmore.blogspot.com/2010/01/quick-and-dirty-arduino-midi-over-usb.html' title='Quick and Dirty Arduino Midi Over USB'/><author><name>Nathaniel Shiftmore</name><uri>http://www.blogger.com/profile/04481292350575189257</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_KLJp9VskMzs/Se9Y6h1mReI/AAAAAAAAAG0/Zq2hxfyMzTg/s1600-R/n1632773955_4478.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_KLJp9VskMzs/S0l4zfSqjfI/AAAAAAAAAI8/zwOPaLIxyFE/s72-c/DSC_0461.jpg' height='72' width='72'/><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2013321629326850952.post-7329470564201078882</id><published>2009-12-01T22:28:00.000-06:00</published><updated>2009-12-03T09:36:18.800-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='midi-over-usb'/><category scheme='http://www.blogger.com/atom/ns#' term='calculator'/><title type='text'>Calculator MIDI USB Controller</title><content type='html'>&lt;span style="font-size: small;"&gt;Borderline useless, more trouble than its worth, but cool nonetheless.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_KLJp9VskMzs/SxXsSDGVAPI/AAAAAAAAAH8/VSNN3DShgwo/s1600-h/midiCalc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_KLJp9VskMzs/SxXsSDGVAPI/AAAAAAAAAH8/VSNN3DShgwo/s320/midiCalc.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;Make cool things look as nerdy and boring as possible!&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;One of the first things I thought of doing with an &lt;a href="http://arduino.cc/"&gt;arduino&lt;/a&gt; was turning an old &lt;a href="http://www.datamath.org/BASIC/DATAMATH/ti-2500-3.htm"&gt;calculator&lt;/a&gt; into a MIDI controller. The buttons are simple momentary switches.. no velocity sensitivity, but its nice for a pretty compact set of buttons.. and it looks neat. stfu.&lt;br /&gt;&lt;br /&gt;Eight of the buttons are connected to the arduino digital inputs through a 4021 shift register as explained &lt;a href="http://www.arduino.cc/en/Tutorial/ShiftIn"&gt;here&lt;/a&gt;. The rest make their way directly to the remaining digital ins. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KLJp9VskMzs/SxdBUs_3uLI/AAAAAAAAAIE/fw36e87KURQ/s1600-h/thingy2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_KLJp9VskMzs/SxdBUs_3uLI/AAAAAAAAAIE/fw36e87KURQ/s320/thingy2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;The shift reg &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;as well as the actual connections to the keypad are hidden on the underside of that slightly burnt perf board &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;Button matrixeses are generally pretty similar. Each button can be checked by a unique pair of contacts on the terminal or ribbon cable or whatever is connecting to the board. The trick is finding out which ones go where. All it takes is a little patience and a volt meter with a continuity tester.&lt;br /&gt;&lt;br /&gt;Here's a &lt;a href="http://www.winpicprog.co.uk/pic_tutorial9.htm"&gt;tutorial&lt;/a&gt; I just found showing how to interface with a keypad. You're welcome.&lt;br /&gt;&lt;br /&gt;The arduino patch checks the state of the buttons and generates the MIDI signals which are sent to a butchered &lt;a href="http://www.amazon.com/Input-Output-Cable-Converter-Notebook/dp/B001HPL8B2/ref=sr_1_3?ie=UTF8&amp;amp;s=miscellaneous&amp;amp;qid=1259723275&amp;amp;sr=8-3"&gt;$6 MIDI to USB converter cable/board/thing&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KLJp9VskMzs/SxdEe5pmv7I/AAAAAAAAAIM/NQDvzPvndto/s1600-h/thingy3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_KLJp9VskMzs/SxdEe5pmv7I/AAAAAAAAAIM/NQDvzPvndto/s320/thingy3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;The midi-usb converter is the green board at the far right.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;Midi from the arduino's serial out goes into the bottom, usb comes out of the top.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: xx-small;"&gt;It also powers the arduino.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I mainly use it to trigger cue points in &lt;a href="http://www.torq-dj.com/"&gt;Torq&lt;/a&gt;, but it works just as well for triggering clips or controlling a drum rack (minus velocity sensitivity, of course) in &lt;a href="http://www.ableton.com/"&gt;Live&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is actually the second calculator I've tried. The first one is a mess and lacked the tricky USB support. I'll find some time to redo it and document it from the start, in case someone else would like to do something similar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2013321629326850952-7329470564201078882?l=shiftmore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shiftmore.blogspot.com/feeds/7329470564201078882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shiftmore.blogspot.com/2009/12/calculator-midi-usb-controller.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2013321629326850952/posts/default/7329470564201078882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2013321629326850952/posts/default/7329470564201078882'/><link rel='alternate' type='text/html' href='http://shiftmore.blogspot.com/2009/12/calculator-midi-usb-controller.html' title='Calculator MIDI USB Controller'/><author><name>Nathaniel Shiftmore</name><uri>http://www.blogger.com/profile/04481292350575189257</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://2.bp.blogspot.com/_KLJp9VskMzs/Se9Y6h1mReI/AAAAAAAAAG0/Zq2hxfyMzTg/s1600-R/n1632773955_4478.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_KLJp9VskMzs/SxXsSDGVAPI/AAAAAAAAAH8/VSNN3DShgwo/s72-c/midiCalc.jpg' height='72' width='72'/><thr:total>5</thr:total></entry></feed>
