Researchers from S2A Lab Experimenting with Remote 3D Printing Control


Share this Article

Late last year, we learned that researchers with the Smart and Sustainable Automation Research Lab (S2A Lab) at the University of Michigan College of Engineering had been working to develop an algorithm that would double the speed of desktop 3D printers. It works by using Filtered B-Spline (FBS) algorithms to adjust 3D printer control and mitigate unwanted vibrations while the print speed goes up. Earlier this week, we received an update on the team’s vibration compensation algorithm from Chinedum Okwudire, PhD, an associate professor of mechanical engineering at the university and the director of S2A Lab.

“Over the past year we have been working to integrate our vibration compensation algorithm into Marlin and release it open-source to the 3D printng community. But we have not succeeded because of the low computational power and memory on the ATMega2560 microcontroller which cannot support our algorithm,” Professor Okwudire told “We are now looking into releasing it open-source on firmware that run on more powerful microcontrollers. More updates on this to follow as we make more progress.”

CAD model of XYZ Calibration Cube commonly used for determining acceptable acceleration and jerk speed limits of desktop 3D printers.

But the innovative vibration compensation algorithm isn’t the only thing the researchers in the S2A Lab have been working on lately.

“In the meantime, we have been experimenting with a new way of controlling 3D printers, where stepper motor commands (and other low-level control commands) are generated in the Cloud, rather than on a microcontroller,” Professor Okwudire explained to us. “The idea is not too different from how video streaming works, and is a refined version of how OctoPrint, Astroprint and 3DPrinterOS work. It gives Wi-Fi enabled 3D printers access to advanced algorithms like ours, running on the Cloud, without need for very powerful microcontrollers. Our initial results have been very encouraging. We were able to compensate the vibration of a Lulzbot Taz 6 3D printer situated in Michigan from cloud-based controllers in South Carolina and in Australia without much problems, hence slashing printing time by up 54% compared to using Marlin. Details of this work are published in the special issue on Innovations in 3D Printing of the open-access journal Inventions.”

The team published the details of their work in a paper, titled “Low-Level Control of 3D Printers from the Cloud: A Step toward 3D Printer Control as a Service,” in a special issue of open access journal Inventions all about 3D printing innovations; co-authors include Professor Okwudire, Sharankumar Huggi, Sagar Supe, Chengyang Huang, and Bowen Zeng.

Overview of setup for experiments.

The abstract reads, “Control as a Service (CaaS) is an emerging paradigm where low-level control of a device is moved from a local controller to the Cloud, and provided to the device as an on-demand service. Among its many benefits, CaaS gives the device access to advanced control algorithms which may not be executable on a local controller due to computational limitations. As a step toward 3D printer CaaS, this paper demonstrates the control of a 3D printer by streaming low-level stepper motor commands (as opposed to high-level G-codes) directly from the Cloud to the printer. The printer is located at the University of Michigan, Ann Arbor, while its stepper motor commands are calculated using an advanced motion control algorithm running on Google Cloud computers in South Carolina and Australia. The stepper motor commands are sent over the internet using the user datagram protocol (UDP) and buffered to mitigate transmission delays; checks are included to ensure accuracy and completeness of the transmitted data. All but one part printed using the cloud-based controller in both locations were hitch free (i.e., no pauses due to excessive transmission delays). Moreover, using the cloud-based controller, the parts printed up to 54% faster than using a standard local controller, without loss of accuracy.”

Control as a Service (CaaS) is just one of several examples, such as cloud robotics and cloud manufacturing, of paradigms inspired by, and built on the shoulders of, cloud computing and other service-oriented architectures (SOA). It works like this: a device’s low-level control functionalities are moved out of a local controller to the Cloud, where they can then be accessed on-demand remotely. Multiple 3D printing services rely on SOAs and cloud computing, and the trend of controlling 3D printers remotely through a web-based wireless host platform, such as OctoPrint, 3DPrinterOS, and Astroprint, continues to grow.

But, these types of platforms send G-codes, or the equivalent, from the Cloud to the 3D printer while at the same time assigning lower level computations to a microcontroller. So these don’t offer the same kind of CaaS that the S2A Lab is working to develop.

“3D printers are an excellent case study for advancing CaaS, especially since many of them (particularly those of the desktop kind) have very limited computational resources on their local controllers,” the researchers wrote. “The control performance of desktop 3D printers could be significantly improved at low cost via cloud-based control algorithms provisioned through CaaS.”

The researchers used a Lulzbot Taz 6 3D printer with dual extruders for their experiments, though mentioned in the paper that industrial 3D printers could also stand to benefit from this kind of advanced control algorithm.

“Therefore, this paper presents preliminary work on low-level motion control of a desktop 3D printer from the Cloud, as a first step towards in-depth research into 3D printer CaaS (3DPCaaS). It not only shows that low-level control of 3D printers from the Cloud is feasible, but also demonstrates huge improvements in 3D printing speed and accuracy that can be achieved using an advanced cloud-based motion controller over a standard local controller,” the researchers wrote.

Prints of Medieval Castle using: (a) local controller (Marlin); (b) cloud-based controller in South Carolina; and (c) cloud-based controller in Australia. The portions of the prints highlighted in dashed rectangles failed (broke off) during printing due to delicate support structures.

The S2A Lab set up a website as a gathering place for people who want to continue researching the idea, and testing 3DPCaaS on their own 3D printers.

“This work is still very experimental but it has shown great promise,” Professor Okwudire told “It may just be the next big thing in 3D printer control, where printers can gain on-demand access to powerful algorithms that boost their performance without need to upgrade to very powerful microcontrollers. What we picture is an OctoPrint-like platform where people can upload G-Codes and remote control their printers with the help of advanced algorithms like ours running from the Cloud.”

Discuss this and other 3D printing topics at or share your thoughts below.

Share this Article

Recent News

3D Printing Serves as a Bridge to Mass Production in New Endeavor3D White Paper

3DPOD Episode 200: Joris and Max Wax Philosophic on Five Years of Podcasting


3D Design

3D Printed Art

3D Printed Food

3D Printed Guns

You May Also Like


Printing Money Episode 18: The DC Fly-In with Mark Burnham, AddMfgCoalition

It’s only been a week since the previous show, but Printing Money is back already with Episode 18. Certain events call for Printing Money’s coverage, and the recent 2nd Annual...

3DPOD Episode 199: Collaborative Design with Graham Bredemeyer, CEO of CADchat

About a decade ago, entrepreneur Graham Bredemeyer started Collider, a company that combined the best of 3D printing with injection molding. Now he runs CADChat, which hopes to make sharing...

Printing Money Episode 17: Recent 3D Printing Deals, with Alex Kingsbury

Printing Money is back with Episode 17!  Our host, NewCap Partners‘ Danny Piper, is joined by Alex Kingsbury for this episode, so you can prepare yourself for smart coverage laced...

3DPOD Episode 198: High Speed Sintering with Neil Hopkinson, VP of AM at Stratasys

Neil Hopkinson, a pioneering 3D printing researcher, played a pivotal role in developing a body of research that is widely utilized today. He also invented High Speed Sintering (HSS), also...