I may be showing off my ignorance on this,

I may be showing off my ignorance on this, but I have a pretty straightforward question - why hasn’t PrintRun, or something much like it, been ported to Android?

There’s a lot of Android devices that support USB host mode or USB OTG, and even the ones that do not support it stock can usually be modified very slightly to activate the feature. It’s fundamentally Linux, and other Linux OSes have no problem with commanding a printer. As i understand it, Arduino and Android are quite compatible in many ways.

I’ve seen discussions on RepRap.org talking about host software for Android, such as http://forums.reprap.org/read.php?2,164532,164532 , but I’ve never seen anything come of it. There’s also some limited support for Bluetooth using an adapter, but that seems like a limited-scope solution since not all board can support adding a Bluetooth adapter.

Is there some project on this I am missing, or some critical missing API, driver, or something like that in Android that makes it incompatible?

I confess that I’m only asking because I have a couple of old phones wasting space in a drawer right now, and hooking them up to my reprap would really make for a stylish, all-in-one control system.

Well it seems like most of the host software is written in python or c# making a direct port more difficult. Also talking to FTDI devices on Android is a little more complicated than people make it out to be. You either need to have a kernel with FTDI enabled or use a usb software driver. I’ve listed a few of these below:


http://code.google.com/p/android-ftdi-usb2serial-driver-package/
http://android.serverbox.ch/?p=549

Really the answer is that no one has spent the time on it because the current solutions are pretty good, and there is a subset of Android developers / Rep Rap users that would have to take interest. That said I may spend some time later this week looking into throwing together a prototype host application.

@Colin_Edwards Well, if you ever do I promise to offer you as much testing assistance as you need.

I’ve set up a repo on GIthub. The readme highlights the two ways I would like to have the app communicate with the printer. Let me know what you think.

I’m working on a Android Version of GCodeSimulator (95% complete). http://www.thingiverse.com/thing:44286
its not really what you are looking for, but might be of interest.

Cool, I’ll definitely keep an eye out for it.
It would be cool to have a suite of 3D printing apps for Android. I might have to look into porting slic3r too.

Here’ something that’s supposed to work for printrboard based devices. http://makemendel.com/android I dont know if there is any incompatibility with other boards. This is supposed to be meant for their own printrboard based printer. But it might work for others too. I havent tried it on my printer yet though. Will post reviews once i do

@Sudhir_P I did some quick playing with the MakeMendel app on my Mendel (with a Melzi board). After changing the baudrate, I saw some very limited success - I could get the X and Y axes to twitch. Homing didn’t work. When I pressed the Print button, the app began to force close repeatedly.

I wasn’t expecting any results at all. The fact that I even got a twitch out of it looks promising.

My device for this test was a TF101 running a stock ROM.

This app worked for me: https://play.google.com/store/apps/details?id=com.hermit.btreprap.free

@Miguel_Sanchez unfortunately, not all electronics can be easily upgraded to have Bluetooth. A good USB solution, board agnostic, would be preferable to me.

@Miles_Wilford I threw together a prototype last night

@Miles_Wilford The software I mentioned worked with the BT board I tested it with but I guess it might work with many other BT adapters. But you seem to look for a USB to BT adapter on the Arduino side, right? If so, this does seem overly complex to me compared to a serial to BT adapter, and it will be more expensive too. Is there any advantage of doing it that way I am missing?

@Miles_Wilford Or you mean to connect USB directly to Arduino USB with a cable. Sorry I am a bit thick today.