Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Android Bluetooth Reprap App

by pipakin, published

Android Bluetooth Reprap App by pipakin Nov 11, 2011


An early development version of the Bluetooth RepRap control app. Interfaces with a Bluetooth serial module that is connected to the RepRap's rx/tx lines.

If you want to use it with an alt serial port, You'll need to use my sprinter fork that has alt serial support. As a bonus, this version of sprinter also supports the high(er) speed file transfer that is built in to the app.

This SHOULD also be compatible with makerbots as long as you're willing to mod the electronics.

Bluetooth module i used: sparkfun.com/products/10269
Custom Sprinter Firmware: github.com/pipakin/Sprinter
Code is available here: github.com/pipakin/Android-Bluetooth-Reprap
Market Link: market.android.com/details?id=com.hermit.btreprap
Market Link (free): market.android.com/details?id=com.hermit.btreprap.free

Axis movement and homing
Temperature control (temperature status NYI)
SD card listing
Printing from SD Card
Pushing files to the RepRap SD card
Printing directly from the android phone
High(er) speed file transfer with custom Sprinter firmware

Installation manual for Bluetooth module
Inquiry scan to show unpaired devices

Known Issues:
If Bluetooth isn't enabled, it can sometimes cause a force close.
If the Bluetooth signal isn't good enough the app might get stuck on initialization.
If the phone goes to sleep the Bluetooth connection doesn't re-initialize properly (for now the program won't let the phone sleep)
You need to pair with your bluetooth device BEFORE running the program. The program only queries for already bonded devices.

After a conversation with Kliment, I think it should be fine to attach it to the primary serial port, as long as both the bluetooth module and the usb aren't trying to send at the same time.


* Added upload option to send files to the RepRap
* Added bed temperature support

Recent Comments

view all

Cool, I wrote an app that uses USB-OTG to print from an android device (http://www.thingiverse.com/thi.... I might add bluetooth printing as well. Good work !

any way to use marlin?

Is this the module you guys are talking about?


What is the difference between that and the BlueSMiRF? Why such a massive price difference?

Liked By

view all

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag


1. Get a Bluetooth module
2. Wire it to the rx/tx lines
3. Install the app on your android
4. Pair with the Bluetooth module
5. Run the app and select the appropriate device.
6. Print with only your phone!


You must be logged in to post a comment.

mdietz on Aug 22, 2013 said:

Cool, I wrote an app that uses USB-OTG to print from an android device (http://www.thingiverse.com/thi.... I might add bluetooth printing as well. Good work !

ekaggrat on Sep 20, 2012 said:

any way to use marlin?

MangoT21 on May 2, 2012 said:

Will this be able to alert you when your print completes?

EvoGenius on Feb 22, 2012 said:

"After a conversation with Kliment, I think it should be fine to attach it to the primary serial port, as long as both the bluetooth module and the usb aren't trying to send at the same time."

so does this work over usb?

EvoGenius on Feb 22, 2012 said:

hmm this did not work over usb on my tablet. wonder if i have to have bluetooth on. would be great to be able to use this over usb to get my printer primed so i can just drop in an sd card when it's ready.

smartroad on Dec 11, 2011 said:

Any chance of it reporting back the current temp of the bed/tip? And maybe some extruder controls (extrude
amp; retract + speed
amp; distance) so that it can also be used to change filiment? :)

Snille on Dec 23, 2011 said:

smartroad: Have you gotten the BT-thing to work on your Huxley?

pipakin on Dec 13, 2011 said:

Definately, I'm working on those now, though the holidays have kept me so busy I haven't managed to work on the app at all for the last 2 weeks.

vollnormal on Dec 4, 2011 said:


great software. Im trying to open the Project in Eclipse, but only getting errors. What environment did you use to write the software?

pipakin on Dec 7, 2011 said:

Eclipse. I might have missed something in the github commit.

tlalexander on Nov 23, 2011 said:

It would be most excellent if you added direct FTDI communications support for Android 3.1+ devices (Currently tablets, or the Galaxy Nexus) so we could actually use this app without any modifications on appropriate devices.


We've used that at work with great success, though unfortunately our programmer wrote pretty terrible code and it needs a lot of cleanup before we can share anything.

I did learn that you have to read 4096 bytes at a time from the FTDI chip or you'll lose data, as it doesn't care if you read 1 byte or 4096, it drops the buffer after each read.

Annoyingly though, we've got these fancy new Arduino boards without an FTDI. I'm not sure how communications is established with them, but perhaps its similar?

tlalexander on Nov 23, 2011 said:

Oh, I forgot to mention, the code in that link didn't work on the Samsung Galaxy Tab 10.1 with Android 3.1 - it seems to be missing some Android API functions. Worked on an Acer Iconia A500 though.

bkubicek on Nov 23, 2011 said:

pipakin: how fast is your upload before and after the blockwise recieve? Would block-recieve also speed up things on normal usb transfers?

pipakin on Nov 24, 2011 said:

The block communications is ~10x faster than normal. It should be exactly the same speed increase for normal usb. I keep meaning to integrate it into pronterface but I'm lazy and I have 2 kids under 3 years old...

msmollin on Nov 21, 2011 said:

Most excellent. I'm working on something similar for iOS. What were your biggest issues? So far mine has been Apple's lack of direct access to the bluetooth stack.

pipakin on Nov 21, 2011 said:

None really, TBH the app was super easy to write. Dealing with the market was a bit of a hassle, but I've got it down now.

Anonymous on Nov 19, 2011 said:

just got a bluetooth module for another project that fell through. will try and get this up and running. yay!!! thankyou so much!

johnbiehler on Nov 15, 2011 said:

Great job with this!

Is there any reason the Bluetooth Mate Silver wouldn't work? I can get it locally rather than ordering the BlueSmirf silver online...


or I can get the BlueSmirf Gold which is quite a bit more expensive.


ScribbleJ on Nov 18, 2011 said:

I'd just like to add real quick, SJFW supports using Bluetooth and USB simultaneously on RAMPS with no interference, and also is SUPER easy to wire a bluetooth dongle to, and you can use a simple 5v Bluetooth dongle you can buy for $13 from mdfly.com.

That's all - this is awesome! I wrote the BT support into SJFW hoping someone would do something like this!

pipakin on Nov 15, 2011 said:

The Bluetooth Mate Silver should be fine. Any bluetooth serial module will work, as long as it is voltage-compatible with your electronics.

pipakin on Nov 14, 2011 said:

Update posted! Now has the ability to load files from the phone to the printer as well as print files that are on the phone.

The update has been published on the market but it takes time to show up there.

GeoDelGonzo on Nov 12, 2011 said:

I've always told myself that the selling point of a tablet for me is if it were able to connect to a 3D printer and print... Looks like you're bringing that wish into reality ;)

