The Bambu Lab logo and OctoEveryhere logo with a plus sign in between and the text "Level Up Your Bambu Lab 3D Printer"
Screenshot from: https://octoeverywhere.com/bambu

OctoPrint is a well-known control and monitoring tool in the 3D print world and is compatible with a wide variety of 3D printers. Even though it’s currently not compatible with Bambu Lab printers (some efforts exist, like this one), OctoPrint inspired lots of interesting tools like OctoEverywhere, which was first developed to access OctoPrint functionality from anywhere. Now, OctoEverywhere has extended its reach and is compatible with a variety of 3D printers, including Bambu Lab printers!

We had the opportunity to ask Quinn Damerell, the lead developer of OctoEverywhere a few questions and here are his answers.

Who is the team behind OctoEverywhere?

OctoEverywhere is a one-person team supported by its amazing community. I’m the developer behind it, Quinn Damerell. My background is in computer science; I have written client, service, and networking code in the industry for 12 years. I do all of the development, design, dev ops, support, social, and business work. I mostly enjoy the development because I like writing code, and I work with the community to come up with ideas to implement.

How did you come up with the idea of starting OctoEverywhere?

It’s a cool story. I got into 3D printing in 2018 after my wife surprised me with an Ender 3 for my first Father’s Day. After I had it set up, running, and modded – of course- my friend turned me on to OctoPrint. I loved OctoPrint and wanted access from anywhere, but at the time, the only way to get remote access was port forwarding, which everyone knew was a terrible idea.

Since I had just finished working for a team writing backend services, I decided to write a service that would allow remote access to the full OctoPrint web portal proxied through a service. The trick was that you had to be logged into a strictly authenticated OctoEverywhere account to get remote access. I launched it on the OctoPrint forums as a very early test, and the service was blown out of the water due to the demand.

Three months later, I completely rewrote the service to make it more scalable and have a worldwide server footprint. That way, I could scale the service dynamically depending on demand. I gave that to the community, and it all took off from there.

Since then, I have worked with the community to develop and release AI failure detection, print notifications, live streaming, and many other great features.

Is this your full-time job?

No, but sometimes I think about making it my full-time job due to the work required. The only reason I can keep up with OctoEverywhere is I enjoy working on it. I spend most of my free time on my nights and weekends working on OctoEverywhere. It’s a big undertaking between the support, new features, keeping the servers online, and social and business tasks! The community also helps out a great deal, but I often wonder what else we could do with OctoEverywhere if it had 100% of my time working on it.

I’m guessing that OctoEverywhere used to be a plugin for OctoPrint, what gave you the idea to support Bambu Lab printers? How many printers are supported by OctoEverywhere?

Exactly! That’s where the name comes from because most OctoPrint plugins are Octo-something. Nowadays, I wish the name was different since OctoEverywhere.com is a little hard to type as a URL, but it’s the name we all know and love.

I decided to support Klipper in 2022 because there was a big demand for it in our community. I was really happy with the project’s outcome because I took the time to refactor the plugin code into a common core shared between Klipper and OctoPrint, which made it easy to ensure 100% feature parity between the platforms.

I added Bambu Lab support at the start of last year, 2024. Since the Bambu Lab printers are a good deal different than OctoPrint and Klipper, it took a lot of work, but I’m thrilled where it ended up. The advanced AI failure detection works well for A1 and P1 series printers and even for the X1 OctoEverywhere’s AI print failure detection, which will catch things the Bambu Lab X1 AI misses. I also added a unique feature for Bambu Lab printers where users can set up external webcams for OctoEverywhere to use for streaming, notifications, and AI. The external camera can run at the full camera FPS, which is also a nice add-on to the A1 and P1 printers since their cameras only run at 1FPS.

Now, we have support for almost every 3D printer, including Kipper, Mainsail, Fluidd, and Bambu Lab.

How does it work? What does someone who wants to connect their Bambu Lab printer have to do to have OctoEverywhere work?

Our system is called Bambu Connect, not the same as the infamous new Bambu Connect, a version of the OctoEverywhere plugin that works with any Bambu Lab 3D printer. You need another device beyond the printer because no third-party software can’t be run on the Bambu Lab printers.

