Let's Make Robots!

FezBridge - Android Debug Mode meets Fez Domino

FezBridge is an Implementation of the Android Debug Bridge (ADB)  on a .NETMF device, the Fez Domino from GHI electronics. It is based on the MicroBridge project from Inopia alias Romfont. The ADB is available on most Android phones (Andropid v1.6 or higher). This is one of the advantages against the Android Open Accessory mode. which runs only on a few phones.



Hardware
The Fez Domino has an Onboard USB Host controller, so no extra shield is required. An USB Hub is highly recommended  to power the Android phone. If you connect the phone directly to the Fez board, the power regulator will be get very hot. Because an Android phone can draw upto 500mA, whne charging.


Software
The software is based on the MicroBridge project for Arduino. Porting it to the .NETMF Plattform was a real challenge. First I need to know a lot about USB devices, like Enumeration, Interfaces or Endpoints and how a connection has to be established between USB host and client. The MicroBridge project as a working example gives me the missing details about the USB communication to get a first version of FezBridge running on .NETMF.


On Android side the ServoControl App from the MicroBridge project has been used, with some slightly modification. A simple ASCII protocol has been used for communication. For example the command:
x:90;y:90;
is for controlling the servos.
a0:15.23456;
is the value of the analog distance sensor. This doesn't work at the moment. I think it's a bug on the Java side. Later on I will write my own Android app.

Code can be found at Google code

Update: 29..05.2011

FezBridge works also on the cheaper FEZ Panda, Panda II, FEZ Mini devices. A minor hardware hack is needed to enable USB Host onthese devices.