So, I’ve a bunch of 3d printers. 2 Bambu Lab P1S, printers, 3 Bambu Lab A1 Mini printers, and a collection of printers I’ve used over the years. Up until I bought a Creality K1, (More on that later) all of my printers were using the Cura slicer, and OctoPrint to control the printer. The K1 used a customized version of Klipper, and that printer wanted me to use Creality’s customized slicer to feed the printer. Bambu Lab printers also have their own preferred slicer, an adaptation of the slicer made by Prusa, which is built on (and very extensively upgraded from) the Slic3r slicer that has been in the open source community for a very long time. Longer than I’ve been 3d printing. I’ve also started using the OrcaSlicer version, and plan on recommissioning some of my older printers that are in OK shape, to use with that platform as well as the Bambu Lab printers.
An observation on the firmware update from Bambu Lab that has been all the rage over the past month. It is one of the reasons I’ve been looking at OrcaSlicer and one of the reasons I’m still considering going to local net access only, and skipping the cloud service, which also would (presumably) address the main concern that the firmware update would address. Bambu Lab is in the business of selling printers. The market they want to sell into is the market where people mostly just want to unbox the printer, and print things. Mybe they want to design some things, but Bambu Lab isn’t in the business of creating design software. Those are going to be any of a wide variety of software companies for generating the models that the slicers will accept. And there are a fairly wide variety of those as well. The last thing that Bambu Lab wants to have to deal with is someone writing software that generates the code the printer uses, to make the printer do things that will reflect poorly on Bambu Lab. For many that means that they do not want to have someone send g-code to a printer someone else owns that turns the hot end up to a temperature hot enough to start a fire, then let it sit like that for a few hours. This is something that could happen if you use pre-sliced models as part of your print plans. And that ability is something that Bambu Lab would very much like to encourage, as it means that people can generate a model that works on various Bambu Lab printers, upload it to the Bambu Lab public servers, and you to say “Print this!” from your phone app, and the printer pulls down the pre-sliced model and prints it out. Sounds great, right? Well, this relies on the models online being reliable, and while Bambu Lab may be able to police their Studio platform, they can’t police other platforms. And I don’t expect them to.
I get the idea, and I also understand the concerns over the platform becoming more closed. Bambu Lab isn’t doing this to protect me, or you, or anyone but themselves. And I happen to think that’s OK. I’d rather they didn’t need to, but as I say, there are other options. Additionally, slicers like OrcaSlicer can either end up with an improved interface that acts as a shim through Bambu Lab Studio’s cloud, as it does now, or if the user elects to keep their printers from talking to the internet at all, I can use OrcaSlicer to directly talk to the printers, and don’t need the firmware update at all. I may mis out on additional features down the line, but we’ll see what I may, or may not, need.
Depending on whether I elect to get the firmware update when it’s available for my printers (it isn’t now, and I’ve no idea what the schedule is) the most ‘significant’ issue that comes up is the option of using something like the ERCF multi-material filament system with my printers. This ‘may’ offer a less expensive solution to the AMS systems that Bambu Lab has available. and pretty much by definition starts with a more ‘capable’ in the sense of being able to add more than 4 colors that we see as a starting point with the AMS options, but I’m not convinced that it is a betters olution, just a different one. It may limit me to the print plates that I already have or that OrcaSlicer knows about, and there may be other limitations, but from what I’m seeing, about the only real limitation is that the Panda Pad that I’d like to use to manage print jobs with would need to support the new interface that Bambu Lab is working on, and I don’t know what the firmware limitations are on that device. All in all I’m OK with the limitations, and for now I’m not interested in doing the major actions that would be required for some of the things that get ‘broken’ anyway.
Is it possible that this will give me headaches down the line? Yep. But I expect to run into headaches down the line anyway. If I end up having to part out these printers, as I replace them with something else, I’m OK with that.
Farming
The fact that I have 5 Bambu Lab printers makes it reasonable in my view to set up a “farm” of the printers. So, what is a print farm?
A print farm is a setup that allows the owner of the printer to print to multiple printers at a time, printing the same model on multiple printers, or print multiple models at once. It offers a means of maintaining some control over the printers. It is not required that all the printers be in a common location, however in many cases that is the solution used. It allows for what I would call a ‘lights out’ printing environment, even if you don’t have things like print removal systems. Having all the printers in a common location means that if you experience a problem, you have one place to go to address that problem.
Depending on your setup, you may opt to have something like OctoPrint with a multi device instance handling management of the printers, or use another option. If you have a printer that’s gone offline for some reason, you can move it’s print queue of jobs to another printer, either manually, or through your automation system. Print farms come in all different sizes, from a single printer, through thousands. There is no requirement that all printers be the same, however if you are going to be shifting jobs from one printer to another as needed, it’s a good idea that they “look the same” to the slicer.
I’m breaking 2 of those items with my farm. Specifically I’m using mixed printer models, so those ‘slice’ differently, and two of what should be the same printer are going to have different nozzel sizes, meaning that those are going to require different slicing options as well. Along the line I’m going to be mixing and matching printer bed options and the like, None of this is good print farm practices. However it does allow me the option of moving all of the printers to similar print options, or to set up one or more printers specific to some jobs. As an example, both of the P1S printers are going to have hardened nozzles and improved extrusion gearing to support “technical” filaments, (Abrasives of the form glass fiber, filled, carbon fiber, or other technical materials that require higher heat or hardened nozels.
One of the features that you’d like to have is remote management of the environment. Even if you are going to be sitting next to the collection of printers in your print farm, having remote management means that you can observe when a print job is misbehaving, and address that, or cancel a job that’s producing spaghetti instead of a tower, and so on. All of the Bambu Lab 3d Printers have camera’s built in, however the placement isn’t the best in my view, and it’s often handy to be able to work with other perspectives. In my case I’m building a Raspberry Pi system that is simply capturing from 4 webcams at once, each pointed at the print bed of a different printer. I can then feed that into a web page with 4 iframes that pull from each of those views, and has the option of opening a selected view full screen. I can also set it up so that it rotates from one camera to the next active printer.
A limitation on this is that the camera’s are going to need light. And while the printers do have some light, better light is better. I haven’t decided on a final solution for that, but I have some options. We’ll see.
Home assistant can see most of the printers at this point. I do need to get it to addopt monitoring on any not in it’s collection of managed printers, and set up workspaces for each. It would be nice to template those workspaces so that I can simply add another printer as needed, and apply the template to that printer for the workspace. Some day perhaps.
Remote as in not in the network monitoring. For now I can monitor printers even if I’m not in the same netowrk as the printers. This is through Bambu Lab’s cloud service, which I’m hoping to eliminate. Optionally I can set up a platform for the cameras to monitor the environment from outside of the network, however I’d mostly like to avoid having remote access to start and stop jobs on the printers. I can work around that by using some variety of VPN into my network, but I’m not a big fan of that option from a security standpoint. If you are, great, but my own preference is that local network manaed printers should only be managed (as in start/stop jobs) locally, and should not beoperating when there is no one available to perform near immediate response actions, like take a fire extinguisher to the print farm. That’s mostly my prefernce, but I happen to think it’s a good idea in any case. Unattended, lights out, for a small print farm should not be the same as what it means in a data center or many other factors. I’m not a fan of the idea of pulling up to a print farm facility on Monday morning to find a smoking pile of what used to be a building with a print farm in it. Insurance might cover that, but I’d rather not have to work through those claims options.
Power management. This is where things get a little interesting. A 3d Printer usually has 3 modes. How much power it draws while idle, or not printing. How much power it draws as it’s preparing to print, and how much power it draws while printing. The first and third tend to be fairly static numbers, though the last may have wildly different valuse depending on what materials are being printed, and on what. For what I’m currently printing, a good rule of thumb is that the idle power level is under a watt. It’s not much. While operating, the printers tend to draw about 50-75 watts, and while starting up (Yes, I know I changed the order) the printers tend to draw between 150 and 200 watts. This last one may vary on how long the printer has been idle between jobs, and the environment your printers are in. As an example, if you can reasonably bring the room temperature of the print farm space up 10 or 20 degrees when people are not in that space, that can potentially save on the amount of time the printer takes to come up to operating temperature. This may make for a shorter print cycle for that print job, and may end up costing less. On the other hand heating the entire room may be costlier. One advantage to a warmer space is that bed temperatures being more even across the bed can make for better bed adhesion. So increasing room temperature, or improving insulation around print chambers can be a long term cost savings on filament.
There are many ways to manage print jobs. If youdo wat Slant3d has done, print jobs are scheduled ans started from an industrial computer used to handle production processing. It may be anything from a mainframe on down to an industrila server along the lines of a medium or low end AS/400 but isn’t specific to IBM. Thik of how an auto manufactureing plant handles assembly automation, making sure that the right parts show up at the right points in the assembly line, and are either installed by robotics or made available to the technician doing the assembly. These are not PC’s, or even home servers. Among the differences includ the ability to handle communicating with dozens through thousands of pieces of equipment at a time, and keeping them all operating smoothly. This is not something that my current setup can handle, but then I’m not trying to host a print farm that has thousands of printers on the warehouse floor. Bambu Lab has their own print farm management platform that costs extra for people using their printers in medium sized print farms. Though you can get away with a lot if you’re willing to put the files you want a printer to print on a micro-sd card, and select and print them from the front panel of the printer. This is particularily handy if your looking at 10 to 50 printers, where the average job takes 4-8 hours to print or longer.
Where this get’s a bit interesting is in a situation where each print job is ‘custom.’ Let’s say you want to make ‘night lights’ where customers upload a picture, that results in a black and white, or grayscale image that is printed as part of a screen for the night light to shine through. This is something that you really do want some variety of central computer managing the print jobs, rather than walking up to a printer with a micro-sd card that can be easily lost, and inserting it into a slot on the printer that can easily be damaged. If the back end software can manage rendering a model that the customer can approve, drop that model into a slicer and quing the resulting file to the print farm printers without anyone touching anything except the print to package it for shipment to the customer including a pre-printed label with postage on the label, so much the better. There may be cleanup that needs to be done, and there may be some feedback to re-queue the print job if the filament ran out in th emiddle of the print, or some flaw caused a layer shift. All kinds of stuff like that happens. But that’s a different situation from people ‘breaking’ machines simply by inserting a micro-sd card.
Not everyone will have the same experience. However many of these factors are likely to need to be considered if you are considering getting into the 3d printing business. Recomendations are to standardize your printer(s) so that they use as many common parts as possible. It’s a boat load less expensive to manage a print farm where all 3000 printers use 608 inline-skate bearings then having to manage inventory and build process where you have to source even 2 different bearings. There are very few reasons not to use a hardened nozzle. The two that come to mind are cost, and thermal characteristics. Brass nozzles won’t last long, but are going to provide more uniform heating than Stainless Steel, which will last longer, but be a bit more expensive, and those won’t last as long as hardened tool steel nozzles, which may be harder to find in finer resolutions, and have even worse thermal characteristics. Going up from there Diamon nozzles are going to give you great thermal characteristics, and wear resistance, but will cost as much as some of the lower end 3d printers on the market. (Yes, a Diamon nozzle for a Bambu Labs P1S alone, without the rest of thehot end will run you $50-$100 depending on the printer and the A1 Mini w/o an AMS Lite runs between $125 on sale, and $220 at Microcenter, depending on sales and whether it’s a refurbished unit or not. That said, a diamon nozzle may be something that you save to put on another printer that it will fit on once the printer you install it on is ready to be decommissioned. That said it’s a small expense to add to a $1500 printer if you are using one of those that you can install the nozzle onto. So your milage may vary.
Perhaps the one thing I didn’t mention in all of this is that one reason you may want a print farm is to distribute the load of a print project across many printers. A project I’m currently printing is actively using 4 printers and has been for the time I’ve been writing this draft. That’s about 6 hours so far. No I don’t write all that fast, and some would call what I’m doing word salad, but just that is some 24 hours of straight printing time. Looking at the time remaining on the print jobs that are running, I’ve another 6 hours left of prints that are in progress across the 4 printers, and at least another 6 and a half to 7 hours on one printer for a print that it’s going to be handling. So we’re talking another half a day of print hours. Note that this is on some rather fast printers, I think if I summed up the time the person who created the project says the parts take to print, they took more like 5 to 8 days of continuous printing, or a week or two of pull the previous print off the printer, start the next… knowing full well that some of those print jobs will fail, some will need attention mid job for hardware, and some are going to finish long before they are going to get back to the printer. Me, I’m going to go game for a bit. Take a break about midnight, take care of the prints that have completed, and launch the remaining, the go back to gaming. The last job should finish long after I’ve had enough of gaming for tonight, and have gone to bed. We’ll see.
Hoping this hasn’t been too overwhelming for anyone, and for those who know far more than I about print farms, I’m hoping that I haven’t gotten too much wrong. I’ve avoided talking about print farms that make use of resin printing. If that’s your thing, that’s likely going to require a differnt setup. It’s not mine, though I have some resin printers, and have used one. But I need to go get some gaming on. Keep in mind that what I do, isn’t necessarily what anyone else will do.
Take care, and have fun. If you’re not having fun, what are you going to tell your great great grandkids you did all this for?