Is thank you the right words? :-D

Now only if tablets and/or Andy phones can generate gcode files... hmm...

pipakin on Nov 12, 2011 said:

You're welcome! I have 2 plans for skeining:

1. Use some sort of web service to skien files for me
2. Port a java skiening algorithm to android (possibly using ndk to speed things up)

1 gives you access to a server with potentially more power, but has real money overhead costs. 2 gives you an android native solution but is a HUGE pain to im
plement (and can't leverage the community power that exists behind skeinforge).

smartroad on Nov 12, 2011 said:

Python is available on Android as I understand. Not sure how hard it would be to port it over

doug on Nov 12, 2011 said:

It would be interesting if you could print with wires perhaps with USB over a tablet?

Griffen on Nov 12, 2011 said:

Another thing to add to the TODO list, be able to scan the QR thingiverse QR code, and then be able to print from that

pipakin on Nov 12, 2011 said:

Once we get some sort of web service skeinforge, I totally agree.

Anonymous on Nov 12, 2011 said:

Git hub doesn't exist he sais...


pipakin on Nov 12, 2011 said:

Not sure what you're trying to say here...

watsdesign on Nov 12, 2011 said:

Want !

That could be neat for shows/exhibitions, just the pcb on a side of the huxley and the phone on the other as a modular touchscreen :)

polymaker on Nov 12, 2011 said:

Dang, I was gonna do this too! Another feature I imagine is using a GWT app to seamlessly skein stls for printing. Since skeinforge is 100% python, it wouldn't take much to integrate it into a GWT app.

polymaker on Nov 12, 2011 said:

Oops, s/GWT/GAE, but you get the idea.

pipakin on Nov 12, 2011 said:

Yes, this must be done. I want to be able to whip out my phone, go to thingiverse and print something all without using a computer.

Mihara on Nov 12, 2011 said:

Darn, I was just thinking of doing that a week ago, but didn't have the time. :)

casainho on Nov 12, 2011 said:

Hey! Great!!!

I wanted to do the same, so I will just follow your work!! Please read my post about this subject:


pipakin on Nov 12, 2011 said:

Just curious, why 2 modules?

Also, yeah, I was surprised when I didn't find anybody already doing this.

smartroad on Nov 12, 2011 said:

Soooooooo cool!

pipakin on Nov 12, 2011 said:

I gotta admit, I might have jumped up and down in glee the first time I actually got it to print using the phone :D

Now if I ever take the printer to a show I won't have to lug around a computer, too.