3D Robotics

3689406153?profile=original
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"...
It will be available in limited quantities next weekend at Maker Faire at the DIY Drones/GeekDad booth, and then available at the DIY Drones store afterwards. Target price: $99.
More pics:
Top:
3689406091?profile=original
Bottom:
3689406264?profile=original


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Developer
    Hello Chris Appeton,

    DIYDrones is a community about DIY with a lot of people with different expectations and thoughts. You are talking about your own vision. Every point of view provides many views... but they are views from just a single point. So, lets make a point cloud together.

    Let's say you wanna control a QuadCopter by a normal RC and use the Android Phone camera running a software to the altitude control. Or maybe to achieve an optical position-hold when you wanna go with your hands off. Oh yes... you'll need it. Let's say the drone could follow a path automatically while you could pointing your camera to a target and take pictures comfortably by using your RC.

    The great thing about this board is the number of possibilities. I'm pretty sure that you will see all that stuff working in many ways that you cannot imagine just by yourself and right now. IOIO is a great start point as well as the PhoneDrone board, what changes the equation is "who" and "how". So, we could make different choices and both still being happy! ;)

    Best,
    SB
  • Chris Appleton: the autopilot runs on the phone drone BOARD, not on the android

    the IOIO is just an IO device, this board here has a complete autopilot software running on it.

     

    and trust me, an android phone which runs on full load withe camera and stuff will run out of battery in less than half an hour

  • Developer

    Ok, let's simplify this.

    IOIO - Single PIC chip based I/O interface board designed to work with Android. No Arduino compatibility.

    PhoneDrone - Dual chip (ATmega32-u2 & ATmega2560) with built in 3.3 and 5v power management, hardware driven PPM input and 8 channel servo inputs and outputs. Arduino compatible, Android compatible and APM compatible (with some minor changes to the APM code?).

  • I must be confused. You said that the phone would not be a good platform for the autopilot code which I would generally agree with. But then you say that you include PPM input because autopilot software running on the phone would need it?

    Just two more points. The debug functionality that IOIO uses is part of the android spec. There has been no mention of it ever going away, and I would be very very surprised if it ever did. As for going dead during operations, almost every single phone can go a full day on a single charge. Unless you are running a platform capable of 20+ hour flights, I don't see that as an issue.
  • 3D Robotics

    Chris, I think the discussion of RTOS has really come down to semantics. APM doesn't use an OS as such at all. The code handles its own timing and system calls. If you want to say that we have built our own RTOS, I guess you can. We just don't think of it that way.

     

    As for the PPM input, that's what most autopilots require. If your application doesn't, then you don't need our board.  As for compatibility, we'll see. Google is only going to support accessories that conform to its ADK standard. I would not necessarily expect that debug feature the IOIO board uses to appear in future versions of Android.

     

    As for charging the Android battery, I can't imagine why anyone would want a board that didn't at least maintain the charge of an Android device. Otherwise, you're at risk of it going dead during operations, no?  At any rate, power management of the Android device is part of the ADK standard. Avoid it at your risk.

  • Chris Anderson:

    Thank you for answering my question. Somebody said that I was trying to catch you in something, but that was not the case. I was a bit confused as everything I had found indicated that APM was not using a real-time operating system. But I think there may be some confusion in part of your response. You state that you use the Atmega interrupt system for predictable timing. I don't know what your background in embedded operating systems is, but that is exactly what the name "real time operating system" qualifies. All events must be processed before a certain deadline. This uses interrupts as well, along with almost all event-driven systems.

    While your comments on the IOIO are correct as far as I can tell, I would still say it can easily be used as a replacement for this board. Unless you were planning on using the phone as the autopilot system, I don't know why you would need PPM input. And very few platforms I know of would need to charge the phones battery. Finally, the special debugging mode is easily activated on all android phones by enabling the settings option. Though others may be happy to pay the extra cost, I personally would need more evidence that it is brought something more to the party to justify the x2 price tag.
  • 3D Robotics
    nullvariable: A few important differences:

    First: the IOIO is not designed for RC use. The PhoneDrone has an onboard PPM encoder and RC multiplexor. There are other special RC functions on the PhoneDrone board, such as 8 RC channels in and out.

    Second: the IOIO is not part of the new Google ADK standard, so it will not work natively with Android. You have to go into a special debugging mode, and so apps designed for ADK won't work with it.

    Third: the PhoneDrone board is designed to work with Android power standards, so it can charge a phone if it's plugged in or be powered by the phone. The IOIO board needs to be powered separately. Because the PhoneDrone is a derivative of Google's reference board, it's both hardware and software compatible with the Android ADK. The IOIO board is not built on the Google reference standard.
  • Sorry for the simple question but I am technology challenged and oftentimes miss the obvious.

     

    Ever since my wife came home with a Motorola Xoom I have thought what a nice wireless display for an OSD or real time video from a RC plan, car, or copter. Would the PhoneDrone interfaced in some way with the Xoom allow this if the software was available?

  • This sounds remarkably a lot like the SparkFun IOIO device, http://www.sparkfun.com/products/10585

     

    Can you comment on differences? (oh and the sparkfun model is half the price)

  • 3D Robotics
    The product page is now up, with Eagle files. We're not accepting orders yet, but will have some at Maker Faire next weekend and hopefully online shortly thereafter. We're getting another pick-and-place machine just to keep up with the demand!

    https://store.diydrones.com/ProductDetails.asp?ProductCode=BR-Phone...
This reply was deleted.