Saturday, August 27, 2011

EvalBot (Stellaris) and Android Open Accessory Development Kit (ADK) Demo


EvalBot and Android Open Accessory (ADK) Hack

I have just finished to develop an USB Host Driver for Android Open Accessory on EvalBot (it should work also with any other Stellaris ARM chipset supporting USB OTG).

The video demo with link below show how it's easy and fun to communicate with EvalBot with a modern Android Phone (with Android version 2.3.4 or more) like my Samsung Google Nexus S.

About Hardware Hack:
The EvalBot USB Host Power Supply has been hacked in this demo because by default it does not work with Usb Host which require more than 100/150mA (due to limitation of hardware) and so I have modified USB Power supply to use external power in order to connect any USB Host compliant with USB specification which allow current until 500mA.
This Hack also work with any hardware because it's done on a Usb Extension and a BreadBoard with External PowerSupply.

About Software:
For Android software I have used DemoKit which is just a rebuild of sample in official Android NDK package.
For EvalBot I have developed the Usb Host driver for Open Accessory and an example which communicate with DemoKit, the code use Texas Instrument UsbLib and is built under CodeComposer v4.2.4.
What feature included for this demo:
  1. With EvalBot if you press Button Switch1 or 2 it send the button state to DemoKit.
  2. With DemoKit you can send command (Relay1 or 2) to switch On/Off EvalBot Leds(Led1 & 2).
PS:I plan to cleanup the whole driver and source and push the source code on a GitHub for free and fun.


Video:



16 comments:

  1. Wow, this is really impressive...
    When I first saw your post I though "great, I'll be able to connect my Stellaris LM3S8962 (http://trandi.wordpress.com/2011/01/23/wii-motion-plus-gyros-on-lm3s8962-i2c-on-coocox/) to my phone, BUT it actually doesn NOT have a USB HOST chip... what a shame...

    Do you have any idea on a workaround ?

    In any case, this is really great work !!
    Dan

    ReplyDelete
  2. I'm anxiously awaiting a release.
    I got in that EvalBot deal and I just don't know what I'm doing.

    Lately, I've just been toying with AVR chips & Arduino due to lack of experience.

    ReplyDelete
  3. About LM3S8962 there is no USB at all, maybe you could wait for my next hack which is about CAN bus for EvalBot or any compatible Stellaris with CAN bus.

    About the release it is soon and it will be on GitHub.

    Best Regards

    TitanMKD

    ReplyDelete
  4. I'm very impressed with this project.

    I was also trying to make a connection between an android 2.1 tablet,
    and a LM3S9B96 (with USB OTG) development board but I never finished it.
    It was hard to find where exactly I should modify the Stellaris USB library,
    all the callback functions and defines in thousand lines of code,
    and after few weeks I gave up.
    Now that google presented the ADK, I'm trying it once again,
    with a android 2.3.,4 tablet

    I would be very happy if you send me just the USB driver for the Stellaris dev board
    on my e-mail address ikal(at)live.com, I just can't wait for the github release :).

    Best Regards,

    Ikal

    ReplyDelete
  5. Cool hack! Congrats!

    As for the USB Power supply you are using, does it come also with a ft232? If so where can I buy it??

    ReplyDelete
  6. Hi Raul,

    The USB Power Supply i'm using does not contains FT232, it's just a dual channel Power supply you can buy it here http://www.seeedstudio.com/depot/adjustable-breadboard-power-supply-p-566.html?cPath=155

    ReplyDelete
  7. Another information for adjustable-breadboard-power-supply you should use "Bread board Clear - 8.2 x 5.3cm" that you can also buy on seeedstudio website here http://www.seeedstudio.com/depot/bread-board-clear-82-x-53cm-p-262.html?cPath=175_176

    ReplyDelete
  8. Excellent Job!

    Any idea of when you are going to post the code?

    Can't wait to start tinkering. :)

    ReplyDelete
  9. I'm still cleaning the whole stuff to have less dependency as possible (using HAL) with TI code and driver because of their licence which is "against" Open Source Licence:
    'You may not combine this software with "viral" open-source software in order to form a larger program.'
    Because it requires Stellaris Includes, DriverLib, USB driver and UART STDIO.

    Best Regards
    TitanMKD

    ReplyDelete
  10. Excellent!

    Thanks for the update TitanMKD.

    Such a PITA sometimes, We'll support the "Electronics Enthusiast" community by releasing all this neat hardware and stuff, then they hammer it with a nasty licence on code...

    No rush I was just curious.

    Thanks Again!

    ReplyDelete
  11. This is one of the excellent and nice post.I like your blog foundation.Thanks for your support.Good.
    Android app developers

    ReplyDelete
  12. where can i get the driver for the installation of evalbot????

    ReplyDelete
  13. Hi Thushan
    all is explained on my blog http://titanmkd.blogspot.fr/search/label/EvalBot%20and%20Android%20Open%20Accessory%20Dev%20Kit?m=0

    Best regards
    Benjamin

    ReplyDelete
  14. Hi TitanMKD,

    Great projekt, i dont find another ADK application on Stellaris.
    Is it possible to use a LM3S3748? In fact is it possible to use just a host mode instead of OTG?

    ReplyDelete
  15. Hi Stefan,

    Thanks for your interest.
    It shall be possible to use LM3S3748 if USB is available and also host mode only work perfectly you just need to power the Android device with enough current (500mA max).

    Best Regards
    Benjamin

    ReplyDelete
  16. hi man great stuff u r doin,, can i know what do you call those black stuff at the end of the wires you use to connect to the board pins.
    Thanks in advance and good luck with ur project

    ReplyDelete