I hinted that the DIY Drones team had been working with Google on an Android-compatible RC interface board. Now that I/O is over, I can give the details. We're calling it the "PhoneDrone board for Android", and it's a way to connect any Android device (2.3.4 or higher) to the world of RC and UAVs.The board has 8 channels of RC in and out, with PWM-to-PPM conversion and multiplexing between RC and Android control. You just plug the Android's phone USB connector into the board and you have two-way communications with RC gear and any other board, such as APM.
That means that you can switch between RC control and Android control or mix the two. An example would be "fly/drive by wire". You steer your vehicle via RC, but an Android phone does the actual control using its onboard IMU. On a car, that would allow every turn to be a high-speed controlled drift, for instance (we may show something like that at Maker Faire).
Or, with a UAV, you might have the Android phone doing high-level image processing and object tracking, sending mission commands to an autopilot board such as APM. You might also want to use the phone's long-distance wireless instead of an Xbee for two-way telemetry.
This can either replace APM if you've got equivalent code running on Android, or compliment it with the Android device doing image processing or long-distance wireless comms.
Note that the pictures here are of an early prototype and some branding has been photoshopped out, pending final silkscreen approval.
Specs:
- 8 Input&output PWMs
- Native USB host master (MAX3421)
- Native USB slave (Atmega32-au)
- Arduino Compatible
- Atmega2560 as main controller
- Atmega32-u2 as FTDI substitute and PPM encoder
- Three spare serial ports to communicate with other boards (including APM)
- Build-in 5V-2A switched power regulator (input range 6V - 36V)
- Build-in 3.3V LDO power regulator
- Android TM compatible...
- All Atmega2560 pins exposed.
- High quality PCB is ROHS/lead free, Gold immersed.
- Dimensions: 4" x 1.6"...
Comments
I was teetering between a Xoom and Ipad 2. No question anymore. It is a good time to be alive if you are a techno geek thank you!!.
hey im still trying to fing a standalone car to ipod devise . chrysler said if i want it i have to bye a car im like nope
i could build one myself..so is that a no??
hey is there a similar board for the ipod/iphone other than the A.R.Drone one
or have i just missed it??
I see the attraction of replacing the RC-link by 2 phones - years ago (2004/2005) I did this in a project I called "CellRC". The problem was GSM-CSD latency in the order of about half a second. Latency could be compensated by AP functionality, transmitting GPS waypoints just pointing to the screen where it should go.. Well 2005..
I see of course that Android will enable things like optical flow and further biomimetic tech - for an exellent compilation see Dario Floreano et al. "Flying Insects and Robots", Springer, 2009 (still actual). But for IMU (even optical flow) alone I'm a bit hesitating to buy another "cellphone". Atmel's new Xplained stuff is definetely less pricey. Perhaps I miss something, if so please help.
Great board guys, although the $99 price tag seems a bit excessive. You can buy an Ardupilot for $25 and one of Oleg's USB mini shields for $20. Granted, you'll need a bit of extra wiring, and you might need the extra pins on the mega. You could get an ardupilot mega for $60 and still come out ahead $20. It would seem that integrating components should save us money, not cost us more?
As for the comparison with IOIO, note that there are two issues that need to be taken into account separately. First is hardware, pic24 versus Arduino in this case. Personally I don't really care what you use here, although you probably want some PWM pins, input capture pins to decode an incoming PPM signal, some ADC's, I^2, etc.
Second is the protocol used to talk to the phone. IOIO and my project, MicroBridge, have been using the ADB protocol (Android Debug Bridge), which is available on pretty much any Android device since version 1.5. It does everything ADK does and more, but is perhaps a little less elegant in the way it does it. What makes IOIO so cool is that it provides a rich Java API that allows you to manipulate the IO pins on the pic24 directly from Java, much like firmata for Arduino. This is ideal if all you want to do is extend your Android device with some IO.
Google's new ADK protocol is a bit of a wart imho, especially the non-standard handshaking on the USB bus is, well, creative. Either way it's a standard now so we're stuck with it. It has the advantage of having Google's backing and an API on the Java side. Downside is that it doesn't work on devices running versions other than 2.3.4 or 3.1.
According to the spec, an Android device in accessory mode (ADK mode) can still support ADB, so it's possible to use both protocols at the same time.
So the bottom line is this: first, any hardware that does ADB can do ADK and vice-versa. All we're talking about here is a microcontroller board that has USB host support.I expect IOIO to support ADK in the future and it will continue to be popular due to its great Java API. Second, use ADB if you don't have a 2.3.4 device.
I have recently ported MicroBridge to C++ and released it as an Arduino library. This allows you to use ADB on Arduino, Google's reference board, and also this new UAV board. Well, of course I don't have this board so I can can't test that claim, so if anyone is willing to give it a go let me know.
http://romfont.com/2011/05/15/microbridge-adb-support-for-arduino/
I suggest you buy an IOIO board. If you don't know why you would want a PhoneDrone board, then it isn't for you.