Skip Navigation

[newbie] Does one need special drivers for running 3D printers?

Hi there!

I'm looking into getting myself a good printer and I am wondering if I need to install some platform-specific drivers for them to run. I am running Debian 12 (GNU/Linux) and I am afraid that I must run some proprietary blob to connect to the printer.

Could someone share their experience please? Even if you don't use Linux, your feedback would be very appreciated!

(Also, while you are at it, please share some recommendations for printers, I don't really know where to go (>v<) Have about +-500€ )

22
22 comments
  • On most printers, the files are either uploaded over WiFi through a web browser or transferred with a flash drive. As long as the slicer runs on your computer, you will be able to print. There are a lot of open source slicers for FDM printers than run on Linux.

  • Ok, so a vast majority of 3d printers do not connect directly to a PC these days. They have a self contained microcontroller.

    The workflow is:

    1. You design or download a 3D model you want to to print.
    2. Open the 3D model in a slicer software. The slicer takes a 3D model and, using a profile designed for a specific printer's nozzle size and controller, converts the solid volume of the model into G-Code, or machine readable code that is a series of coordinates and move rates. This tells the printer where and how to put plastic.
    3. Export the G-code to a .gcode (or other) file. Save that file onto an SD card.
    4. Put the SD card in your printer.
    5. Select the file on the printer display and away you go.

    Now, some printers use a network connection component, eg Bambu printers have a wifi adapter. This let's them download firmware updates and receive print jobs from a computer remotely without needing to move SD cards. This does require the right software, e.g Bambu printers require proprietary Bambu Studio (or it's open source fork OrcaSlicer) that has the networking module to talk to it. This doesn't require special driver setup though.

  • Prusa is a very FOSS-friendly manufacturer. Their entire slicer and the firmware for all of their printers are free and open-source. And they make really high-quality 3D printers. With 500€ you should be able to get the Mini, though getting the larger flagship MK4S may pay off more in the long run.

  • If this hasn't been thoroughly driven into the ground already by everyone else here...

    Modern consumer 3D printers are self-contained, and do not require drivers for your computer, nor do they necessarily have to be connected to your computer at all. That definitely means no blobs. You can even run your printer with your PC powered off completely, or stick it in a room separate from your computers entirely. You might want to do either of the above because A) long print jobs can take approximately forever and you might want to let them run overnight, and B) they're not exactly silent...

    3D printers have an internal microcontroller and run what's called "G-Code," which (arguably in true UNIX/Linux tradition) is ultimately just a text file that's even vaguely human readable that contains a set of specific instructions on how to move the print head around to create the object in question. G-Code is essentially just a program that your printer will run, and there are multiple ways in which to create it. How you get it to your printer is up to you: Most modern machines can be accessed over the network interface somehow, usually via a web browser, or you can just stick the files on a memory card or USB drive and chunk that into the printer physically.

    The .gcode files you feed to your printer will be created by a piece of software called a "slicer," which takes a 3D model and converts it into move instructions on a layer-by-layer basis (hence, "slicing").

    Whatever printer you buy will certainly come with its own slicer software, which may be lightly customized or not at all.

    Nearly all slicer software is either open source or is derived from open source. The most notable and biggest name is probably Slic3r/Prusaslicer, which is open source, and is the basis of many manufacturer customized slicers such as Bambu's OrcaSlicer, and Qidi's QidiSlicer. Prusaslicer is available for Linux, and due to its ubiquity I recommend you start there.

    You absolutely do not have to use the slicer your printer came with, and in fact you may not want to for various reasons. OS compatibility being one, and if your printer's maker uses e.g. a customized version of Prusaslicer it is almost a certainty that their customized version is not based on the most recent version. If you don't use the slicer software your machine came with you will have to configure Prusaslicer or whatever it is you decide to use for your machine, which is not as difficult as it sounds and basically just involves telling it that the physical maximum print volume of your machine is, where you expect the print head's home position to be, how many extruders it has (probably just one), etc. The work has probably been done for you by someone else; you can get configurations for pretty much any machine from somebody on the internet somewhere.

    You will also have to ensure that your slicer is spitting out G-Code in a format (or "flavor") that your particular machine understands but that's not a big deal these days considering basically every current consumer 3D printer can use Marlin G-Code.

    I have only owned two printers personally, both Qidi machines: An original X-Plus, and now an X-Max 3. I've had great results with both. Qidi provides their own lightly customized version of Prusaslicer (see above) which they provide for Windows as well as Linux, but you can also just use Prusaslicer if you feel like it (see above again).

    At the moment you can score an X-Plus 3 for $599 USD which is 536.95 EUR if Google is to be believed. I think this may be a good starting point for someone who wants a turnkey experience, a plug-in-and-use machine you can start printing with right away without a bunch of assembly, tuning, upgrading, fiddling, generalized nonproductive fucking around, nor dealing with Bambu's proprietary bullshit. (You could spring for the X-Max 3 like mine if you want, but it's physically enormous and probably overkill if you don't absolutely need the larger build volume.) The Plus 3 and Max 3 are essentially the same except for size. The Plus/Max 3 are also fully enclosed machines with internal build chamber heaters and are thus ready to handle higher temperature and more exotic filaments right out of the box if ever you feel you would want to print in more than just PLA and PETG, again without having to mess with upgrades or aftermarket stuff. For instance my X-Plus 3 prints ABS and ASA pretty much just as easily as plain old PLA which is not something you can say about a lot of machines.

  • Most 3D printers are nothing like traditional paper printers and don't need drivers, but require a program called a slicer to create the GCode that your 3D printer understands. Then the GCode file is transferred to the printer either via an SDcard or WiFi for printing.

    There are several slicers (OrcaSlicer, PrusaSlicer ) that work reliably on linux. Please binge TeachingTech's YouTube channel to get a better understanding of what 3D printing entails.

    https://teachingtechyt.github.io/

  • DON'T PANIC

    There's a massive wave of learning curve for 3D printing. It's ABSOLUTELY subjective to the individual. So always keep in mind that you're going to need to do almost all of it yourself.

    The funny thing I experienced about the learning curve is how fun it is to ride the wave of "oh I understand now, let me try that... OMG what did I do?! Aaareggggg! Ok, I'll try again tomorrow. Next week well wtf that was so easy. How did I not get that the first time?"

    So the first thing to remember, not all printers provide a similar experience. You can end up with a model of the same filament and same size and to the naked eye, totally the same. But from different printers, could have black and white approaches and steps.

    In general there's a few programs that will let a PC directly connect to a 3D printer. It's usually USB and manufacturers usually probably the drivers. If not any Linux system is gonna be able to talk to it. Windows is the one that might not talk to USB on a COM channel.

    Direct connection is only needed in my case for upgrading the firmware. I have a Prusa MK3s Frankenstein. I have modified a bit of it.

    Before I mod'd it took a bit to really tune it in. but now it's really bulletproof and goes perfectly even after sitting for a while.

    Remember to learn the basics for the printer you go with and then look at the mods

  • So there’s zero need to directly connect the pc to the printer. Usually there’s either a microsd or similar to plug in and load to print from that.

    However, if you want to, Pronterface is a useful tool for providing command inputs via usb.

    It gives you a basic gui to set temperature, manually move the print bead, some telemetry (real time temp charts,) and if you really felt like it… you can print small files across the usb (or push them to the sd and tell it to print from there. Though file transfer rate is usually dog-breath slow.)

    Most usefully, it has a command line interface that allows you to send manual gcodes. This is very helpful for tuning and maintenance. (For example m851 will report XYZ offset, and you can set it with for example m851 z-2.47)

    Or if you use UBL, create and store the g29 meshes (and if you add t to the command it’ll report values. For example g29 l0 t will load the mesh in slot 0, and report in the box.)

    There’s a ton of useful g and m codes.

  • OP after I got my printer and got it printing (using a thumb drive for files for a bit) I setup a Raspberry PI running Octoprint on my network. Basically the printer hooks to the Pi and it serves as a print server of sorts. You can then send files to the Pi, configure it to watch your prints remotely (with a camera) and do some pretty cool things with it.

    There are tons of videos on YouTube of course. Just something to think about.

    • Hey, that's really cool! So with a VPN, I could steer this thing form anywhere! That ks for telling me.

      • There is actually an app that will let you remotely view and start/stop the printer without the use of the VPN.

        My wife often works from home and is tech savvy so I have no problems running prints and checking in remotely and I often hear of others doing the same; however…

        I would not recommend doing it without someone handy. Just my two cents. It’s not that someone could hack in - it’s that you are dealing with temps in the hundreds of degrees Celsius. While I don't recall of these things catching fire, the thought that it could burn my house down has more than once crossed my mind.

  • In the current market, you want a printer that runs Klipper. The system will typically include a web application that controls the printer (Fluidd, Mainsail, or Octoprint) running on an embedded RPi. You just access this through your browser, it's not necessary to install anything on your PC.

    You will need to install a slicer software. The slicer is sort of the equivalent of a document editor - it's how you prepare the 3D file for printing. Your printer manufacturer will probably recommend or distribute a particular slicer, but the file format used for 3D printing (G-code) is an open standard published by NIST. Any slicer software can be used to output gcode for printing - you can use whatever you feel comfortable with.

    Personally I reccomend Orca Slicer or SuperSlicer but there are many options.

    By the way, the entire market of home 3D printers grew out of the RepRap project that started 20 years ago. The original project was open hardware and software, and so almost all of the software in use today is open because open source principles were the foundation of all of it. There are some companies in the field who keep their stuff proprietary, but frankly I avoid their products and consider them to be anathema to the 3D printing community.

  • In some less common scenarios you may need the ftdi or ch34x drivers. Support for these is usually already in the kernel but if not the ftdi comes with the arduino sdk and the ch34x drivers are available

    You would generally only need this for older or super cheap printers, and even then you would generally only need this if you need to reflash the firmware for some reason or refuse to print from an sd/usb. but don’t refuse to do that, even back in the days before wireless printers it was a dumb idea to print via usb

  • As for printers the two go to's for new 3d printers are Prusa and BambuLab .In this case Prusa doesn't have anything to offer at this price range except for the mini which isn't that good.

  • So Indeed you can connect a 3d printer to a computer. But the conversation between them is limited to the comp sending the STL file to be printed. Thats it.

    My practice is more strict though. I do not connect the 3d printer to the comp, nor to wifi. For security reasons. Its a device that can heat up and move fairly easily and none of the existing printers today have proper security measures.

    And frankly its not necessary to connect a printer to a pc. Its a stand alone device that works perfectly fine as it is. You physically take the flash drive that contains STL files only in text form and put It on the printer. Theres nothing easier than this in my opinion.

    Unless of course you run a 3dprinting farm which is a different cass.

You've viewed 22 comments.