The external device can be anything: a Raspberry Pi running other 3D printing software like OctoPrint or Klipper, a Raspberry Pi running something like PiHole or Home Assistant, etc. You can also install the Bambu Connect plugin using docker, which can be run on any Windows, Mac, or Linux device. I have step-by-step guides on how to set the entire thing up, including buying hardware if needed, installing the OS, etc. You can also run multiple Bambu Connect plugins on a single device.

Bambu Connect connects the printer locally using the MQTT server run on the printer. That’s how it sends commands and receives stats, like Bambu Studio. Bambu Connect will also use the built-in cameras on the Bambu Lab printers. The A1 and P1 series connect via a local web socket to pull webcam images; for the X1, it connects using RTSP.

Since Bambu Lab released a new tool also called Bambu Connect, are you planning on changing the name of your own, to avoid any confusion?

I’m not sure. At first, I didn’t want to change the name since it is referenced in so many places, and I feel like it’s become the plugin’s identity. I released OctoEverywhere’s Bambu Connect almost a year and a half ago, so I feel like it’s the name the community knows and loves. 

However, I was reviewing my Google search stats a few days ago and found that when you search “Bambu Connect,” the OctoEverywhere references are at the bottom. Google said there was an 85% drop in traffic to OcotEverywhere for the keyword, which is disappointing. I know Bambu is aware of OctoEverywhere’s Bambu Connect, so I wish they would have considered that before naming their new tool the same. 

What functionalities do OctoEverywhere offer for Bambu Lab printers?

I touched on this above, but everything OctoEverywhere offers works on Bambu Lab printers except the remote access since Bambu Lab does not have a web-based UI for the printers. A quick overview is:

  1. Free & Unlimited Advanced AI failure detection: Gadget is our AI system, and it is one of the best in the industry. It’s able to catch many 3D printing failures, such as spaghetti, bed adhesion issues, layer issues, and more. If it finds a problem, it will first send you a notification so you can take a look. After it gains more confidence in the failure, it will also auto-pause the print if set up to do so. Our AI system works on all Bambu Lab printers, including the A1, P1, and X1 series.
  2. Print Notifications: OctoEverywhere supports a wide range of print notifications, such as print started, finished, paused, canceled, first layer complete, user interaction required, and progress based on percentage and time. The notifications can be sent via push notifications to iOS, Android, Windows, or Mac, Email, SMS, Discord, Telegram, Pushover, Slack, and more. The notifications have realtime stats and webcam snapshots, which look lovely!
  3. Full FPS webcam streaming: Users can set up a USB or Raspberry Pi cam to monitor their prints. The webcam streams at its full FPS, usually 15 fps. Users can switch between the built-in and external cameras, depending on what they want to see. The full FPS is beneficial on the A1 and P1 series printers due to the built-in camera running at 1 FPS, which most users don’t like.
  4. Multi-printer dashboard: All OctoEverywhere users can have up to 3 printers on their account for free. Supporters can have 5 for free and then can pay $1/printer/month for each additional printer. A cool feature is our dashboard, which will show all of your printers, their live status, and snapshots – regardless of whether the printer is OctoPrint, Klipper, Bambu Lab, or others. The printers are sorted by status, so printers that need attention are at the top, printing printers are listed next, and idle printers are at the bottom.
  5. Fast remote access: A big focus of mine on OctoEverywhere is speed. I have a worldwide server network that ensures everyone gets fast printer access worldwide. I also pay special attention to website speed and make everything load as fast as possible. To me, the Bambu Handy and Bambu Studio are great but slow and clunky if you want to check on your print quickly. They take a while to open, and the webcam stream takes a while to load. The Quick Access page in OctoEverywhere is designed to open super fast and show the current print stats and the webcam stream. It’s directly linked to the dashboard, and all notifications link to it.
  6. There are a handful of other minor features in OctoEverywhere, like Spoolman remote access, Live Links for live streaming and print sharing, etc.

OctoEverywhere’s AI print failure detection seems amazing; how does it work?

