On Thu, 27 Nov 2008 23:35:52 +0000
 
simone-www.io-lab.org <cimo75(a)gmail.com> wrote:
  hi
 arduino is a bit slow but if you need only a few pots to tweak
 parameters building up a song it may be ok.
 I wouldn t advise it if you need something for live acts with sensors,
 or you are going to multiplex the analog inputs.
 For a quick, darn cheap and easy (and high resolution: 10bit) little
 device i ve built a couple of these:
 
http://1010.co.uk/avrhid.html
 these ones send HID protocol to USB, very fast and 10bit resolution, 8
 analog ins and 6 digital ins.
 About coding and different language, MIDIBox has a great approach
 (anyboy noticed I am a big MIDIBox fanboy?): there is a first
 bootloader to be loaded with a burner, only 1 time, then all the code
 is sent via MIDI sysex; this loader is written in ASM.
 Then there is a lower level OS called MIOS, also written in ASM and
 optimized for preemption, all basic functions for ADCs, G/CLCD,
 digital inputs, multiplexing, you name it, are coded here.
 On top of that there is the end application that can be written in C
 or ASM, toolchains/compilers exist both for C and ASM (you build with
 the same command both the languages) and are ported to all 3 major
 OSs.
 Need more? Soon you ll get the new CORE32 ARM Cortex.
 Need info? MIDIBox is backed by one of the most friendly and competent
 community.
 Linux, Open Source? The project is Open Source and you are only
 restricted not using it for commercial purposes.I am planning to port
 as many boards as possible to Kicad and there is also a project
 running aiming at create an Ubuntu-Studio based collection of packages
 that will set you up to go with MIDIBox: all compilers, boards
 designs, svn to get latest code, sysex loaders, MIDI troubleshooting,
 burner again, you name it.
 Simone 
 Although I was initially quite interested to see this, and very much
 liked the small size, after reading through I have severe misgivings
 about this project.
 The first issue I have is that of doing all the USB work in software
 rather than a dedicated chip. This takes up both processor time and
 memory from a little processor that doesn't have too much of either.
 Even with that, I notice that only USB 1.1 is implemented
 - and not completely.
 The other major problem I see, is that the author of the code first
 says it is GPL, then give a restriction that you must make your
 firmware available. The is *not* compatible with the GPL and suggests
 he/she doesn't have a proper understanding of it. I have no objection
 to people putting whatever restrictions they like on their work so long
 as they don't say it's something that it isn't.
 ttymidi is a small software module available for Linux that enables
 you to connect serial data (either via a D connector or via USB>serial)
 directly to a virtual MIDI port, and is thus ideal for any PIC or atmega
 microprocessor. The only quirk it has is that it expects the serial
 side to *always* send 3 bytes of data per command, which it will then
 pass on as genuine MIDI (dropping the spare bytes). This actually makes
 it easier to program the remote device, which I suspect is the main
 reason it was done.
 Under these circumstances the Arduino board comes out streets ahead.
 Not only does it have a dedicated USB/Serial chip, but it also has the
 full 12x digital inputs, as well as 5x10bit analoge inputs.
 The arduino firmware and programming software is fully GPL although the
 Arduino name and hardware has a commercial restriction on it (clearly
 stated). However the reference drawings for creating your own boards
 are CC licensed so again you are free to do as you like with them.
 Now all we need is fro someone to produce versions of ttymidi for
 Windows, and for the Mac :) 
I've long since lost the links, but I remember seeing little programs for Windoze and
Mac which translate MIDI sent over a class-compliant USB Serial device (i.e. Arduino) into
appearing to be a MIDI device to CoreAudio or whatever the equivalent(s) is(are) on
Windoze.
-ken