Jump to content
Ultimaker Community of 3D Printing Experts

How can I print directly from cura to my 3d printer using usb?


Recommended Posts

Posted · How can I print directly from cura to my 3d printer using usb?

Thanks for this, that's how I thought The USB system worked.  Why can't one use the USB to download Gcode to the SD card.  That would seem to be the best of all Worlds. Oh well we can't have everything. Oops the wife awaits.

 

Regards

 

Trevor

  • Link to post
    Share on other sites
    • Replies 64
    • Created
    • Last Reply

    Top Posters In This Topic

    Top Posters In This Topic

    Popular Posts

    I would like to be able to print directly from my pc to my 3d printer

    Dreadedhill.   If you are trying to connect to something as complex as a printer using a Mac I suggest you get a Windows PC.    But,  kidding aside,  Why do you say :- "You do not

    Unfortunatly that's not the way how USB printing on those printers work. Those printers are driven by an 8 bit microcontroller that stores only a few lines of gcode at a time in a small buffer. Printi

    Posted Images

    Posted · How can I print directly from cura to my 3d printer using usb?

    Hi Marcottt,

     

       HOW???  Just for fun cos I can't find a way! SLOW SLOW is quick enough when you have all the spare time the wife will let you have.

     

    Regards

     

    Trevor

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Sorry but "What?"!!

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    On 6/18/2019 at 7:18 PM, marcottt said:

    move file .gcode from pc to usb to sdcard is possible....

     

    On 6/26/2019 at 2:18 PM, treereaver said:

    HOW???  Just for fun cos I can't find a way!

     

    In short: add an M28 command with the filename of your choice to the beginning of the gcode file (start script) and M29 to the end of the file (end script) and "print" it via USB.

    See: http://marlinfw.org/docs/gcode/M028.html

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Thanks.  I'll give that a try. (just for the hell of it).

     

    Regards

     

    Trevor

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Now I see why you guys seem to have no difficulty with SD cards!  You have a slot on the display!  Mine is a micro SD slot buried in the wiring on the mother board.  Having got a full sized SD card extension I can now shift from computer to printer quickly.  I have upgraded to Cura 4.3 which seems to have more options but the manual is very unfriendly to say the least but I will "endeavor to persevere". 

     

     I have managed to brick my mother board but the good guys at Gucoco replaced it for me, within a week,  so my long suffering wife even remembered who I was for that week!

     

    Regards

     

    Trevor

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    OK!  I decided to use the SD card to print one of my dragons.  Modeled in  Smith Micro POSER.  It was going to be a long print! It was doing well and I thought I would get on with another job but I needed to check what my settings were in CURA 4.3.0.  BAD MISTAKE!!  As soon as Cura booted up the printer reset ruining the print!  So the only computer controlled failure I have ever had was using the SD card.  In the year I have had the printer the USB print system has never failed.  I have made mistakes and aborted prints etc etc. but never had a failure or reset in my entire operating life when printing via USB only when printing by SD. I will remember not to start CURA while printing from SD.

     

    Regards

     

    Trevor

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    5 hours ago, treereaver said:

    OK!  I decided to use the SD card to print one of my dragons.  Modeled in  Smith Micro POSER.  It was going to be a long print! It was doing well and I thought I would get on with another job but I needed to check what my settings were in CURA 4.3.0.  BAD MISTAKE!!  As soon as Cura booted up the printer reset ruining the print!  So the only computer controlled failure I have ever had was using the SD card.  In the year I have had the printer the USB print system has never failed.  I have made mistakes and aborted prints etc etc. but never had a failure or reset in my entire operating life when printing via USB only when printing by SD. I will remember not to start CURA while printing from SD.

     

    Regards

     

    Trevor

     

    The purpose of printing via SD card is to completely separate your printer from your computer, so they can't influence each other. Whatever you do on the computer, can't have any effect on the printer, as there is no connection. Or maybe you forgot to disconnect the USB-cable?

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    19 hours ago, geert_2 said:

    Or maybe you forgot to disconnect the USB-cable?

    Yes, I guess the printer was still connected to the PC.

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    So?

     

    Nobody said remove the cable! 

     

    I'm sorry guys but print with USB is the way to go.  Cura 4.3.0 has put it back in; so someone must find it useful.  

    I printed the dragon via SD card again, it took 9 hours, and I had to baby sit the printer for the whole time, not with USB, I trust my computer!  It's now printing iron man and I've started Cura 4.3.0, to follow a video tutorial, no problem so I can't help thinking the easy way will always be the easy way.  I have one of those displays that have five buttons not a rotary encoder so scrolling through the SD menu is a nuisance to say the least. Print with USB is right on the computer's monitor in front of me I don't even have to get out of my seat.  Mind you my wife has always said my only endearing characteristic is my bone idleness.  When all is said and done I am having great fun with the printer and if I didn't have a wife I would probably marry it, it's far less fickle and a lot less noisy.  Oops gotta go she's shouting at me again.

     

    Regards

     

    Trevor

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    It is important that you are satisfied with your workflow and if it is easier for you to print via USB, then there is nothing to stop you from doing so.

     

    You are apparently aware of the risks or have taken appropriate measures, e.g. no Windows Update will terminate your 2-day print in the middle.

     

    So I wish many more successes with your setup and hope your wife has mercy with you. 🙂 

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    I think the underlying cause of the printer-interruption you experienced, is that when a computer reboots, its USB-bus is always reset. But I am not a programmer, and I don't know if attached USB-equipment is supposed to be reset too? Or is it allowed to ignore the bus-reset? An argument pro resetting is that when a device is hung-up, it is reset and freed again, one of the purposes of rebooting. But for long 3D-prints, yes it can be inconvenient...

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Filament Junkie

    Windows updates??  Never, ever, ever give your computer unchallenged access from the internet.  Microsoft happily wiped out several important programs when allowed to update unhindered!! Never again.  Luckily I had a full backup.  I am aware of the risks, mainly from you guys, for which I thank you.  I was ignorant of how it all worked but now have a handle on it.  This particular computer is the only one of my four that is Internet enabled.  The rest are networked to this one with the internet barred.  I also have an uninterruptible power supply for the printer and its PC.

     

    geert_2

    I didn't reboot the computer - I only started Cura 4.3.0,  I was using the version of Cura supplied with the printer which is 15.04.3, it was Cura 4.3.0 that reset the printer motherboard while I was using the SD socket to print my Dragon.  It hasn't happened again so I am a little at a loss as to why it happened the one time I needed it.

     

    One thing I must say about all of this is simply that the help from you guys has been tremendous and after all Cura is FREE it would be a little mean to complain about a terrific piece of software that is given away "free gratis and for nothing!"  I love it and I hug my printer every night whether it is running or not, the wife not so much.

     

    Regards

     

    Trevor

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Lifting up this thread a bit..

    So, after nearly 2 years since this discussion I'm trying to use almost newest CURA 4.8.0 to print GCode directly to 3D printer via USB and still cannot do it? With the software that claims on its startup splash screen to be "the world's most advanced 3D printing software2" I cannot do the task a s simple as sending text file over wired connection directly to the printer? This is amazing. ))
    All the rants in some of the above posts about “using something else to do the print” from within the “world’s most advanced 3D printing software” sound pretty wretched. So the CURA is “best” when it is paired with some other software (and hardware, other than printer itself, in fact) and not so “best” when it is not? )))

     

    USB connection is one of the most reliable connection and protocol in the world, and by far one of the most common one. It is definitely more reliable and less interruptible than any radio communication channels (any type of wireless) or internet ones. Any complains about “Windows updates interruption” worth nothing, as the latter can be either disabled or scheduled accordingly, to avoid corresponding problems.
    Moreover, the software shall be written in the way that mitigates this type of problems. Especially for software, that naturally supposed to run continuously and reliably for many hours. Get back to a known state before the interruption after system resume – it is not any rocket science. All computers in the world support hibernation now days, which won’t be possible without ability to continue at interruption point. Something like lifting the nozzle by 1 mm  retracting filament and shutting heaters and motors down if the printer cannot see any commands from USB within 100 ms – not any magic either and not extremely bulky code not to fit in even simplest controller’s memory. Therefore, it is also very disappointing, if the printers don’t do that. Because direct wired connection to the printer is the only way that gives small enough latency, and total control over data flow , which together allow reasonably “real time” corrections of the actual print, either manual or automated.

    The conclusion is that lack of USB channel to the printer is not USB, OS, computer’s, or "lack of user’s interest" problem. IT’s a problem of the way the software on both ends is developed and/or implemented. Not sure if it is a result of SW being “free” (Simplify3D supports USB connection out of the shelf, for instance) or there are some other reasons behind – but in any case it’s pretty disappointing.

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    I agree with everything.  "best printing software" is a bold claim.  Maybe best slicer?

     

    Cura really is the best or one of the best slicers I think.

     

    But it doesn't print over USB very well at all.  I think the history is that it worked well on the Ultimaker Original but was unreliable enough on the UM2 that Ultimaker stopped supporting it.  That was a long time ago - maybe 10 years now?  They never looked back.  They felt USB was unreliable.  I think it is unreliable when used with an Arduino style processor (AVR processor).  But USB can be made to be quite reliable.  But not with such a wimpy computer that is already overloaded.

     

    You might want to look into Klipper which adds a raspberry pi and has custom software on the raspberry pi and also replaces the Marlin firmware on the AVR computer and uses the USB to do really impressive live communications (both ways) with protocols that are very resistant to errors.

     

    Or just octoprint on raspberry pi.  That's a really nice interface and works great.

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    7 hours ago, bear20212120 said:

    I cannot do the task a s simple as sending text file over wired connection directly to the printer?

    Have you looked at the way that all the different firmwares and operating systems handle this? I am pretty sure that you did not, since you would not be making this statement if you did 😉

     

    7 hours ago, bear20212120 said:

    USB connection is one of the most reliable connection and protocol in the world, and by far one of the most common one.

    It's also not the USB connection that is the problem. You are confusing two things here. Your argument is basicly the equalivent of "Roads are simple to design, how hard can it be to create a car that is completely safe, fast and easy to drive".
     

    8 hours ago, bear20212120 said:

    Moreover, the software shall be written in the way that mitigates this type of problems. Especially for software, that naturally supposed to run continuously and reliably for many hours. Get back to a known state before the interruption after system resume – it is not any rocket science. 

    Sure, but all firmwares itself also handle this different. So it is not complicated, but it sure as hell is complex.

     

    Also; It's not so much that it's impossible to fix or that we can't. We simply have other things to do and this is very very low on our priority list. That has absolutely nothing to do with Cura being free (because despite it being free; there are 5+ developers / engineers working on Cura full time).

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    2 hours ago, nallath said:

    Have you looked at the way that all the different firmwares and operating systems handle this? I am pretty sure that you did not, since you would not be making this statement if you did

    Quote

    It's also not the USB connection that is the problem. You are confusing two things here.

    I'm confusion nothing. I meant the following statement when was answering: 

    Quote

    On 1/29/2019 at 6:33 PM, gr5 said:
    USB is less reliable.  Amazingly bad gcodes end up making it to the arduino.  I blame the arduino usb hardware because for other devices, usb is very reliable.  But for 3d printing not so much.

    The above is not true: "USB is less reliable". And if someone blames arduino's HW, it should not be referred as "usb is not good for 3D printing", but "usb is not good for/on arduino", because 3D printing on Arduino is not 3D printing in general.

    As for your statement - sure, different firmware and different operating systems handle many things differently. GUI, any hardware related stuff etc. It’s just amazing that exactly USB communication appears so difficult to handle because of all those differences that it was simply decided to drop it, justifying it by “nobody needs it”.

    Although in fact, while keep saying “USB” it should be understood, that there is nothing about USB at all, as far as software concerns. The communication protocol says nothing about USB – it is simplest possible ACII characters exchange. USB is just a physical medium and hardly handled by software on any PC host at low-level USB stack. Most of printers now days use some kind of FTDI chip so most of staff inside of software appears as ages-old and many decades proven, and simple as a brick serial COM port communication.
    And the other point is that maybe there is no need in attempting to cover all possible things in the world? ))

     

    Quote

    all firmwares itself also handle this different

    Again, with clearly defined protocol, the host’s software should not care how firmware handles it.
     

    Thanks, anyway, for giving a decent reason for missing this functionality, anyway. Because “we don’t care about this part of functionality” sounds much better and realistic than all other points given earlier in this thread like “users don’t need it” or “USB is not reliable” or “Arduino is crap  or “use something else, like Octoprint - have very little sense and are out of any criticism.
    There are quite a few products in a market, both free and commercial, which do provide direct printer control over the wired connection and that fact renders any other than “we don’t have time/ don’t care” reasons fictional.

    Good luck in your work anyway 🙂

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    3 hours ago, bear20212120 said:

    I'm confusion nothing. I meant the following statement when was answering: 

    Quote

    On 1/29/2019 at 6:33 PM, gr5 said:
    USB is less reliable.  Amazingly bad gcodes end up making it to the arduino.  I blame the arduino usb hardware because for other devices, usb is very reliable.  But for 3d printing not so much.

     

     

    All words, all statements are a simplification of reality.  It's impossible to be 100% thorough on any statement.  So I was simplifying above.

     

    A checksum doesn't catch every combination of errors.  I think Marlin uses just a one character checksum and it's not even 256 states - it's something like a number 0 through F maybe?  So it's only 4 bits.  So 1 out of 16 bad corrupted gcodes (I believe) make it through USB and get "printed" by Marlin. [correction - it's a 256 bit checksum as stated in the next post]  But I was seeing so many errors that this meant a few gcodes per print job were bad.  Usually it didn't matter as it would just skip that gcode but sometimes it would retract the extruder by 100mm (and then recover on the next gcode) or move outside the printable area (and fail) and so on.  So *some* printers *occasionally* had very unreliable printing through USB and Ultimaker chose to stop supporting it.

     

    I think it had to do with crosstalk maybe?  On UMO, UM2 the USB signals go through 2 flat ribbon cables that touch.  Or an overloaded processor maybe?  The trouble with intermittent errors (one error per hour on only some printers) is that they are hard to debug and I think Ultimaker just lost interest and decided to stop supporting it in all their printers.  Even though it was very reliable on most printers.  Just that the number of printers where it was unreliable was probably too much to support.

     

    There are lots of volunteers but mostly Cura is created and improved and maintained by Ultimaker and there are tons of other priorities to add features for their latest and future products.

     

    It's true that not all printers use Marlin.  But most do.  Something like 99% and that number is dropping but all those cheap chinese printers use Marlin and Ultimakers use Marlin (sort of) so that's what Cura is going to support the best.

     

    Having said all that, Cura does support USB printing - it just isn't as good as Octoprint, printrun, etc. and it could be 1000X better (maybe video-over-usb and everything that Ultimaker is doing over Ethernet in their latest printers - hell you can do tcp/ip over usb).

     

     

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    4 minutes ago, gr5 said:

    All words, all statements are a simplification of reality.  It's impossible to be 100% thorough on any statement.  So I was simplifying above.

    OK 🙂

     

    5 minutes ago, gr5 said:

    I think Marlin uses just a one character checksum and it's not even 256 bits - it's something like a number 0 through F maybe?  So it's only 16 bits.  So 1 out of 16 bad corrupted gcodes (I believe) make it through USB and get "printed" by Marlin.

    I think it's pretty clear describe here. And it's easy to check even with PUTTY  that MARLIN supports it exactly this way.

     

    "The RepRap firmware checks the line number and the checksum. You can leave both of these out - RepRap will still work,
    but it won't do checking. You have to have both or neither though. If only one appears, it produces an error.
    The checksum "cs" for a G-code string "cmd" (including its line number) is computed by exor-ing the bytes in the string up
    to and not including the * character as follows:
    int cs = 0;
    for(i = 0; cmd[i] != '*' && cmd[i] != NULL; i++)
    cs = cs ^ cmd[i];
    cs &= 0xff; // Defensive programming...
    and the value is appended as a decimal integer to the command after the * character"

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    12 minutes ago, gr5 said:

    I think Marlin uses just a one character checksum and it's not even 256 bits - it's something like a number 0 through F maybe?  So it's only 16 bits.  So 1 out of 16 bad corrupted gcodes (I believe) make it through USB and get "printed" by Marlin

    Also, you are messing with bits. You means ranges, but saying "bits ":)

    To have corrupted data at communication speed of 115 kbits/second in the channel with a bandwidth of at least several MBytes/second - it's something special. It's definitely nothing to do with the channel but with the software. Teh way it handles data. Drops bytes because it cannot keep up with the rate or so - but it is really very hard to imagine any kind of physical corruption at this data rate over USB cable within its allowed length.

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?

    Okay so one in 256 errors (if errors are on average at least two bad bits in the data) can make it through.

     

    I vaguely remember watching printrun print through USB and seeing that there were retransmits extremely often - like every second.  My memory could be wrong - this is probably 10 years ago.  I don't even know if retransmits are supported in Marlin and printrun.  But the idea somehow got into my brain and I vaguely think I saw it happening - a lot: scary amounts of retransmits and I thought "1 in 256 of those errors are probably getting through to the printer".  If 90% of the errors are only 1 bit then none of those 90% but 1 in 256 of the remaining errors should survive to be "printed".

     

    And looking at the hardware on the UM2 and UMO, the USB connector is mounted right on the circuit board and data only travels from that connector through short traces to some "usb chip".  So I was wrong about the ribbon cable as well (that was SD card printing) So I don't have a good explanation for if/why "USB is unreliable".

     

    I do remember windows.  F**ing windows.  Screen saver bit me.  Powering down hard drive bit me.  windows update bit me.  Being afraid to use the computer while it was printing was the last straw.  Even now in 2021 windows 10 sometimes the computer is so so so slow that everything seems locked up for 30 seconds - this only happens once per week but still - what will that do for printing over usb?  I mostly use Ubuntu but I have a lot of computers and most of them have windows.

     

    Ultimaker customers commonly do multi day prints.  A 24 hour print is not at all unusual.  Ultimaker doesn't want to explain to all customers that they need to disable windows updates, disable screen saver, disable power saver, and there's more - sometimes other auto-update software reboots the computer.  Maybe it will be adobe?  Or edge?  Who knows what random software on the computer will cause it to reboot.

     

    So I think Ultimaker has this attitude that printing over USB is "unreliable" and I'm not 100% sure where that comes from.  It's not that the Cura programmers don't care - it's that they have other priorities and are probably always months behind on the features being asked for.

  • Link to post
    Share on other sites
    Posted · How can I print directly from cura to my 3d printer using usb?
    4 hours ago, bear20212120 said:

    Again, with clearly defined protocol, the host’s software should not care how firmware handles it.

    But there is no clearly defined protocol 😉 The USB bit is, but what is then actually sent over is very far from standardised. The problem is not "getting a message to reach the other side". The problem is "Making sure that the other side understands what you mean".

    You're basicly arguing that the name USB is a misnomer. You're right. But that still doesn't change any

     

    thing at all.

     

    4 hours ago, bear20212120 said:

     

    The above is not true: "USB is less reliable". And if someone blames arduino's HW, it should not be referred as "usb is not good for 3D printing", but "usb is not good for/on arduino", because 3D printing on Arduino is not 3D printing in general.

    🙂

    Well, usb printing is worse for 3D printing, because of the implementation and all other things involved. You might be theoretically right that it's stable enough to work, the reality is that it's horrible (which is also why almost every 3D printer company moved very far away from it).

     

     

    4 hours ago, bear20212120 said:

    There are quite a few products in a market, both free and commercial, which do provide direct printer control over the wired connection and that fact renders any other than “we don’t have time/ don’t care” reasons fictional.

    Good luck in your work anyway 🙂

    Again, i didn't argue that we couldn't. I just argued that it's too much work to spend on something that we don't even use for our own printers. If it would have been super simple, I would have built it, if only so people would stop complaining (or worse).

    Anyhow. Just because we don't want to spend time on it, doesn't mean that we will not accept pull requests. But unfortunately, we simply haven't gotten any such PR's. It's my sneaking suspicion that quite a few people tried and simply found out that our warnings about how complex this is were true and gave up.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Our picks

      • Ultimaker Transformation Summit
        Visit our virtual showroom and learn more about the Ultimaker ecosystem!
        • 14 replies
      • New here? Register your Ultimaker for free 3D printer onboarding course
        Hi,
         
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 0 replies
    ×
    ×
    • Create New...