Remote 3D Printing with Quinn Damerell of OctoEverywhere (The Infill Podcast #1)

Jonathan Levi: Welcome to the Infill podcast, where we interview the most interesting members of the 3D printing and maker communities live and with audience participation. And now here is your host, Jonathan Levi.

Hello everybody and welcome, welcome. Really excited to have you all on the very, very first official real episode of the Infill Podcast.

Thank you guys all for tuning in live or otherwise. I’m really excited about today’s episode. I’m going to share the guest with you in just one moment.

And now let me tell you all about today’s guest who is so patiently waiting in the waiting room here.

Introduction to Quinn Damerell

Quinn Damerell is the creator of OctoEverywhere. He is a software developer by day and a 3D printing enthusiast and a massive supporter of the 3D printing community by night.

Quinn knows a lot about 3D printing, but also a lot about print failure, detecting certain remote accessing of printers, time lapsing, and many, many different things.

Ladies and gentlemen, help me welcome Mr. Quinn Damerell. Hey, Quinn. Welcome.

Quinn Damerell: Hi, how you doing? Absolutely awesome. There’s already a lot of activity in there.

Jonathan Levi: ton, and it’s really, really exciting.

This is my first time doing live podcasts and it’s really, really exciting to have the audience interaction.

Quinn, for those who are listening in the audience, and don’t know about you, haven’t interacted with you in the past as I have, tell us a little bit about yourself.

Quinn Damerell: My name’s Quinn. I have been in software engineering now for about 10 years. I graduated from Purdue University and Computer Science.

So, I got started in 3D printing about four years ago because my wife got me a 3D printer for Father’s Day. It was completely random. I’ve always liked playing with little electronics and building things in the garage.

So she got me a 3D printer and I was like, that was a great idea. Because I never thought about it, put it together. I loved it. A hot second later I got an OctoPrint because, you know, OctoPrint’s amazing.

Jonathan Levi: right?

Quinn Damerell: Yeah. I mean, you know, I, of course modded the heck out of it. So like all the blue components on there, all the things I 3D print.

That was back a while ago, you know, when OctoPrint people wanted to grow access and there were limited options.

And I had this idea and I, I had never really done a service before, but I was like, I could proxy them through a server, and then I could get access to my full portal because I actually did Port Forward by OctoPrint for a while, which is a terrible idea.

But, I did that and then I made the service, I put it out on the OctoPrint discussion forum. I had actually got so much new activity that it killed the service for like a week. People just kept trying to hit it and it just kept dying.

And then I just kind of, you know, I realized like, okay, I gotta, and I pretty much rewrote the thing because it was very prototyping, and then kind of built it into what it is today.

And yeah it’s been a crazy journey. As I said, my goal, I’ve given myself a mission for OctoEverywhere.

The mission is to empower the maker community with cloud-connected printing. The goal is free remote access.

Jonathan Levi: Your goal is to empower the maker community to be makers and still go outside, which is amazing.

Quinn Damerell: Yeah, exactly.

So you have these three printers, they take like 18 hours to print and it’s like, I want to go get coffee or something, you know, and I want to watch the thing and it’s fun.

One of the things I enjoy most about 3D printing is just watching it as it goes. Checking in every half hour on the app and checking it out.

Jonathan Levi: Yeah, this is so much fun.

Now, really quickly before we go on from your bio, you’re a software developer by day. You do this as a side hustle just because you’re passionate about it, right?

Quinn Damerell: Yeah. Yeah. I’ve always had a side project.

I had a Windows phone a long time ago, and I made this Reddit app for Windows phones called Bake It, which is one of the most popular Reddit apps on Windows phones. Now, Windows phone is a small subset of phones, obviously. I’ve always just had something I kind of work on, on the side.

And this is kind of perfect because, the 3D printing community, of any community I’ve ever seen is so much giving and almost everything is open-source free models, websites, software, printers, you know, like the only thing you really have to pay for is the printer and the filament.

And so, to me, it was like I had all this stuff I was using for free, the Slicer and everything, and I was like, you know, this is my contribution to our community.

Jonathan Levi: Very cool, and I feel the same way about this.

I’m a big Bitcoin guy. I really believe in Bitcoin, not crypto before people in the comments go crazy.

But it’s the same ethos, right? Because Bitcoin is this open-source thing that we all share and it’s like, I want to make a living doing the things I love, which is talking about Bitcoin and 3D printing.

And at the same time, it’s like you’re standing on the shoulders of giants when like, Marlin is free and open source.

And then it’s like, how can I make an online course about 3D printing and sell it when everything is free? Not just ethos wise, but ethics wise, you know what I mean? It doesn’t feel right to charge people money.

Tailscale and Open Forting in Remote 3D printing

Jonathan Levi: Now I do want to ask because one thing that people always mention when I talk about your service, which I love and Obico, which I love, is why don’t you just do tail scale or just open ports on your router?

Yes. Now for me, I know why that’s a huge bad idea and that’s because I run a Bitcoin full node on the same internet as my printers. And there’s absolutely no way I’m opening any aspect of my internet. whatsoever. But for the average person, why does that matter?

Quinn Damerell: Port forwarding on your router basically means that you have a public IP address to the internet that anyone on the internet can hit. You know, you can ping an ip, you can even type it in your browser.

There’s nothing there, so it won’t do anything but you can expose a port through that, which basically makes it so that if anyone hits that public ip, your router instead of blocking the connection will send it to a preassigned device.

And what that does is it basically puts your OctoPrint server on the internet so anyone can access it.

The big problem is that OctoPrint has never been designed to do that, and it’s a great system, it has a user login system and all that, but it’s not an internet-facing strong platform. it’s not designed to do that, and it’s easy to find exploits for a system like this.

People who really want to will find exploits and will sit on exploits and won’t tell Gina the developer about them because they want to.

Basically, someone could probably take over your OctoPrint device, which gives them access to your Raspberry pie, and now they have access to a full computer on your internal network, on your home, which a lot of other devices on your internal network will trust devices on the local land, because it assumes they’re not malicious or compromised.

From there, a hacker could jump to, you know, they could kind of monitor your network activity. They could definitely monitor your 3D printer, they could mess with your 3D printer, make it get too hot, heat up, print stuff, whatever.

And even worse than that, maybe they could find an exploit. Maybe if you did update the firmware. Update our routers.

However, there are other great options, like VPN and tail scale. Tail scale is a really modern way of doing it, and I’ve heard really great things about it. I’ve actually never personally done it myself.

Basically, the idea of a VPN is to have your home local network and then you can create a device that’s on the internet, but it is like a bridge to your home local network, but using like, strong security, right? The downside to those at least, especially VPNs, is they require, maintenance and they require, to set them up correctly, first of all, to have the proper security.

They usually require an SSH key, which is fine, but if you have an Android phone, you have to set up your pin, you put your sh key in there, you have to manage it, enable it, disable it, you know, and iOS, the same thing. It’s just more maintenance, more overhead, you know, for someone to maintain.

Jonathan Levi: Good. Oh, I was going to say, by using a service that does this for you, people are kind of just outsourcing the security to you where it’s like your job to just be updating and making sure that open SSL is secured and making sure that, there’s not too much traffic going to any one person’s printer.

Quinn Damerell: Exactly. The great thing is:

  1. You don’t have to keep it secured because that’s on the provider.
  2. It’s a lot easier to set up. One thing I really focus on with OctoEverywhere is trying to make it easy to set up. And with OctoPrint, it has such a powerful plug-in system, that it’s possible.

AI for Print Failure Detection

Jonathan Levi: You guys just launched Gadget AI, and I’m really curious about that. Less because of the AI building, but I’m very curious because you’re accumulating massive amounts of knowledge about print failures.

I want to hear your thoughts about print failure detection. I feel like spaghetti detection is one of those kinds of band-aid solutions in that we’re going to have a much better solution in the future.

And I know Prusa talked about failure detection with being able to detect the amount of back pressure in the next treater. I’m curious, one, what does it take to detect failures and how is gadget learning and developing, and also do you feel like this is a temporary solution?

Quinn Damerell: I think if you have a system that can compute enough power over time, maybe it can realize that there’s an issue, but I don’t think it’ll be a hundred percent the same way that like webcam-based detection is a hundred percent.

That said, there’s a lot of research in image classification for AI, which is basically the generic of doing all this And the way that all these systems work and that industry as a whole is really rapidly advancing and becoming way more powerful in the tooling and everything.

So, I mean, all of the studio printing stuff will just ride along with that.

Now about Gadget AI. So, like I said, I work on side projects just because I really enjoy them and AI was something I really thought was so cool.

I didn’t know anything about it. And I started Gadget AI almost about a year ago now, and I knew nothing about AI, so I dove in. There’s an awesome website that talks about the fundamental of AI, the concepts of math beneath it, which when you’re implementing a system you don’t really need to know.

You just need the high-level stuff. But it’s so cool. It has interactive visuals and all kinds of stuff. So, I dove in AI and learned about it all.

So gadget AI is built on the latest way of doing classification, which is what this is.

And yeah, the other thing about AI is it’s all about data. You just have to have a ton of data and train these things based on your data.

I have over a hundred thousand images that that gadget AI uses, and it grows more and more every day as people submit new data into it and it learns off all these images.

And the system looks at a new image and it’s like, this is completely unique. I’ve never seen anything like this before, because the SKUs are a little different. The hue is a little different. The color is a little different. The filament’s a different color, the bed is in in a different position.

Whatever it is, they’re all unique. And the AI’s job is to say, is this image closer to this image than like this exact image that’s spaghetti or this exact image?