I want to share this with the 3D printing community:

I want to share this with the 3D printing community:

Originally shared by Mathias Dietz

Real 3D printing from your Android device using USB-OTG cable combined with a decent simulation of 3D printing !

The beta test phase of GCode Simulator is over and it is now available as a free version and a paid version in Google Play!
GCode Simulator (Free) includes the print simulator plus basic printer control buttons(XYZ Movement, Extruder, Heat,…).
Gcode Simulator & Printer for just 1.99€ has full printing support and a network print capability in addition to the features of the free version!

Find more information here:
http://www.dietzm.de/gcodesim/#GCodeSimulatorPrinter

Feedback is highly welcome !

I just hope it isn’t incompatible with a lot of Android devices (phones and tablets).

@Jerry_Eleke the full version requires usb.host capability. Without that USB-OTG will not work. Other than that I only have a few additional restrictions (Android version 4,…)

Do any of those really cheap walmart tablets that run android work with OTG? Seems like most modern android devices do… except my phone _.

@Gareth_Owen I noticed that the picture above is a bit misleading. The network print feature is not mandatory, you can also load files locally on the Android device (internal storage, sd-card, dropbox,…). No PC is needed for doing the print (its still needed for the slicer).

Very cool. Trying to get this running now with a Verizon Galaxy S4 and a printrbot. Sent you an email asking about printrboard connectivity (no luck so far). Thanks for creating and sharing this!

@John_Davis I just answered your mail. It might be helpful for the community as well:

Connecting to the printer requires the following steps

  1. USB Device detection works
    The device should be printed on the console.
    If the error message “No USB Device found” is printed it is likely a problem with your Android device not supporting USB-OTG properly.
  2. Device must be detected as FTDI Device
    The VendorID & ProductID should be printed on the console.
    If the error message “no supported FTDI_serial device…” is printed, the device might not be on the supported list.
    Please send me the VendorID & ProductID and I can try to add it to the list.
  3. Serial connection must be established
    The right baud rate must be set. Default is 115200 , can be changed to 250000 by long press the connect button.
    If both baud rates do not work, it might a problem with the Android driver (e.g. my HTC one does not support USB-OTG for non storage-devices)

Please send me the console output , I might see the problem.

Connected! The controls are pretty small and hard to read and I had missed the “Connect” button. After trying that on /dev/bus/usb/002/003 (the second option on my phone) it connects fine, controls the X, Y and Z motors, fan, hot-end and extruder motor. There is a few seconds lag before the commands are received and without any log confirmation of the commands I was thinking some of the commands were getting dropped, but it doesn’t look like that is happening. Before I figured this out I might’ve confused it by hitting a bunch of buttons in rapid succession and locking the phone up completely. I think it’s time to try the paid version and print something. :slight_smile:

Nice job!

OK, downloaded the paid version, but so far having no luck getting it to print exactly (it did try to print out the logo/test file briefly and in a kinda herky-jerky fashion).

Discovered that you have to select the “Print” command from the print controls screen just to put it into print mode, not to actually start the print itself.

Then when I loaded my .GCO file (SLic3r created, 5mm calibration cubes stl) from Dropbox, it appears to be auto-starting the print routine at that point, but the commands are very slow. It doesn’t seem to properly set the temperature (stayed where I had set it) and then turned off the fan (for reasons unknown).

I waited for it to finish cycling through all of the various commands I can see slowly being called on the bottom right of the simulation box on the main screen, then eventually it does move the extruder head, but in some unpredictable fashion. I drove it rapidly to very back right corner of the bed (stopping only due to the hardware) and then also very rapidly spit out a big load of melted filament before I turned the printer off manually.

I’ll try again later, but am open to any tips or advice about the order of operations or what I may be doing wrong.

Thanks again, very excited to get printing from my phone!

@John_Davis Thanks for the feedback ! Sounds not as smooth as it should be.

Please do not print the logo. It is only meant to look nice but has some gcodes which will not print well (because the speed is too high, extrusion wrong,…) . This might be the reason for the later problems.

Pressing print will set it into print mode and start printing. Loading a file should never start printing automatically, but I guess that you loaded the file while it was still in print mode. (thats a bug,it shouldnt be allowed while printing) .

btw. long press on the print button enables debug output on the console.

Could you reset the printer and the app and try again in the following sequence:

  1. start app
  2. load your gcode file
  3. connect to printer
  4. enable debug by long pressing “print”
  5. start print.

What printer do you have ?

Don’t hesitate to report problems, I’m willing to work with you until the problems are solved.

I have a printrbot GO with the Rev D printrboard and LCD panel running a tweaked version of Marlin (printrbot’s “Unified V2” firmware with some minor tweaks for my machine).

When I tried the order of operations you recommended, I don’t see the printer responding to the “set temperature” or “home all axes” commands. A little while after I pressed print, it did move to Z=0 and to the center of the bed (more or less, from a random starting point) and moved a couple tiny steps, but the extruder was not hot and it never homed so it couldn’t extrude anything and seemed to give it. The commands had run off the end of the console by that time but the printer wasn’t moving (if the console could scroll, that would of course be great).

Then I tried again after pre-heating the hot-end and homing the axes manually (from within the app). I set it to the lowest of the preheat options (185) but my g-code was set to 190 and again it never heated the hot end. After a little while of nothing it then started drawing a slow diagonal line all the way from home to the back right corner (while extruding). When it got to the corner and it was clear it wasn’t going to stop I shut off the printer to keep from hard stopping.

Does the phone save a log file I could send you?

@John_Davis can you send me your gcode file by email ? I would like to test it with my printer to see if I can find the problem-.

@John_Davis I have just published a new version (V1.14) which has some improvements to the responsiveness and fixed a problem when parsing the printer response. I also added some more debug output and added a feature to send the console output by email.

Please try again and send me the console output if it still fails. Thanks.

@Gareth_Owen it loads gcode files, not stl files.

Success with 1.15. Nice Job!