Interfacing to a PIC Microcontroller

by Jay » Mon, 28 Sep 2009 00:18:57 GMT

Sponsored Links
 I am looking into to Interfacing an Android Phone with a PIC
Microcontoller and retrieve data via the USB port.  How would I go
about doing this?  What API calls do I need to make to retrieve data
from the PIC?  And will it be easier if I were to do this via
BlueTooth instead of USB by adding a BlueTooth module to my PIC?



Interfacing to a PIC Microcontroller

by Chris Stratton » Tue, 29 Sep 2009 00:00:05 GMT


The current  android phones are  USB devices only, they do not
function as USB  hosts.  So to do this with USB, you would need a PIC
that can be a USB host.

Bluetooth probably is more practical as some progress has been made on
getting rfcom working (see the unofficial bluetooth api community

There also is/was a debug serial port on the extusb connector that
might be an option, though may require a custom kernel?

Anyone you cut it, this is a quite advanced project - not to say that
you shouldn't tackle it, but you will end up learning a lot about the
internals of android before you get it working.



Sponsored Links

Interfacing to a PIC Microcontroller

by -chew- » Fri, 09 Oct 2009 00:00:20 GMT

 Also trying to accomplish the same objective. I've been trying to
investigate other possibilities of capturing incoming USB (maybe hook
the URB's) data in Android. I know that kernel build in Android does
not support the "Enable Loadable Module Support" kernel config and it
has no USB host or OTG capabilities; just client. If possible, I don't
want to do it in kernel mode (to avoid kernel recompilation). Maybe
just a daemon to do the capturing but still no idea how.

The idea of the project is that Android phone will be attached to a
microcontroller (USB host/OTG capable). This controller will be
sending data to Android phone via USB (I still have to write USB host
controller driver for the microcontroller, though). Android phone will
the USB client. Still investigating if this could be done in adb.
Don't want to modify adb itself. Maybe just a filter to capture USB
data traffic in adb. Been scanning the codes in adb. Seems that adb is
also doing the functionality of a typical USB driver, though running
as a daemon/service. Am I right?

@Jay: Do you have any progress so far? Could you please share also
some ideas?



Interfacing to a PIC Microcontroller

by -chew- » Fri, 09 Oct 2009 14:19:34 GMT

 adb implementation seems capable of addressing this requirement. But I
guess the porting the adb host side to the controller requires a lot
of work on the Android phone's side (adb device). I'm planning to
maybe make a separate daemon that would behave like adb (maybe on the
communication protocol used), only a simpler one. I'm not sure though
whether its coexistence with adb will result to other issues.



Other Threads

1. Fwd: Android porting problem - LCD BPP

The notion of "high" byte and "low" byte in a 24-bits frame buffer is
a little odd. Since these are not 32 bits or 16 bits numbers, I'm not
sure what you mean.

I stand by what I said, android supports RGB, in that order. One byte
of red, one byte of green, followed by one byte of blue. R,G,B... btw,
this order happens to be OpenGL's GL_RGB internal format for textures.

You *cannot* change  load_store.cpp like that, you have now broken
OpenGL's glTexImage2D() :-(


unsubscribe: [EMAIL PROTECTED]

2. onListItemClick on AlertDialog

So I have an AlertDialog, and I have one textview and 2 buttons on it.
1. When that alert arise, would I be able to use the two button to update
the message shown on the AlertDialog? (modifying textview... )
2. how do you pass variable from outer class to inner class and so forth? On
my code below, would I be able to read and modify value of current_position
from inside onClick() ? current_position is visible from onClick() only when
I change that to final... but then we're not supposed to change the variable
value again right?

public void onListItemClick(ListView parent, View v,int position, long id) {
         int current_position = position
 new AlertDialog.Builder(this)
              .setTitle("This is the title")
              .setMessage("Original Message")
              .setPositiveButton("Previous", new
DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int
whichButton) {
                      /* want to setMessage again... */
                .setNegativeButton("Next", new
DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int
whichButton) {

                        /* What to do... */

Lawrence Samantha


3. Text Messages

4. Problem with configuring ADT ("failed to get the required adt version from sdk")

5. how to determine the current backgroundResource of an imagebutton

6. Resources for Android Wifi Programming

7. Show images from internal and external content