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. Aplikasi Travel Guide dan Direktori Lokasi Wisata (Alpha Release) Untuk skripsi

Numpang Share Aplikasi Skripsi : Nusantara Beta  .. mohon dicoba dan
ditunggu kritiknya
kritik bisa dikirim ke


Sidiq Permana


2. Recommendations for 'specialization'.

Hi All,

First of all, I'm very new to Android, installed my first SDK just 3 months 
ago. But given the nature of Java programming in general, it provides one with 
very flexible environment for familiarizing yourself with with it relatively 
quickly. And this holds for Android too (thanks guys, Dianne etc, you've done a 
great job).

But since I have somewhat limited time for doing this, I'm learning Android on 
my spare time while someone else pays my bills, it soonish became quite obvious 
for me Android is huge. And I can't get into level on every area of Android 
programming I wanted to very easily.

Now this leaves me with two options;

1. Start programming an application and force myself to go through services  
and what ever comes on the way.
- This is what I started with at first. Went on with a Facebook Client, which I 
thought would provide me good overall experience on Android development (UI 
basics, network usage/optimization etc etc). But once I found myself reading 
XMPP documentation and writing my own Facebook chat client (I just didn't feel 
comfortable with adding a 500kB readymade jar to my smallish project), I had to 
start thinking is this a good way after all.

2. Find a 'special' domain to concentrate on and do it REALLY WELL.
- This would provide smaller applications, maybe libraries, but gave me good 
insight on how to do certain things and I could concentrate on making them 
flexible/usable for other developers too. Meaning interfaces they can use to 
access my code. Or code itself should be flexible at least.

Problem is, if I'm about to try finding an Android related job one day, should 
I go with the application approach instead? Or could you provide me with some 
examples of general interests, hot topics, I could spend my time on?



3. glsurfaceview makes other views slow with hardwareAccelerated=true

4. [OOT] Signature XL di beberapa email

5. [WTA] Alasan root device

6. Does point attentuation work like it should on Android?

7. How to read crash dump of Android