Gadget is our AI failure detection assistant for OctoEverywhere. I’m really proud of Gadget because I built it in a way that could be free and unlimited for the entire 3D printing community, and it also works well from the feedback I hear.

Gadget runs webcam snapshots through a modern AI image recognition model and uses an advanced temporal algorithm to detect print failures. Gadget is server-based, so it can run on hardware much more powerful than 3D printers or Raspberry Pi devices. The service has automatic worldwide load balancing and failover, so it’s extremely reliable and robust. One statistic that blows my mind is that Gadget processes over 5.1 million images daily!

From a user perspective, they need to set up the Bambu Connect plugin and enable Gadget on the website. Gadget will use the built-in printer camera by default, or users can set up the extra webcam and select it instead. If Gadget detects an issue, it will send a notification with a link to Quick View for the user to check out. After a minute or so after it gains more confidence in the failure, it will also pause the print if it’s instructed to do so.

I spent a lot of effort on the temporal prediction analysis algorithm to prevent false-positive notifications (which are annoying) and catch issues when they happen; it’s surprisingly tricky to get right. I worked with the community to tune the algorithm, and I am pleased with where we ended up!

Does OctoEverywhere require the Bambu Lab printers to be in LAN-only mode?

No, your printer does not need to be in LAN-only mode for OctoEverywhere to work – right now.

What’s nice about not requiring LAN-only mode is that users can fully use Bambu Studio, Bambu Handy, and OctoEverywhere together. Each app has its strengths, and the combination of all three is really nice. OctoEverywhere will still work if LAN-only mode is enabled, which is a nice experience because it allows users to keep cloud printing features without using Bambu Cloud.

Given the recent Bambu Lab news and controversy, how future versions will work is unclear. But I will do whatever I need to ensure OctoEverywhere’s Bambu Lab functionality continues to work. Bambu Lab’s proposed “developer mode”  will work, but I hope they hear the community’s feedback and give us better options.

From my perspective, Bambu Lab undoubtedly makes excellent hardware. They leveraged that hardware to gain a strong foothold in the 3D printing community, but they also pushed their way in with a lot of marketing and influencer payments. I’m not against those tactics, but I fear for the openness and diversity of the 3D printing community. The 3D printing community supports tons of printer options, tons of printer mods and customizations, tons of models, and tons of sharing. I feel like Bambu is using its dominance to change the community for the worse by building walls and closing off its openness, which is a shame. I think there’s a world where Bambu Lab empowers the community by creating excellent hardware but keeping it open for those who want to customize, modify, and extend. I hope they see that, too, and change their policies to build the community rather than hurting it.

Are you endorsed or in contact with Bambu Lab? Do you think OctoEverywhere will always work with Bambu Lab printer?

No, but I would be happy to work with them. I have contacts in the 3D printing community who have reached out to them on my behalf to set up contact with them, but thus far, we haven’t communicated much. As I said, I would happily work with them, give them any ideas, take their feedback, or help them debug any issues if they want to work with us.

There’s a bug with the X1 printers where the RSTP webcam feed randomly stops working until the printer reboots, which is annoying for users. The issue affects all plugins, such as OctoEverywhere, Home Assistant, and others. The issue is with the printer’s software, but we can’t access it to debug what’s going on. Thus far, no one in the community has found a workaround, so the community deals with it for now. I would love to work with Bambu to debug it and find a fix!

How can you guarantee OctoEverywhere security and, therefore, our printer’s safety?

Great question, security is the number one thing I consider whenever doing anything with OctoEverywhere. Be it server admin stuff, developing features, etc.

The plugin connection is fully secured as a WebSocket, using modern HTTPS transports and protocols like your bank. Since the plugin is reaching out to the server, there’s no need to do any advanced networking setup or port forwarding.

As an example of one above-and-beyond security feature I have, even though the connection uses a full TLS tunnel, I added another layer of security where the plugin sends a crypto challenge over the encrypted web socket to ensure the server can properly respond. Only OctoEverywhere should be able to generate valid SSL certs for OctoEverywhere.com, so the WebSocket TLS tunnel should be fully sufficient. But if some bad actor could generate a valid cert and man-in-the-middle your connection, it wouldn’t be able to complete the crypto challenge from the plugin, and the plugin would refuse to talk with it.

