13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] 3D프린터

  • [오픈소스] Bambu Lab AGPL 논란 심층 분석: 3D프린터 사용자에게 미치는 영향

    [오픈소스] Bambu Lab AGPL 논란 심층 분석: 3D프린터 사용자에게 미치는 영향

    [오픈소스] Bambu Lab AGPL 논란 심층 분석: 3D프린터 사용자에게 미치는 영향

    안녕하세요, 13년차 인프라 엔지니어이자 홈랩 운영자, 13년차의 서버실 주인장입니다.

    최근 3D 프린팅 커뮤니티에서 Bambu Lab(밤부 랩)이라는 이름이 뜨거운 감자였습니다. 특히 AGPL(Affero General Public License) 라이선스 논란은 저처럼 오픈소스 생태계에 관심이 많은 사람들에게는 그냥 지나칠 수 없는 문제였거든요. 처음 밤부 랩이 등장했을 때, 그들의 혁신적인 제품과 성능에 저도 꽤 놀랐어요. ‘와, 이제 3D 프린터도 이렇게 편하게 쓸 수 있구나!’ 싶었죠. 그런데 얼마 지나지 않아 오픈소스 커뮤니티에서 심상치 않은 이야기들이 들려오기 시작하더라고요.

    오늘은 이 Bambu Lab AGPL 논란이 도대체 무엇이고, 왜 중요한지, 그리고 우리 3D 프린터 사용자들과 오픈소스 커뮤니티에 어떤 영향을 미치는지 13년차 인프라 엔지니어의 시각에서 한번 깊이 파헤쳐보려고 합니다. 사실 저도 처음엔 이게 뭔가 싶었는데, 조사해보니 그 복잡한 속사정이 보이더라고요. 함께 알아보시죠!

    오픈소스 프로젝트와 상업적 3D프린터 제품 간의 복잡한 관계를 보여주는 다이어그램

    오픈소스 프로젝트와 상업적 3D프린터 제품 간의 복잡한 관계를 보여주는 다이어그램

    AGPL, 그것이 알고싶다: 오픈소스 라이선스의 핵심

    이 논란을 제대로 이해하려면 먼저 AGPL(Affero General Public License)이라는 라이선스가 뭔지부터 알아야 해요. 쉽게 말해, AGPL은 GPL(General Public License)의 강화 버전이라고 생각하면 편합니다.

    • GPL(General Public License): 이 라이선스가 적용된 소프트웨어를 수정해서 배포할 경우, 수정된 소스 코드도 공개해야 한다는 의무가 있어요.
    • AGPL(Affero General Public License): GPL과 기본적으로 같지만, 한 가지 중요한 차이가 있거든요. 바로 네트워크를 통해 소프트웨어를 서비스하는 경우에도 해당 소프트웨어의 소스 코드를 공개해야 한다는 조항이에요. 즉, 웹 서비스나 클라우드 서비스처럼 네트워크를 통해 소프트웨어를 사용자가 이용하게 되면, 내부적으로 수정한 코드라도 공개해야 하는 강력한 오픈소스 정신을 담고 있는 라이선스인 거죠.

    이게 왜 중요할까요? 많은 기업들이 오픈소스 소프트웨어를 가져다 자사 제품이나 서비스에 활용해요. 이때 GPL이나 AGPL 같은 라이선스 규정을 잘 지키는 것이 오픈소스 생태계를 유지하는 핵심이거든요. Bambu Lab은 OrcaSlicer(오르카 슬라이서)라는 인기 있는 오픈소스 3D 프린터 슬라이서 소프트웨어를 기반으로 Bambu Studio(밤부 스튜디오)를 만들었어요. 그런데 이 OrcaSlicer가 바로 AGPL 라이선스를 따르고 있었던 거예요. 여기서부터 논란의 불씨가 지펴지기 시작한 거죠. 💡

    논란의 시작과 전개: 무슨 일이 있었나?

    Bambu Lab은 3D 프린터 시장에 혜성처럼 등장해서 빠른 속도와 높은 품질로 많은 인기를 얻었어요. 저도 한때 P1P 같은 모델을 보면서 ‘이거 하나 들일까?’ 고민했었죠. 그들의 자체 슬라이서 소프트웨어인 Bambu Studio도 사용자 친화적인 인터페이스와 강력한 기능으로 호평을 받았습니다.

    그런데 문제는 Bambu Studio가 OrcaSlicer의 코드를 가져와서 개발되었다는 사실이었어요. OrcaSlicer는 PrusaSlicer에서 포크(fork)된 프로젝트이고, PrusaSlicer 역시 AGPL 라이선스를 따르고 있었거든요. 즉, Bambu Studio는 AGPL 라이선스가 적용된 코드를 기반으로 만들어진 파생(derived) 소프트웨어였던 거예요.

    AGPL의 규정에 따르면, Bambu Lab은 Bambu Studio의 수정된 소스 코드를 공개해야 했어요. 하지만 초기에는 이 부분이 제대로 이루어지지 않았다는 커뮤니티의 지적이 빗발쳤습니다. 특히 Bambu Lab의 클라우드 서비스와 프린터 펌웨어 업데이트 방식 등이 AGPL 규정을 회피하려는 것 아니냐는 의혹까지 제기되었죠. 오픈소스 커뮤니티는 즉각적으로 불만을 표출했고, Bambu Lab에게 투명한 소스 코드 공개를 요구하기 시작했습니다. ⚠️

    AGPL (Affero General Public License)의 핵심 개념과 파생 소프트웨어에 미치는 영향을 시각적으로 표현한 그림

    AGPL (Affero General Public License)의 핵심 개념과 파생 소프트웨어에 미치는 영향을 시각적으로 표현한 그림

    AGPL 위반 문제와 3D프린터 보안 우려

    AGPL 위반 논란은 단순히 라이선스 준수 여부를 넘어 더 큰 문제를 야기했어요. 바로 3D프린터 보안(3D Printer Security)과 사용자 데이터 프라이버시 문제였거든요. Bambu Lab 프린터는 클라우드 연결 기능을 적극적으로 활용합니다. 원격 출력, 모니터링, 펌웨어 업데이트 등이 모두 클라우드를 통해 이루어지죠.

    만약 Bambu Lab이 AGPL 규정을 제대로 지키지 않고 소스 코드를 비공개한다면, 어떤 문제가 발생할까요? 저 같은 인프라 엔지니어 입장에서는 몇 가지 우려가 들더라고요.

    1. 투명성 부족: 소스 코드가 공개되지 않으면, 어떤 데이터가 수집되고 어떻게 처리되는지 알 수 없어요. 사용자의 개인 정보나 출력물 정보가 어떻게 활용되는지 불확실해지는 거죠.
    2. 보안 취약점 은폐 가능성: 비공개 소스 코드는 외부 보안 전문가들의 검증을 받기 어렵거든요. 만약 펌웨어(firmware)나 클라우드 서비스에 심각한 보안 취약점(vulnerability)이 존재하더라도, 이를 발견하고 개선하기가 훨씬 어려워집니다. 이건 정말 끔찍한 시나리오잖아요?
    3. 벤더 종속성(Vendor Lock-in): 오픈소스는 사용자가 자유롭게 소프트웨어를 수정하고 개선할 수 있게 해줘요. 하지만 소스 코드가 비공개되면, 사용자는 벤더가 제공하는 기능과 업데이트에만 의존하게 되고, 이는 장기적으로 사용자 경험과 선택권을 제한할 수 있어요.

    사실 홈랩을 운영하면서 가장 중요하게 생각하는 것 중 하나가 바로 제어(Control)와 투명성(Transparency)이거든요. 내가 쓰는 시스템이 어떻게 작동하는지, 내 데이터가 어떻게 처리되는지 알 수 없다는 건 엔지니어로서 받아들이기 힘든 부분입니다.

    Bambu Lab과 같은 3D프린터의 클라우드 연결 및 펌웨어 관련 보안 취약점과 데이터 프라이버시 위험을 경고하는 대시보드 이미지

    Bambu Lab과 같은 3D프린터의 클라우드 연결 및 펌웨어 관련 보안 취약점과 데이터 프라이버시 위험을 경고하는 대시보드 이미지

    Bambu Lab의 대응과 커뮤니티의 반응

    커뮤니티의 거센 비판에 직면하자, Bambu Lab은 여러 차례 공식 입장을 발표하고 대응에 나섰어요. 처음에는 다소 미온적이라는 평가도 있었지만, 결국에는 AGPL 라이선스 준수를 위한 조치들을 취하겠다고 약속했습니다. 주요 대응 내용은 다음과 같아요.

    • 소스 코드 공개 확대: Bambu Studio의 AGPL 라이선스 적용 부분에 대한 소스 코드를 추가적으로 공개했습니다.
    • OrcaSlicer 커뮤니티 기여: OrcaSlicer 개발에 적극적으로 기여하겠다고 밝히며, 커뮤니티와의 관계 개선을 시도했어요.
    • 오픈소스 정책 명확화: 향후 오픈소스 라이선스 정책을 더욱 투명하게 운영하겠다고 약속했습니다.

    이러한 Bambu Lab의 노력에 대해 커뮤니티의 반응은 엇갈렸어요. 일부는 긍정적으로 평가하며 ‘이제라도 제대로 대응해서 다행이다’라고 했지만, 다른 한편에서는 ‘너무 늦었고, 신뢰를 잃었다’는 비판적인 시각도 여전했습니다. 특히, 펌웨어와 클라우드 서비스의 완전한 투명성 확보에 대해서는 여전히 의문을 제기하는 목소리가 많더라고요. ✅

    인프라 엔지니어의 시사점: 오픈소스 생태계의 중요성

    이번 Bambu Lab AGPL 논란은 저에게도 많은 점을 생각하게 했어요. 특히 기업이 오픈소스 소프트웨어를 활용할 때 어떤 자세를 가져야 하는지 명확히 보여주는 사례라고 생각합니다.

    오픈소스는 단순한 무료 소프트웨어가 아니에요. 수많은 개발자들의 노력과 협업으로 만들어진 공동의 자산이자, 혁신을 이끄는 중요한 동력이거든요. 기업이 오픈소스의 혜택을 누리면서도 그에 따르는 의무를 소홀히 한다면, 장기적으로는 오픈소스 생태계 전체가 위협받을 수 있어요. 이건 결국 모두에게 손해로 돌아올 수밖에 없습니다.

    제가 홈랩을 운영하면서도 리눅스(Linux), 쿠버네티스(Kubernetes), 도커(Docker) 같은 오픈소스 기술들을 적극적으로 활용하는 이유도 여기에 있어요. 투명하고, 커스터마이징이 가능하며, 커뮤니티의 지원을 받을 수 있다는 점이 정말 매력적이거든요. 이번 논란을 통해 오픈소스 정신(Open Source Spirit)과 라이선스 준수(License Compliance)의 중요성을 다시 한번 깨달았습니다. 💡

    오픈소스 기반 3D프린터와 상업용 3D프린터 모델의 장단점 및 특징을 비교하는 인포그래픽

    오픈소스 기반 3D프린터와 상업용 3D프린터 모델의 장단점 및 특징을 비교하는 인포그래픽

    마무리: 오픈소스와 함께 성장하는 미래

    결론적으로 Bambu Lab AGPL 논란은 3D 프린팅 산업과 오픈소스 커뮤니티에 중요한 경종을 울렸어요. 기업들은 오픈소스의 혜택을 누리는 만큼, 그에 따르는 사회적, 법적 책임을 다해야 한다는 것을 보여준 사례죠. 그리고 우리 사용자들도 사용하는 제품의 배경 기술과 라이선스에 대해 더 관심을 가져야 한다는 점을 일깨워주었습니다.

    아직 Bambu Lab이 모든 의혹을 완전히 해소했다고 보기는 어렵습니다. 하지만 이번 일을 계기로 더욱 투명하고 책임감 있는 기업으로 발전하기를 기대해 봐요. 개인적으로는 앞으로도 오픈소스 기술의 흐름을 주시하면서, 우리 홈랩에도 적용할 수 있는 재미있는 프로젝트들을 계속 찾아볼 생각입니다. 혹시 여러분도 3D 프린터나 오픈소스 라이선스에 대해 궁금한 점이 있다면 언제든지 댓글로 남겨주세요! 다음번에는 또 다른 삽질 경험과 해결 과정으로 돌아오겠습니다. 🎉

  • [3D Printer] 3D 프린터 슬라이서 비교: Cura, PrusaSlicer, Orca Slicer 장단점 분석

    [3D Printer] 3D 프린터 슬라이서 비교: Cura, PrusaSlicer, Orca Slicer 장단점 분석

    3D 프린터 슬라이서 비교: Cura, PrusaSlicer, Orca Slicer 장단점 분석

    안녕하세요, 13년차 인프라 엔지니어이자 홈랩 운영자입니다. 3D 프린터 새로 들이셨거나, 기존 슬라이서가 영 마음에 안 드시는 분들 계시죠? 3D 프린팅에서 슬라이서는 정말 중요한 역할을 하거든요. 3D 모델을 실제 출력물로 만들어주는 마법 같은 소프트웨어라고 할 수 있습니다.

    저도 처음 3D 프린팅을 시작했을 때는 Cura만 썼었는데, 홈랩에서 다양한 프린터들을 돌려보면서 여러 슬라이서를 써보게 되더라고요. 각 슬라이서마다 장단점과 특징이 너무 달라서, 어떤 슬라이서를 선택하느냐에 따라 출력물의 퀄리티와 작업 효율이 확 달라지는 걸 직접 체험했습니다. 삽질도 꽤 많이 했죠 ㅎㅎ.

    오늘은 3D 프린팅 커뮤니티에서 가장 많이 회자되는 Cura, PrusaSlicer, Orca Slicer를 직접 써보면서 느낀 장단점을 솔직하게 정리해봤습니다. 여러분의 3D 프린팅 라이프에 도움이 되었으면 좋겠어요.

    3D 프린팅 워크플로우를 보여주는 다이어그램입니다. 3D 모델링 소프트웨어, 슬라이서 소프트웨어, 그리고 3D 프린터의 관계를 시각적으로 보여줍니다.

    3D 프린터 슬라이서, 도대체 뭘 하는 친구일까요?

    먼저 슬라이서(Slicer)가 정확히 무엇인지부터 알아볼까요? 슬라이서는 3D 모델 파일(보통 STL이나 OBJ)을 수많은 얇은 층으로 잘라서, 3D 프린터가 알아듣는 G-code로 변환해주는 소프트웨어입니다. 이 G-code 안에는 프린터 헤드가 어떻게 움직여야 하는지, 필라멘트를 얼마나 압출해야 하는지, 온도는 몇 도로 설정해야 하는지 등 모든 출력 정보가 담겨 있어요.

    쉽게 말해, 3D 모델이라는 설계도를 가지고 3D 프린터라는 요리사가 프린트할 재료와 레시피(Layer height, Infill, Supports, Speed 등)를 정해주는 거죠. 이 레시피가 얼마나 정교하고 효율적이냐에 따라 출력물의 품질과 출력 시간이 크게 달라집니다. 그래서 슬라이서 선택과 설정은 3D 프린팅 성공의 절반 이상을 차지한다고 해도 과언이 아닙니다.

    1. 3D 프린팅의 표준, Cura

    ✅ 장점

    • 압도적인 사용자 수와 커뮤니티: 가장 많은 사람들이 사용하고 있어서 정보를 찾거나 문제를 해결하기가 쉽습니다. 초보자에게는 정말 든든한 친구죠.
    • 다양한 프린터 지원: 거의 모든 FDM 3D 프린터를 지원하며, 기본 프로파일도 잘 갖춰져 있습니다.
    • 직관적인 UI와 쉬운 접근성: 처음 접하는 사람도 쉽게 사용할 수 있도록 인터페이스가 잘 설계되어 있습니다.
    • 꾸준한 업데이트: 지속적으로 새로운 기능이 추가되고 버그가 수정됩니다.

    ⚠️ 단점

    • 너무 많은 설정 옵션: 초보자에게는 장점이지만, 때로는 많은 옵션이 오히려 복잡하게 느껴질 수 있습니다.
    • 고급 기능의 상대적 부족: PrusaSlicer나 Orca Slicer에 비해 Input Shaper나 Pressure Advance 같은 고급 튜닝 기능은 부족하거나 구현이 복잡할 수 있습니다.

    💡 제가 직접 써보니…

    처음 3D 프린팅을 시작했을 때부터 쭉 써왔던 슬라이서입니다. Ender 3 같은 보급형 프린터와 궁합이 정말 좋았어요. 업데이트도 꾸준하고, 설정 하나하나 만져보는 재미가 있었죠. Cura는 범용성이 좋고 사용자층이 넓어서, 처음 3D 프린팅을 시작하는 분들이나 다양한 프린터를 사용하시는 분들께는 여전히 탁월한 선택입니다.

    2. 정교함의 대명사, PrusaSlicer

    ✅ 장점

    • Prusa 프린터에 최적화: Prusa Research에서 직접 개발했기 때문에 Prusa 프린터와의 시너지가 최고입니다.
    • 강력한 고급 기능: Input Shaper, Pressure Advance, Organic Supports 등 정밀 출력을 위한 고급 기능들을 잘 지원합니다.
    • 가변 레이어 높이(Variable Layer Height): 출력물의 특정 부분만 레이어 높이를 조절하여 디테일과 속도를 동시에 잡을 수 있습니다.
    • 깔끔하고 효율적인 인터페이스: Cura보다 설정이 체계적으로 정리되어 있어 익숙해지면 작업 속도가 빠릅니다.

    ⚠️ 단점

    • Prusa 프린터 외 설정의 번거로움: 다른 브랜드 프린터의 프로파일을 설정하려면 수동 작업이 필요할 수 있습니다.
    • Cura보다 높은 학습 곡선: 처음에는 기능이 많아서 다소 어렵게 느껴질 수 있습니다.

    💡 제가 직접 써보니…

    Prusa MK3S를 들이면서 본격적으로 PrusaSlicer를 사용하기 시작했는데, 정말 감탄했습니다. 특히 제가 출력하는 정밀 부품들에서 PrusaSlicer의 진가가 발휘되더라고요. 미세한 설정 하나하나가 출력물 퀄리티에 미치는 영향이 커서, 이것저것 실험해보는 재미가 쏠쏠했습니다. 정교함과 효율성을 중시하는 분들께 강력 추천합니다.

    PrusaSlicer의 복잡하지만 강력한 고급 설정 패널입니다. Input Shaper, Pressure Advance 등 다양한 튜닝 옵션이 보입니다.

    3. 떠오르는 신성, Orca Slicer

    ✅ 장점

    • Bambu Lab Slicer 기반 + 강력한 캘리브레이션: Bambu Lab Slicer에서 파생되었으며, 압출량, 압력 보상, 플로우 레이트 등 중요한 캘리브레이션 기능을 위자드 형태로 제공하여 삽질 시간을 획기적으로 줄여줍니다.
    • 멀티 컬러/멀티 재료 프린팅 지원: AMS(Automatic Material System) 같은 멀티 필라멘트 시스템을 강력하게 지원합니다.
    • 빠른 개발 속도와 활발한 커뮤니티: 오픈 소스 프로젝트로 빠르게 발전하고 있으며, 사용자 커뮤니티도 점차 커지고 있습니다.
    • 다양한 벤더 프린터 지원: Bambu Lab 프린터는 물론, Creality, Anycubic 등 다양한 프린터 프로파일을 제공합니다.

    ⚠️ 단점

    • 상대적으로 신생: Cura나 PrusaSlicer에 비해 역사가 짧아 아직은 일부 기능의 안정화가 필요할 수 있습니다.
    • 학습 자료 부족: 아직은 상대적으로 자료가 적을 수 있습니다.

    💡 제가 직접 써보니…

    Bambu Lab P1P를 영입하고 나서 Orca Slicer를 처음 써봤습니다. 솔직히 처음에 ‘또 다른 슬라이서인가?’ 싶었는데, 캘리브레이션 위자드를 보고 깜짝 놀랐어요. 압출량, 온도 타워, 압력 보상 같은 중요한 값들을 자동으로 테스트하고 적용해주더라고요! 🔥 보통 이런 캘리브레이션은 수동으로 하면 시간도 오래 걸리고 시행착오도 많은데, Orca Slicer 덕분에 삽질 시간을 확 줄여줘서 정말 편하더라고요. 홈랩에서 여러 프린터를 돌리다 보니, 이런 자동화 기능이 얼마나 소중한지 새삼 깨달았습니다. 요즘 핫한 슬라이서죠? Bambu Lab 프린터 사용하시는 분들은 필수로 써보셔야 합니다.

    3D 프린터 슬라이서 비교: Cura vs PrusaSlicer vs Orca Slicer

    세 가지 슬라이서의 특징을 표로 정리해봤습니다. 자신에게 맞는 슬라이서를 선택하는 데 도움이 되었으면 좋겠습니다.

    특징 Cura PrusaSlicer Orca Slicer
    쉬운 사용성 초보자 친화적, 직관적 UI 중급 사용자, 체계적 중급 이상, 캘리브레이션 위자드
    고급 기능 기본 기능 충실, 플러그인 확장 Input Shaper, Pressure Advance, 가변 레이어 강력한 캘리브레이션, 멀티 재료 지원
    커뮤니티 가장 활발하고 방대함 활발하고 기술적 깊이 있음 빠르게 성장 중, 전문적
    지원 프린터 거의 모든 FDM 프린터 Prusa 프린터 최적화, 기타 지원 Bambu Lab 최적화, 다양한 FDM 지원
    주요 특징 범용성, 다양한 플러그인 정밀 출력, 안정성, Prusa 생태계 자동 캘리브레이션, 멀티 컬러/재료
    추천 사용자 3D 프린팅 입문자, 범용 사용자 Prusa 프린터 사용자, 정밀 출력 중시 Bambu Lab 프린터 사용자, 효율성 중시

    세 가지 인기 3D 프린터 슬라이서의 핵심 기능과 장단점을 한눈에 비교할 수 있는 표입니다.

    ⚠️ 3D 프린터 슬라이서 사용 시 주의사항 및 트러블슈팅 팁

    어떤 슬라이서를 쓰든, 몇 가지 공통적으로 주의해야 할 점들이 있습니다. 제 삽질 경험을 바탕으로 몇 가지 팁을 나눠볼게요.

    1. 슬라이서 설정은 프린터마다 다릅니다!
      ⚠️ 다른 프린터 프로파일을 그대로 가져다 쓰면 망합니다. 아무리 좋은 슬라이서라도 프린터 기종, 노즐 직경, 필라멘트 종류에 따라 최적의 설정값이 달라지거든요. 꼭 본인이 사용하는 프린터에 맞는 프로파일을 사용하고, 필요하다면 직접 튜닝해야 합니다.
    2. 캘리브레이션(Calibration)의 중요성
      💡 압출량(Extrusion Multiplier), 온도 타워, 압력 보상(Pressure Advance) 등 기본적인 캘리브레이션은 필수입니다. 이걸 대충하면 아무리 좋은 슬라이서도 출력물 퀄리티를 보장할 수 없어요. 특히 Orca Slicer의 캘리브레이션 위자드는 정말 강력하니 꼭 활용해보세요.
    3. 펌웨어(Firmware)와의 호환성 확인
      간혹 슬라이서 버전이 너무 높거나 낮으면 프린터 펌웨어와 충돌하는 경우도 있더라고요. 최신 펌웨어와 슬라이서 조합을 항상 확인하고, 문제가 생긴다면 펌웨어 업데이트나 슬라이서 버전을 맞춰보는 것도 방법입니다.
    4. G-code 미리보기(Preview) 습관화
      출력 전에 항상 G-code 미리보기로 이상한 부분이 없는지 확인하는 습관을 들이세요. 저도 가끔 서포트가 이상하게 붙거나, 벽이 얇게 나오는 경우를 미리 발견해서 필라멘트 낭비와 시간을 아꼈습니다.

    나에게 맞는 3D 프린터 슬라이서, 어떻게 선택할까?

    결국 어떤 슬라이서를 선택할지는 본인의 프린터, 출력 목적, 그리고 얼마나 ‘삽질’할 의향이 있는지에 따라 달라진다고 봅니다.

    • 3D 프린팅 입문자이거나 범용적인 사용을 원한다면?
      Cura가 가장 좋은 시작점입니다. 넓은 사용자층과 풍부한 자료는 초보자의 든든한 지원군이 될 거예요.
    • Prusa 프린터를 사용하고 있거나, 정밀하고 고품질의 출력을 중시한다면?
      PrusaSlicer는 최적의 선택입니다. 고급 기능을 활용해 출력물의 퀄리티를 한 단계 끌어올릴 수 있습니다.
    • Bambu Lab 프린터를 사용 중이거나, 캘리브레이션 효율성과 멀티 컬러/재료 출력을 중요하게 생각한다면?
      Orca Slicer는 필수입니다. 자동 캘리브레이션 기능은 시간 절약에 정말 큰 도움이 됩니다.

    마무리하며: 슬라이서는 결국 도구일 뿐!

    오늘은 3D 프린팅의 핵심인 슬라이서, Cura, PrusaSlicer, Orca Slicer 세 가지를 비교해봤습니다. 각각의 장단점이 명확해서, 자신의 상황에 맞는 슬라이서를 선택하는 것이 정말 중요합니다.

    하지만 결국 슬라이서는 도구일 뿐이라는 점을 잊지 마세요. 어떤 슬라이서를 쓰든, 꼼꼼한 설정과 꾸준한 캘리브레이션, 그리고 무엇보다 직접 만져보고 실험해보는 경험이 가장 중요합니다. 저도 아직까지도 새로운 설정을 찾고 실험하며 배우고 있거든요. 혹시 아직 어떤 슬라이서를 써야 할지 고민이시라면, 제가 겪었던 경험들이 작은 도움이 되었으면 좋겠습니다. ✅

    다음번에는 각 슬라이서별 핵심 설정 팁에 대해 더 깊게 다뤄볼까 합니다. 기대해주세요!

    성공적으로 3D 프린팅된 복잡한 모델과 그 모델을 슬라이싱하는 소프트웨어 인터페이스가 함께 표시되어, 슬라이서의 중요성을 강조합니다.

  • [3D Printer] 3D프린터 베드 레벨링 완벽 가이드: 출력 실패 줄이는 핵심 설정

    [3D Printer] 3D프린터 베드 레벨링 완벽 가이드: 출력 실패 줄이는 핵심 설정

    3D프린터 베드 레벨링 완벽 가이드: 출력 실패 줄이는 핵심 설정

    안녕하세요, 13년차 서버실 지킴이, 그리고 홈랩에서 다양한 장비들을 굴려보는 인프라 엔지니어입니다. 오늘은 3D프린터 사용자라면 한 번쯤은 겪어봤을, 아니 어쩌면 매일매일 씨름하고 있을 바로 그 문제! 3D프린터 베드 레벨링(Bed Leveling)에 대해 이야기해보려고 합니다. 3D프린터 출력 실패의 가장 큰 원인 중 하나가 바로 이 베드 레벨링이 제대로 안 되어 베드 안착(Bed Adhesion)에 문제가 생기는 거거든요. 저도 처음엔 ‘이게 뭐야, 그냥 인쇄 버튼 누르면 되는 거 아니야?’ 했다가 수많은 출력물을 쓰레기통으로 보냈던 경험이 있습니다. 이 삽질을 통해 얻은 노하우를 오늘 아낌없이 풀어볼게요.

    베드에서 떨어져 실패한 3D프린터 출력물과 엉킨 필라멘트

    3D 프린터 출력 실패의 흔한 모습, 베드 레벨링이 잘못되면 이렇게 됩니다.

    베드 레벨링, 왜 그렇게 중요할까요? (핵심 개념 이해하기)

    쉽게 말해, 베드 레벨링(Bed Leveling)은 3D프린터의 노즐(Nozzle)과 출력물이 안착될 베드(Bed) 사이의 거리를 균일하게 맞춰주는 작업입니다. 이 거리가 너무 멀면 출력물이 베드에 제대로 붙지 못하고, 너무 가까우면 노즐이 베드를 긁거나 필라멘트가 제대로 압출되지 못하죠. 결국, 첫 번째 레이어(First Layer)가 안정적으로 베드에 안착(Adhesion)하는 것이 3D프린팅 성공의 8할이라고 봐도 무방할 정도로 중요하거든요. 첫 단추를 잘 꿰어야 옷이 완성되듯이 말이죠.

    베드 레벨링은 크게 두 가지 방식으로 나뉩니다.

    • 수동 레벨링(Manual Leveling): 사용자가 직접 베드 아래의 조절 나사를 돌려 수평을 맞추는 방식입니다. 가장 기본적인 방법이죠.
    • 오토 레벨링(Auto Leveling): 센서(예: BLTouch, CR-Touch 등)를 이용해 베드의 높이 편차를 자동으로 측정하고, 소프트웨어적으로 보정해주는 방식입니다. 사용자 편의성이 훨씬 좋지만, 초기 설정은 필요해요.

    실전 구현: 꼼꼼한 수동 레벨링 따라하기

    대부분의 3D프린터는 처음 세팅할 때 수동 레벨링을 먼저 해줘야 합니다. 저는 Ender 3나 Anycubic Vyper 같은 프린터들을 처음 사용할 때 이 과정을 거쳤는데요, 생각보다 어렵지 않으니 차근차근 따라 해보세요.

    준비물:

    • 일반 A4 용지 한 장 (또는 0.1mm 필러 게이지(Feeler Gauge))
    • 청결한 프린터 베드 (알코올 등으로 닦아주면 좋아요)
    1. 베드와 노즐 예열(Preheat): 프린팅 시 설정할 온도로 노즐과 베드를 예열해주세요. 금속은 온도가 변하면 미세하게 팽창/수축하므로, 실제 작업 환경과 동일하게 맞춰주는 것이 중요합니다.
    2. 노즐 초기 위치 이동: 프린터 메뉴에서 ‘Auto Home‘ 또는 ‘Home All Axes’를 실행하여 노즐을 원점(0,0,0)으로 이동시킵니다.
    3. 베드 코너로 노즐 이동: 프린터 메뉴나 G-code(G0 X20 Y20 Z0 같은)를 이용해 노즐을 베드의 왼쪽 하단 코너(corner) 근처로 이동시킵니다. 너무 끝으로 가면 클립에 걸릴 수 있으니 살짝 안쪽으로 이동하는 것이 좋아요.
    4. A4 용지로 간격 확인: 노즐과 베드 사이에 A4 용지를 넣고 움직여봅니다. 이때 종이가 약간의 저항(slight drag)을 느끼며 움직여야 합니다. 너무 뻑뻑하면 노즐이 너무 낮은 것이고, 너무 헐거우면 노즐이 너무 높은 것입니다.
    5. 베드 조절 나사 조정: 해당 코너 아래에 있는 베드 조절 나사를 돌려 높이를 맞춰줍니다. 노즐이 낮으면 나사를 시계 반대 방향으로 돌려 베드를 낮추고, 노즐이 높으면 시계 방향으로 돌려 베드를 높입니다.
    6. 나머지 코너 반복: 노즐을 오른쪽 하단, 오른쪽 상단, 왼쪽 상단 코너 순서로 이동시키면서 4~5단계를 반복합니다.
    7. 중앙 확인 및 재확인: 네 코너를 모두 맞춘 후에는 베드 중앙(center)에서도 동일하게 간격을 확인해줍니다. 그리고 다시 처음 코너부터 한 바퀴 더 반복하여 미세 조정을 해주는 것이 좋습니다. 한 코너를 맞추면 다른 코너에 영향을 줄 수 있거든요.
    3D프린터 노즐과 베드 사이에 A4 용지를 넣고 베드 레벨링 나사를 조절하는 손

    수동 레벨링의 핵심, A4 용지를 이용한 간격 조절입니다. 너무 빡빡하지도, 너무 헐겁지도 않게!

    실전 구현: 똑똑한 오토 레벨링 활용하기

    최근에는 오토 레벨링(Auto Leveling) 기능이 있는 프린터가 많아서 훨씬 편리해졌습니다. 저도 BLTouch나 CR-Touch 같은 센서가 달린 프린터를 써보고는 ‘와, 이거 진짜 편하네!’ 싶었거든요. 하지만 오토 레벨링도 마법은 아닙니다. 기본적인 수동 레벨링이 어느 정도 되어 있어야 더 정확한 보정을 해주죠.

    1. 센서 장착 및 펌웨어 설정: 오토 레벨링 센서(예: BLTouch)를 장착하고, 해당 센서에 맞는 펌웨어(firmware)를 프린터에 업로드해야 하는데, 이 과정은 프린터 모델마다 조금씩 달라서 해당 매뉴얼을 꼼꼼히 확인하는 게 중요합니다.
    2. Z-Offset 설정: 센서는 베드의 높이를 측정하지만, 실제 노즐 끝과의 거리는 다르죠. 이 차이를 Z-Offset(Z 오프셋)으로 설정해줘야 하는데, 노즐을 베드에 거의 닿게 내린 후 A4 용지 한 장이 간신히 들어갈 정도로 Z-Offset 값을 조절하면 됩니다. 이 값이 정말 중요한데, 이게 조금만 벗어나도 출력 결과가 확 달라진다니까요!
    3. 베드 메시(Bed Mesh) 생성: 프린터 메뉴에서 ‘Auto Level’ 또는 ‘Measure Bed’ 기능을 실행합니다. 센서가 베드의 여러 지점을 자동으로 측정하여 베드 메시(Bed Mesh), 즉 베드의 높이 지도를 생성합니다.
    4. 메시 저장 및 활성화: 생성된 베드 메시를 저장하고, 프린팅 시 이 메시를 활성화하는 G-code(예: G28 후 G29 또는 M420 S1)를 시작 G-code에 추가해줍니다.

    💡 팁: 오토 레벨링 센서를 사용하더라도, 베드 조절 나사를 너무 느슨하게 두지 말고 어느 정도 수평을 맞춰두는 것이 좋습니다. 센서가 보정할 수 있는 범위에는 한계가 있거든요.

    BLTouch 센서가 3D프린터 베드를 자동으로 측정하며 오토 레벨링하는 모습

    BLTouch 센서가 베드를 꼼꼼히 측정하여 베드 메시를 생성하는 모습입니다.

    ⚠️ 삽질 경험 공유: 흔한 출력 실패 원인과 해결책

    저도 3D프린터 출력 실패를 숱하게 겪으면서 다양한 삽질을 했는데요, 베드 레벨링과 관련하여 가장 많이 겪었던 문제들을 몇 가지 공유해봅니다.

    문제 1: 출력물이 자꾸 베드에서 떨어져요 (Poor Adhesion)

    • 원인: 노즐이 베드에서 너무 높거나, 베드가 오염되었거나, 베드 온도가 너무 낮을 때 발생합니다.
    • 해결책:
      1. 레벨링 재조정: 노즐과 베드 간격이 너무 멀지 않은지 다시 한번 확인합니다. A4 용지가 살짝 저항을 느끼며 움직이는 그 미묘한 간격이 중요합니다.
      2. 베드 청소: 지문, 기름때 등이 베드에 묻어 있으면 접착력이 떨어집니다. 이소프로필 알코올(IPA)이나 따뜻한 물과 주방 세제로 깨끗하게 닦아주세요.
      3. 베드 온도 조절: 사용하는 필라멘트(Filament)에 권장되는 베드 온도를 확인하고 충분히 예열될 시간을 줍니다. PLA는 50~60°C, ABS는 90~110°C 정도가 일반적입니다.
      4. 베드 안착 보조제 사용: 글루 스틱(Glue Stick), 헤어 스프레이(Hair Spray), PEI 시트(PEI Sheet) 등 베드 안착을 돕는 보조제를 사용해보세요. 저는 PEI 시트 위에 글루 스틱을 바르는 조합을 자주 썼는데, 이게 베드 안착에는 최고더라고요.

    문제 2: 첫 레이어가 너무 얇거나 노즐이 베드를 긁어요 (Nozzle Too Low)

    • 원인: 노즐이 베드에 너무 가까워서 필라멘트가 제대로 압출되지 못하거나 노즐이 베드를 긁는 소리가 납니다.
    • 해결책:
      1. 레벨링 재조정: 베드 조절 나사를 시계 방향으로 돌려 베드를 미세하게 낮추거나, Z-Offset 값을 양수(+) 방향으로 조정합니다.
      2. Z-Offset 확인: 오토 레벨링을 사용하는 경우, Z-Offset 값이 정확한지 다시 한번 확인하고 조정이 필요할 수 있습니다.
    노즐 높이에 따른 3D프린터 첫 레이어 비교: 너무 높음, 너무 낮음, 완벽

    잘못된 베드 레벨링으로 인한 첫 레이어의 문제점과 완벽한 첫 레이어의 비교 이미지입니다.

    출력 전 베드 안착 재료들 (Bed Adhesion Materials)

    완벽한 베드 레벨링 후에도 가끔은 출력을 꽉 잡아줄 무언가가 필요할 때가 있습니다. 특히 서포트(Support)가 많은 복잡한 모델이나 수축(Warping)이 심한 재료를 쓸 때 유용하죠. 제가 써본 몇 가지를 소개해드릴게요.

    • 글루 스틱 (Glue Stick): 가장 흔하고 저렴합니다. 출력 후 물로 쉽게 닦아낼 수 있어요.
    • 헤어 스프레이 (Hair Spray): 접착력이 좋고 넓은 면적에 빠르게 뿌릴 수 있습니다.
    • PEI 시트 (PEI Sheet): 내열성이 좋고 접착력이 뛰어나서 많이 사용됩니다. 저도 PEI 시트를 정말 좋아합니다.
    • 유리 베드 (Glass Bed): 표면이 매우 평평하고 깔끔한 바닥면을 얻을 수 있지만, 접착력은 보조제가 필요할 수 있습니다.

    검증 및 결과: 완벽한 첫 레이어 확인하기

    레벨링이 잘 되었는지 확인하는 가장 좋은 방법은 첫 레이어 테스트 출력(First Layer Test Print)을 해보는 것입니다. 단순한 사각형이나 원 여러 개를 프린팅해서, 각 부분의 필라멘트 안착 상태와 두께를 확인하는 거죠.

    • ✅ 완벽한 첫 레이어: 베드에 필라멘트가 균일하게 잘 붙어 있고, 너무 얇지도 두껍지도 않게 적당히 납작하게 압출되어 보입니다. 옆 라인들과 빈틈없이 매끄럽게 연결되는 것이 이상적입니다.
    • ⚠️ 너무 높은 노즐: 라인들이 서로 연결되지 않고 둥글게 보이며, 베드에서 쉽게 떨어집니다.
    • ⚠️ 너무 낮은 노즐: 라인들이 너무 납작하게 눌리거나, 노즐이 베드를 긁는 소리가 나고, 필라멘트가 제대로 나오지 않아 중간에 끊길 수 있습니다.

    성공적인 첫 레이어를 보면 정말 기분이 좋더라고요! 🎉

    완벽하게 안착된 첫 레이어 테스트 출력물입니다. 이 정도면 출력 성공은 따놓은 당상이죠!

    마무리하며: 꾸준함이 답이다

    오늘은 3D프린터 베드 레벨링에 대해 자세히 알아봤습니다. 3D프린터 출력 실패의 주범인 베드 안착 문제를 해결하는 가장 기본적이면서도 중요한 과정이죠. 처음에는 조금 귀찮고 어렵게 느껴질 수 있지만, 몇 번 해보면 금방 익숙해질 겁니다. 저처럼 삽질을 줄이고 성공적인 출력물을 얻기 위해서는 꾸준한 관리와 레벨링 확인이 필수라는 점, 꼭 기억해주세요!

    다음번에는 3D프린터 출력물의 뒤틀림(Warping)이나 스트링잉(Stringing) 같은 다른 흔한 문제 해결법에 대해서도 다뤄보겠습니다. 혹시 궁금한 점이나 공유하고 싶은 삽질 경험이 있다면 언제든지 댓글로 남겨주세요!

  • [3D Printer] OctoPrint 완벽 가이드: 3D 프린터 원격 제어 및 모니터링 설정

    3D 프린터 옆에 계속 붙어 있어야 했던 그 시절

    홈랩에 3D 프린터를 들인 지 얼마 안 됐을 때 얘기인데요. 처음엔 정말 신기해서 출력 내내 옆에서 지켜봤거든요. 근데 현실은 긴 출력물은 6시간, 길면 12시간씩 걸리잖아요. 그걸 매번 옆에서 볼 수도 없고, 그렇다고 자리 비웠다가 필라멘트 엉켜서 출력 실패하면… 그 허탈감이란. 😅

    그러다 알게 된 게 바로 OctoPrint입니다. 처음 들었을 때 “이게 뭐지, 문어 인쇄?” 했는데 막상 써보니까 3D 프린터 생활이 완전히 바뀌더라고요. 이 글에서는 OctoPrint 설치부터 3D 프린터 원격 제어, 모니터링 설정까지 직접 구축하면서 겪은 삽질과 노하우를 공유해 드릴게요.

    ▲ OctoPrint 전체 구성도: 라즈베리파이가 3D 프린터와 PC/스마트폰을 연결하는 허브 역할을 합니다.

    OctoPrint란? 3D 프린터 원격 제어의 핵심

    OctoPrint는 3D 프린터를 웹 브라우저로 원격 제어하고 모니터링할 수 있게 해주는 오픈소스 소프트웨어예요. 쉽게 말하면, 3D 프린터에 스마트 두뇌를 달아주는 거죠.

    보통 라즈베리파이(Raspberry Pi)에 설치해서 사용하는데, 라즈베리파이가 3D 프린터 옆에 항상 켜져 있으면서 USB로 프린터와 연결되고, 우리는 어디서든 웹 브라우저로 접속해서 출력을 시작하거나 멈추거나, 카메라로 실시간 확인을 할 수 있는 구조랍니다.

    OctoPrint로 할 수 있는 주요 기능

    • ✅ 웹 브라우저에서 G-code 파일 업로드 및 출력 시작/정지
    • ✅ 노즐(Nozzle) 온도, 베드(Bed) 온도 실시간 모니터링 및 제어
    • ✅ 웹캠 연결 시 실시간 영상 스트리밍 및 타임랩스(Timelapse) 촬영
    • ✅ 출력 진행률, 남은 시간 확인
    • ✅ 플러그인(Plugin) 시스템으로 기능 무한 확장
    • ✅ 스마트폰 앱 연동 (OctoEverywhere, OctoApp 등)

    저 처음에 온도 그래프가 실시간으로 그려지는 거 보고 진짜 감탄했었거든요. 인프라 엔지니어 감성으로 보면 Grafana 대시보드 느낌이라 바로 마음에 들었습니다 ㅎㅎ.

    OctoPrint 시작하기: 준비물 체크리스트

    본격적으로 OctoPrint 설치에 들어가기 전에 필요한 것들을 정리했습니다. 제가 직접 사용한 구성 기준이에요.

    항목 권장 사양 비고
    라즈베리파이 Raspberry Pi 3B+ 이상 Pi 4 추천 (웹캠 스트리밍 쾌적)
    MicroSD 카드 8GB 이상 (Class 10) 16GB 이상 권장
    USB 케이블 프린터-라즈베리파이 연결용 데이터 통신 가능한 케이블 필수
    전원 어댑터 라즈베리파이 공식 어댑터 불안정한 전원은 SD 카드 손상 원인
    웹캠 (선택) USB 웹캠 모니터링 강화 시 추가

    ⚠️ 주의: USB 케이블은 충전 전용이 아닌 데이터 통신이 가능한 케이블을 써야 해요. 이걸 몰라서 처음에 한참 헤맸거든요. 케이블 바꾸니까 바로 인식됐습니다.

    OctoPrint 설치: OctoPi 이미지로 빠르게 시작하기

    OctoPrint를 라즈베리파이에 설치하는 가장 쉬운 방법은 OctoPi 이미지를 사용하는 거예요. OctoPi는 라즈베리파이 OS 위에 OctoPrint가 미리 설치된 커스텀 이미지라 처음부터 직접 설치하는 것보다 훨씬 편합니다.

    1단계: OctoPi 이미지 다운로드 및 SD 카드 굽기

    1. 공식 사이트(octoprint.org)에서 OctoPi 이미지를 다운로드합니다.
    2. Raspberry Pi Imager를 실행하세요.
    3. “OS 선택”에서 “Use custom”을 선택하고 다운받은 OctoPi 이미지를 선택합니다.
    4. SD 카드를 선택하고 굽기 전에 ⚙️ 고급 설정을 열어 Wi-Fi와 SSH를 미리 설정해 두세요.

    💡 팁: Raspberry Pi Imager의 고급 설정에서 Wi-Fi SSID와 비밀번호, SSH 활성화, 사용자 이름/비밀번호를 미리 설정해두면 나중에 별도 작업 없이 바로 SSH 접속이 돼요. 이거 모르면 모니터 연결해서 설정해야 하는데, 알면 훨씬 편합니다.

    2단계: Wi-Fi 설정 확인 (선택사항)

    Raspberry Pi Imager에서 미리 설정했다면 이 단계는 건너뛰어도 괜찮아요. 추가 설정이 필요하면 SD 카드 루트 디렉토리의 octopi-wpa-supplicant.txt 파일을 편집할 수도 있습니다.

    # octopi-wpa-supplicant.txt 예시
    network={
      ssid="YOUR_WIFI_SSID"
      psk="YOUR_WIFI_PASSWORD"
    }

    3단계: 라즈베리파이 부팅 및 SSH 접속

    SD 카드를 꽂고 전원을 연결하면 부팅이 시작돼요. 1~2분 기다린 후 SSH로 접속해 보세요.

    # SSH 접속 (기본 호스트명은 octopi.local)
    ssh [email protected]
    
    # 또는 IP 주소로 접속
    ssh [email protected]

    접속이 되면 절반은 성공한 거예요! 🎉

    4단계: OctoPrint 초기 설정 마법사

    SSH 접속이 확인됐으면 이제 웹 브라우저에서 http://octopi.local 또는 라즈베리파이 IP 주소로 접속하세요. 처음 접속하면 Setup Wizard(설정 마법사)가 뜨는데, 순서대로 따라가면 돼요.

    1. Access Control(접근 제어): 관리자 계정 생성
    2. Connectivity Check: 인터넷 연결 확인
    3. Plugin Blacklist: 보안 블랙리스트 활성화 (그냥 켜두세요)
    4. Printer Profile: 3D 프린터 정보 입력

    프린터 프로파일(Printer Profile) 설정 시 프린터 제조사 홈페이지나 매뉴얼에서 베드 크기, 노즐 직경 등을 확인해서 입력하면 돼요.

    ▲ OctoPrint 웹 대시보드: 온도 그래프, 출력 진행률, 카메라 피드가 한 화면에 표시됩니다.

    3D 프린터 원격 제어 핵심 기능 설정하기

    프린터 USB 연결 및 인식 확인

    라즈베리파이와 3D 프린터를 USB 케이블로 연결하고 OctoPrint 웹 화면 왼쪽 상단의 Connect 버튼을 누르세요. 포트(Port)와 Baudrate(통신 속도)를 설정해야 하는데, 대부분의 경우 AUTO로 두면 자동으로 잡혀요.

    # 라즈베리파이에서 연결된 USB 장치 확인
    ls /dev/ttyUSB* /dev/ttyACM*
    
    # 예시 출력
    /dev/ttyACM0   # 대부분의 3D 프린터가 이 포트로 잡힙니다

    가끔 권한 문제가 생기더라고요. pi 계정에 dialout 그룹 권한이 없으면 포트에 접근을 못합니다.

    # dialout 그룹에 pi 사용자 추가
    sudo usermod -a -G dialout pi
    
    # 적용을 위해 재부팅
    sudo reboot

    웹캠 연동으로 실시간 모니터링 강화

    웹캠을 연결하면 출력 중 실시간으로 프린터 상태를 볼 수 있어서 진짜 편해요. OctoPi에는 기본적으로 mjpg-streamer가 포함되어 있어서 별도 설치 없이 웹캠만 꽂으면 됩니다.

    # 웹캠 인식 확인
    ls /dev/video*
    
    # mjpg-streamer 서비스 상태 확인
    sudo service webcamd status

    OctoPrint 설정 → Webcam & Timelapse 메뉴에서 Stream URL을 확인하세요. 기본값은 보통 http://octopi.local/webcam/?action=stream입니다.

    💡 타임랩스(Timelapse) 기능: OctoPrint는 레이어 변경 시마다 사진을 찍어 자동으로 타임랩스 영상을 만들어 줘요. 출력 완료 후 설정 메뉴에서 렌더링된 영상을 다운받을 수 있어요. 이거 처음 만들어봤을 때 진짜 신기했습니다.

    꼭 설치해야 할 OctoPrint 플러그인 추천

    OctoPrint의 진짜 매력은 플러그인 생태계예요. Settings → Plugin Manager → Get More에서 검색해서 설치할 수 있습니다.

    플러그인 이름 기능 추천 이유
    Bed Visualizer 베드 레벨링 시각화 베드 평탄도를 3D 그래프로 확인
    PrintTimeGenius 출력 시간 예측 개선 기본 시간 예측보다 훨씬 정확함
    Telegram Notifications 텔레그램 알림 출력 완료/실패 시 스마트폰 알림
    Filament Manager 필라멘트 재고 관리 남은 필라멘트 양 추적
    OctoEverywhere 외부 네트워크 접속 VPN 없이 외부에서 안전하게 접속

    저는 특히 Telegram Notifications 플러그인을 강력 추천해요. 출력이 완료되거나 실패했을 때 텔레그램으로 사진이랑 같이 알림이 오거든요. 다른 일 하다가 알림 받고 가서 확인하면 되니까 정말 편합니다.

    ⚠️ 자주 겪는 문제와 해결법

    OctoPrint 구축하면서 겪은 문제들과 해결법을 정리했어요. 저만 겪은 게 아닐 거라 생각합니다.

    문제 1: 프린터가 연결됐다가 끊겼다가 반복

    원인은 대부분 두 가지예요. 첫째는 케이블 문제, 둘째는 라즈베리파이 전원 불안정입니다. USB 허브를 사용한다면 전원 공급이 되는 허브인지 확인하세요. 라즈베리파이 전원 어댑터는 공식 어댑터를 쓰는 게 정말 중요해요. 저도 저렴한 어댑터 쓰다가 한참 고생했거든요.

    # 라즈베리파이 전원 상태 확인 (under-voltage 경고 확인)
    dmesg | grep -i voltage
    
    # 또는
    vcgencmd get_throttled
    # 0x0이면 정상, 다른 값이면 전원 문제

    문제 2: 웹캠 화면이 안 나옴

    웹캠이 USB 3.0 포트에서 인식이 안 되는 경우가 있어요. USB 2.0 포트로 바꿔서 꽂아보세요. 라즈베리파이 Pi 4에서는 USB 포트별로 전력 공급이 달라서 포트를 바꾸는 것만으로 해결되기도 합니다.

    # 웹캠 인식 여부 확인
    lsusb
    
    # v4l2 장치 목록 확인
    v4l2-ctl --list-devices

    문제 3: 외부에서 접속이 안 됨

    집 밖에서 OctoPrint에 접속하려면 포트 포워딩이나 VPN, 또는 OctoEverywhere 같은 서비스를 써야 해요. 보안 때문에 OctoPrint를 인터넷에 직접 노출하는 건 권장하지 않습니다. 저는 이미 홈랩에 VPN 서버가 있어서 VPN 연결 후 내부 IP로 접속하는 방식을 써요.

    ⚠️ 보안 경고: 라우터에서 OctoPrint 포트를 직접 외부에 포워딩하는 건 절대 하지 마세요. OctoEverywhere 같은 보안 터널 서비스나 VPN을 사용하세요.

    ▲ OctoPrint 플러그인 매니저와 텔레그램 알림 설정 화면 예시.

    설정 완료! 3D 프린터 원격 제어 활용하기

    모든 설정이 완료되면 이런 것들이 가능해져요. 드디어 됐다! 🎉

    • 집 어디서든 Wi-Fi 연결 상태에서 3D 프린터 원격 제어 가능
    • 스마트폰 브라우저에서도 OctoPrint 대시보드 접속 가능
    • 출력 중 자리를 비워도 카메라로 실시간 확인
    • 출력 완료/실패 시 텔레그램 알림 수신
    • 출력물마다 예쁜 타임랩스 영상 자동 생성

    심화 활용: G-code 스크립트 자동화

    OctoPrint에서는 출력 시작 전/후에 자동으로 실행할 G-code를 설정할 수 있어요. Settings → Printer Profiles 또는 Settings → GCODE Scripts에서 설정합니다.

    # 출력 시작 전 G-code 예시 (베드 자동 레벨링 후 시작)
    G28 ; 홈 포지션으로 이동
    G29 ; 자동 베드 레벨링 (ABL 지원 프린터)
    G92 E0 ; 익스트루더 초기화
    
    # 출력 완료 후 G-code 예시
    G91 ; 상대 좌표 모드
    G1 Z10 F3000 ; Z축 10mm 올리기
    G90 ; 절대 좌표 모드
    G1 X0 Y200 F3000 ; 베드를 앞으로 이동 (출력물 꺼내기 쉽게)
    M84 ; 모터 끄기

    이런 자동화 스크립트를 잘 설정해두면 출력 시작 전 베드 레벨링을 자동으로 하거나, 출력 완료 후 베드가 자동으로 앞으로 나와서 출력물 꺼내기도 편해져요. 실제로 써보니까 이게 진짜 편하더라고요.

    OctoPrint 설치 방법 비교: OctoPi vs 수동 설치

    구분 OctoPi 이미지 사용 기존 라즈베리파이 OS에 수동 설치
    설치 난이도 쉬움 ⭐ 보통 ⭐⭐⭐
    설치 시간 15~30분 1시간 이상
    웹캠 지원 기본 포함 별도 설정 필요
    다른 서비스 공존 제한적 자유롭게 구성 가능
    추천 대상 OctoPrint 전용 라즈베리파이 기존 라즈베리파이에 추가 설치

    처음 시작하시는 분들께는 무조건 OctoPi 이미지를 추천해요. 저도 처음엔 수동 설치로 삽질하다가 결국 OctoPi로 갈아탔거든요 ㅎㅎ.

    ▲ OctoPrint 설치 옵션 비교 및 핵심 기능 체크리스트 요약.

    자주 묻는 질문 (FAQ)

    Q. 라즈베리파이 없이 OctoPrint를 쓸 수 있나요?

    네, 가능해요. Windows나 macOS, Linux PC에도 설치할 수 있습니다. 다만 24시간 켜두기엔 라즈베리파이가 전기세 면에서 훨씬 유리해요. 항상 켜두는 용도라면 라즈베리파이를 강력히 추천합니다.

    Q. OctoPrint 설치 후 슬라이서(Slicer) 소프트웨어는 필요 없나요?

    아니요, 슬라이서는 여전히 필요해요. OctoPrint는 G-code를 프린터에 전송하고 제어하는 역할이고, G-code 파일 자체는 Cura, PrusaSlicer 같은 슬라이서로 만들어야 합니다. 슬라이서에서 만든 G-code 파일을 OctoPrint에 업로드해서 출력하는 방식이에요.

    Q. OctoPrint가 무료인가요?

    OctoPrint 자체는 완전히 무료 오픈소스 소프트웨어예요. 라즈베리파이 하드웨어 비용만 들고, OctoEverywhere 같은 부가 서비스는 유/무료 플랜이 있습니다.

    마무리: 3D 프린터 옆에서 해방됐습니다

    OctoPrint 덕분에 정말 3D 프린터 생활이 달라졌어요. 이제는 출력 시작해 놓고 다른 일 하다가 텔레그램 알림 오면 확인하는 식으로 써요. 처음 설정할 때 케이블 문제, 권한 문제로 삽질 좀 했지만 한 번 잘 잡아두면 정말 편합니다.

    정리하면 이렇습니다:

    • ✅ OctoPi 이미지로 라즈베리파이에 설치 (가장 쉬운 방법)
    • ✅ USB 데이터 케이블 + 안정적인 전원 어댑터 필수
    • ✅ dialout 그룹 권한 설정 잊지 말기
    • ✅ 웹캠 연결로 3D 프린터 원격 모니터링 강화
    • ✅ Telegram Notifications 플러그인으로 알림 설정
    • ✅ 외부 접속은 VPN 또는 OctoEverywhere 사용 (보안 중요!)

    다음 글에서는 OctoPrint와 Home Assistant(홈 어시스턴트)를 연동해서 스마트홈과 3D 프린터를 통합하는 방법을 다뤄볼 예정입니다. 혹시 궁금한 점이나 다른 삽질 경험 있으시면 댓글로 공유해 주세요! 😊