A Parallax Propeller and minimal external hardware can be used to communicate with any Android phone by using the Android Debug Bridge -- essentially, the Propeller microcontroller pretends to be a PC running the ADB client. This gives the microcontroller either a Unix shell into the phone, or the ability to read from and write to a TCP socket into the phone.
The applications for robot control and sensors are pretty obvious, given that the ADB interface uses up about half the Propeller micro and the other half can be used to drive sensors and motors. The schematic is identical to the Antbot's schematic, with a very minor change concerning a USB socket connector and four resistors.
Source(s): Android solutions
Propbridge was based on MicroBridge
Note that the USB Host object requires that the USB connection be on pins 0 and 1 on the Propeller chip. This configuration is enough to allow an Android phone to talk using the Propeller's programming serial port; the other pins may be used as I/O lines as normal. If a standard RS232 serial port is not required, the circuit becomes even simpler.
The software may be obtained at http://obex.parallax.com/objects/724/ both microcontroller and phone side. The demo showcases the ability of the Propeller to open multiple shells into the phone by using one to receive data from the phone by a filtered instance of the logcat executable, and one to send data into the phone by using a temporary file -- while this is not necessarily the most efficient way, it allows Android apps to talk to the microcontroller in a low-overhead and fault-tolerant manner. A faster way to do it would be using a TCP socket: the ADB server phone-side actually takes care of the TCP stack entirely, and the Propeller merely uses Write and Read on the usb object to retrieve or send raw data without any need for encapsulation.
An useful side effect of using a debug shell is that even on unrooted phones the Propeller can cause a software reboot on the phone, thus allowing use as a watchdog in long-deployment data collection or robotics applications.
We now sell a kit for this application, but encourage users to build their own as the circuit is extremely simple.
Source code is provided in the link above; RobotsAnywhere firmware that uses this method instead of serial or audio input is in beta and available on request.
Source(s): Android solutionsA quick clip showcasing basic functionality.