MicroBridge is an Android Debug Bridge (ADB)
implementation for microcontrollers. MicroBridge allows
stock, unrooted Android devices to talk directly to USB
host enabled MCUs, thereby enabling phones to actuate
servos, drive DC motors, talk to I2C and SPI devices, read
ADCs, and so forth.
I've spent the past few weeks working on this[1] with my brother (he built the case and wired/soldered everything; I handled the firmware) and I can think of some awesome applications for this Android board. I'm really excited about the idea of building an Android powered MIDI controller now :)
Beautiful work! I love the arcade cabinet style buttons. What kind of things are you looking to trigger with it? I imagine mashing up breakbeats with those buttons would be really compulsive :)
My brother plans on using it for DJing with Traktor.
The ideas is that you never ever need to touch a laptop while DJing. I would love to extend it to use an android phone as a display (so that the laptop can be hidden away under the table or whatever).
At the moment, we have 4 banks which change the MIDI channel of everything else, and 4 banks for the 16 midifighter buttons. These four banks basically map to each one of four Traktor decks. The 4 "global" banks are then used to choose between browsing through songs, loops, various deck control commands and effects.
I imagine mashing up breakbeats with those buttons would be really compulsive :)
Its addictive to mash the buttons and see what happens :D Even an unmodded midifighter provides hours of fun, even if (like me and unlike my brother) you're not terribly musical.
Anyway, we had a little setback - think we may have fried the atmel mcu.. :'( but once its all finished and cleaned up, I intend on releasing the code and writing a blog post about it, which I'll probably submit to HN.
A little OT, but does anyone understand why there aren't usb-to-ethernet adapters for android devices? I have an environment where I cannot use wifi but want network connectivity.
Unless I have misunderstood the adb docs, it shouldnt be too hard to set up, even though it only seems to allow ports to be forwarded from the host to the phone, rather than the other way around. Nimble use of netcat/iptables should remedy this.
Does anyone know if there are similar equipment for PCs?
I want to hook up a laptop to some electronics equipment for data logging.
Arduino boards are pretty slick but they need some wrapping to work smoothly, i want to have more recommendations.
For clarification, i want the I/O API to be targeted for a program running on the PC. I don't want to write a wrapper in the microcontroller myself and then transfer it over serial port to PC. I want the microcontroller block to be transparent. PC<--->Microcontroller<--->I/O
All development boards will have a USB interface which generally comes up as a serial port. You can then just fire bytes back and forth in whatever way you please.
It basically does the wrapping for you, so you can control the Arduino from your PC using software you're already familiar with: Python, MaxMSP, Processing, PD etc
You can always chop the end off an old parallel cable and manipulate the state of each pin using whatever language you want on the PC. It's known as 'bit-banging' I believe. It's a simple way to do GPIO.
This seems to be exactly what i'm looking for. I also find some similar firmware[1] for AVR in case you want to do the same on an arduino or other avr-based construction. Thinking about it just writing the code targeted directly for the µC isn't that complicated. Even though it's nice to have the communication firmware done for you already.
Pre-order here: http://www.sparkfun.com/products/10585 ($49.99)