I keep up with the servers’ modern hosting practices and security requirements. I regularly apply updates, keep the plugin packages updated, etc.

Usually, the weakest link is the user’s account. Users can log in using an email and password or a third-party login provider like Google or Apple. They can also enable code-based two-factor authentication, one of the strongest ways to lock down an account. OctoEverywhere also requires any user who logs in from a new IP to do an email-based code challenge, which can’t be disabled.

I’m happy to discuss the advanced security stuff if you’re interested. I also wrote a blog post that covers a lot of it here:

Where are the servers hosted? Is OctoEverywhere GDPR compliant?

The servers are hosted all around the world. Your plugin and web browser will atomically select the nearest server, giving you a local server and the fastest connection.

I have covered most of the GDPR, but I’m still working on a few last parts. I think the biggest thing I’m missing is that annoying cookie banner. But I fully support data deletion and privacy requests. Users can delete their accounts at any time from the Accounts page, and it will delete all of the personal data tied to their accounts.

Is any of the software Open Source?

Yes, the plugin and protocol are fully open-source on our GitHub pages (here and here) That includes all of the sources of the OctoPrint, Klipper, and Bambu Connect plugins, the core plugin logic, the docker logic, and the Linux installer logic. The protocol is the protobuf definition file, which defines the plugin-to-server protocol.

I have always wanted to open source on the server side, but it’s not yet. It’s still a medium-term goal of mine (maybe in 2025?), but there’s a lot of work to do. I’m quite proud of all of the code; it’s written in a way that’s very approachable and understandable for anyone who wants to hack. But since the backend wasn’t initially open, there are parts of it that would only make sense to me. There are also hard dependencies on services in Azure, which would make it hard for most users to self-host. If I open-source it now, it might cause an increased support workload because self-hosting would be hard and generate many questions.

What does the future hold for OctoEverywhere? And more particularly for Bambu Lab printers using OctoEverywhere?

The future is endless! Hahaha. This project started as a simple remote access feature for OctoPrint; now, you can see what it has become. There are so many ideas I want to explore and so many feature requests I have on my backlog. For general features, I have been thinking about ways to incorporate the model details into Gadget, so it has more context and can make better predictions of failure. I have a lot of requests for a print history feature to keep track of past prints and fun per-user stats.

For Bambu specifically, the most significant gap is since there’s no remote UI, the remote access control is all through Quick Access right now. From there, you get all the print stats you want, webcam streaming, and pause/cancel actions, but I want to add more. This will benefit all of the platforms, but I want to add controls like file management, starting prints, possibly queuing prints, fan/light controls, AMS status, and more.

There’s so much I could do; it’s all just a function of time.

Finally, we talked about it a little bit before, but how much does OctoEverywhere cost? Is the free-tier always going to be free?

OctoEverywhere can be used for free to control up to 3 printers. If you need to control more printers, some advanced features, or just want to support the project, you can signup for the Supporter Perks at $3.99 USD per month.

I’m confident I will always be able to offer a free tier to the community, which I love. As I have said above, my goal with the project is to build a tool for the community. I think the only way to keep it accessible to everyone is to keep it free. The project is 100% supported by funds from Supporter Perks, and the funds ebb and flow with the current user count quite well, so the costs are usually covered. There are times it cuts close, but it’s been fine so far. 

If people want to contact you, propose ideas, or help with OctoEverywhere, how can they do it?

I can’t emphasize this enough: I live or die by the community feedback. I strongly encourage everyone to try out OctoEverywhere and give me any candid feedback they have! It’s been working thus far to drive OctoEverywhere based on the community feedback, so I will keep doing it!

The best way to share ideas or contact me directly is via our Discord server. We have channels where the community can discuss ideas, give feedback, help each other, and more. Users can also DM me directly if they want. I keep an active eye on the Discord server and am as responsive as possible.


If you want to try OctoEverywhere for yourself or learn more about the advanced features, head to https://octoeverywhere.com/bambu