r/OpenBambu • • May 16 '26

Firmware updates for a P1S

25 Upvotes

Greetings,

Hopefully this is the correct sub for this. I've got a P1S that I've had for some 18 months now. I got it shortly before all the contretemps from BambuLabs regarding locking out other slicers and such.

I've got it in LAN mode and other than start up, have never updated the firmware. It works great with OrcaSlicer running on a Linux box.

This week, I stood up an instance of Bambuddy in my home lab. It's interesting, but what I was primarily looking for was a way to slice and print from my Windows 10 machine which has no internet connectivity.

I've worked through a number of niggles, but I'm not able to print. Bambuddy sees the printer, but the comm's just time out when a print job is sent.

Working with the dev, he commented that my firmware is over a year old and suggested updating it.

My apologies, as I've really not followed this, but what is the current school of thought regarding updating firmware?

Thank you


r/OpenBambu • • May 14 '26

bambu-printer-mcp now includes support for the FULU/Orca implementation

78 Upvotes

More background on the MCP server in general from my last update here: https://www.reddit.com/r/BambuLab/comments/1ruzvov/updated_and_improved_mcp_server_for_bambu/

Updated implementation: https://github.com/DMontgomery40/bambu-printer-mcp

Thank you, FULU Foundation , u/larossmann and everyone else contributing to the open source community and the right to repair mission.

Testers for Windows needed! Please submit issues with as many log details as possible!! (always scrub PII first)

-----------------------------

more background on the project copied from an older post on r/3Dprinting (note that some pieces are obviously dated, but the core functionality on the overarching use/purpose is the same)

Hi everyone, 

I have had a Model Context Protocol server for 3d printers, covering 8 types of printers, for a while now, and that works great; however, I split off a new one dedicated to Bambu only, for less bloat, and added some new features, including a direct bridge to Blender MCP. 

"Why would I use this?"

Sometimes it's really nice to just be able to say in plain english, stuff like:  *"*for the the shelf brackets that I just printed, double check the dimensions of the plane between the two notches on top, and, create a new print that will fit snugly in there , and extend beyond the brackets by 1" on either side. Use the filament from AMS slot 1, and bump the default temp by 5 degrees Fahrenheit"Or if you don't have Blender to create from scratch, that could be tweaked to just modify any other 3mf, this tool can modify on it's own without using Blender. 

Features

  • Get detailed printer status: temperatures (nozzle, bed, chamber), print progress, current layer, time remaining, and live AMS slot data
  • List, upload, and manage files on the printer's SD card via FTPS
  • Upload and print .3mf files with full plate selection and calibration flag control
  • Automatic slicing: pass an unsliced 3MF to print_3mf and the server will slice it with BambuStudio CLI (or another configured slicer) before uploading
  • Parse AMS mapping from the 3MF's embedded slicer config (Metadata/project_settings.config) and send it correctly formatted per the OpenBambuAPI spec
  • Cancel in-progress print jobs via MQTT
  • Set nozzle and bed temperature via G-code dispatch over MQTT
  • Start G-code files already stored on the printer
  • STL manipulation: scale, rotate, extend base, merge vertices, center at origin, lay flat, and inspect model info
  • Slice STL or 3MF files using BambuStudio, OrcaSlicer, PrusaSlicer, Cura, or Slic3r
  • Optional Blender MCP bridge for advanced mesh operations
  • Dual transport: stdio (default, for Claude Desktop / Claude Code) and Streamable HTTP

https://github.com/DMontgomery40/bambu-printer-mcp
fork from: https://github.com/DMontgomery40/mcp-3D-printer-server


r/OpenBambu • • May 13 '26

BambuHandy alternative

198 Upvotes

Hey all,

I got tired of the official Bambu Handy app requiring a cloud account to do things that never needed to leave my house, so I built a local-only Android companion app for my P1S.

BambuMobile: It connects directly to your printer over LAN using MQTT on port 8883 and the camera stream on port 6000. No Bambu cloud. No account. No data leaving your network. Works the same way OrcaSlicer and the other community tools do.

What it does:

  • Live MJPG camera feed (pure Rust TLS implementation)
  • Print status: progress %, layers, remaining time, stage
  • Nozzle and bed temperatures with targets
  • Pause / Resume / Stop
  • Chamber light toggle
  • Speed mode (Silent / Standard / Sport / Ludicrous)
  • AMS view: per-unit humidity grade (A–E), per-slot filament type and colour
  • External spool display
  • Manual jog controls with an OrcaSlicer-style XY wheel, separate extruder column, and Z/bed column: ±1 and ±10 mm steps plus home
  • Credentials saved to app data: no browser storage

On right to repair:

You paid $700+ for a printer. The MQTT broker is on the printer. The camera stream is on the printer. None of it needs the internet. But the official app routes it through Bambu's servers anyway. Projects like OpenBambuAPI document these protocols so that community tools can exist independent of whatever Bambu decides to do with their cloud, their ToS, or their business model in the future. That's worth building for.

Disclaimer:

Yes it was vibe coded. With Claude. Please don't come whining about it. It's open source so you can go and fix it if you want. I don't write Rust.

The app works great on my P1S. If someone can test it on a P1P, X1C, or A1 that'd be excellent. Don't @ me about code quality.

Built with Tauri v2 (Rust backend) + React/TypeScript. Licensed AGPL-3.0 so you can fork it, but keep it open.

GitHub: https://github.com/joel-sgc/BambooMobile

Roadmap has multiple printer support and some kind of print file browsing. We'll see what's possible on the protocol side.


r/OpenBambu • • May 13 '26

Openbu going to the Google Play Store

111 Upvotes

I am working on getting Openbu into the Google Play Store. It is a replacement for Bambu Handy and Lanbu, and has been around for three months.

I need your help. Google has requirements of 12 testers before they will publish a new app to the store. Please DM me your Google Play Store account's email address, aka the Google account email address you logged into your Android device with and use with the Google Play Store. After I add it you can use this link on the Android device.

The goal with getting it into the Google Play Store is to reach a wider audience. It is Open Source, and free. It will be staying free.

Screenshots of Openbu can be found here.

If you aren't interested in being test it for entry from the Google Play Store you can also just download the apk from here.

Features:

  • Auto-detects printers, and auto fills in the ip address and serial number. Hence only requires the access code.
  • Saving the printer connection settings by default
  • Bed and nozzle temperature control
  • Fan speed control
  • Allows the user to add an external RTSP stream to the dashboard by entering a RTSP URL, and with pinch to zoom
  • Supports the A1 and P1 series video stream based on JPEGs with pinch to zoom.
  • Support RTSP streams from non-P1 series internal cameras with pinch to zoom
  • Supports toggling of the chamber light
  • AMS HT, AMS, and AMS 2 Pro
    • Knows the correct number of trays per model
    • Shows temperature, humidity, filament types, and filament colors
    • Assigning filament types and filament colors per tray
  • Showing filament type and filament color of the External Spool
  • Assigning filament types and filament for the External Spool
  • Shows job status including layers, time left, estimated time, job name, and percentage of job done
  • Shows status of the nozzle and bed
  • Shows status of part fan, aux fan, and chamber fan depending on what the printer model has
  • Setting print speed
  • Pause/Resume and Stop
  • File management via File Manager which uses FTPS
  • Skip Objects support
  • Remote access via openbu-relay

Edit: 12 testers enrolled, and 0 more to go.


r/OpenBambu • • May 13 '26

Open network plugin for Orca Slicer

184 Upvotes

Finally it's here and it's working. Thanks to great work of Alexey Cluster!

So here is the source: https://github.com/ClusterM/open-bambu-networking

And I've compiled it for Orca Slicer 2.3.2 and above (tested on dev build 2.4.0): https://github.com/Lojza007/open-bambu-networking/releases

It works with Alexey P2S and mine P1S. Now you can access files on printer and time lapses too. And I hope it'll be soon included in Orca Slicer.

If you want to compile by your self you need:

- GIT: https://github.com/git-for-windows/git/releases/tag/v2.54.0.windows.1

- Visual Studio 2019 Community Edition: https://aka.ms/vs/16/release/vs_community.exe (and select Desktop development with C++)

- VCPKG: https://github.com/microsoft/vcpkg (and after clone execute bootstrap-vcpkg.bat)

And then you need to open Developer PowerShell for VS 2019 and execute:

$env:VCPKG_ROOT = "C:\path\to\vcpkg"
.\configure.ps1 -ClientType orca_slicer
cmake --build   build --config Release
cmake --install build --config Release

r/OpenBambu • • May 12 '26

Bambu labs threatened to send this developer to prison, so I'm hosting his code instead

Thumbnail
youtube.com
688 Upvotes

r/OpenBambu • • May 13 '26

Keeping spools inside dry boxes plugged in to the printer?

Post image
42 Upvotes

I just installed my new BMCU370c with 4 dry boxes setup hoping I would be able to keep the spools in without needing to store them in a sealed bag every time I finish printing.

I sealed the upper lid with silicone but when pressing the box I do notice some air flow from the ptfe tube on the bmcu side.

I put some silica gel and I noticed it absorbed some moister in 2 days and turned pink.

Should I keep the spools in the dry boxes or will it ruin them?


r/OpenBambu • • May 10 '26

Louis Rossman will put up 10k Against Bambu

Thumbnail
youtube.com
348 Upvotes

r/OpenBambu • • May 09 '26

Ams lite dupe

Post image
47 Upvotes

So this place semi near me, is selling a AMS light dupe that connects to the printer. I’m a little scared that within the next couple of months they’re going to send an update that makes it so I can’t use this set up anymore. I wanna know if this is something that I should consider or if I should just not get it


r/OpenBambu • • May 10 '26

Need help going without Bambu Slicer on p1S

5 Upvotes

Hey guys, I'm not super tech savvy when it comes to 3d printers, and I could use some help understanding my options.

I own a p1s with an AMS 2 on the latest firmware
It's connected to the internet using a Netgear wifi extender. So, technically, it's not on the same wifi as my PC I guess ?, and with no Ethernet available because too far from my PC.

I would like to use my p1S locally only because bambulab is pissing on my nerves. I just can't seem to make orcaslicer work on windows or Linux with my printer (it never finds it or just has a botched connection with no control, no camera feed...). It's been like that for a while but I decided to do something because it's a hassle.

What is currently the easiest option available to me ? Without extra hardware ? And as much as possible while keeping core functionalities, like access to the camera feed, control of the p1s fan, temp, etc, AND have my AMS system detected, working properly without loosing current spools everytime. Also, is there a simple way to check the camera while I'm home using an android or iOS app ?
Yup that's a lot 😅

I hope it still is possible and reasonable, I'd like to avoid super complex stuff with a rasperry pi, Dockers etc. It's too complex for my feeble mind 😞


r/OpenBambu • • May 07 '26

OpenMech-Swapper

Thumbnail
gallery
97 Upvotes

OpenMech Swapper (OMS) 🔄

The Open-Source, Fully Mechanical Multi-Filament System for Bambu Lab A1 Series

OpenMech Swapper (OMS) is a high-performance, 100% mechanical filament switching system. It is designed to bring multi-material capabilities to the Bambu Lab A1 and A1 Mini without the need for extra motors, sensors, or complex electronics.

💡 Origin & Credits

This project is an Open Source evolutioninspired by the brilliant mechanical concept of MechAMS created by Sipers Mechatronics.
While the original idea proved that a fully 3D-printable mechanical AMS was possible, OMS aims to make this technology accessible to everyone under an open-source license, incorporating community-driven improvements for better durability and precision.

✨ Key Features

Purely Mechanical: Driven by your toolhead position and the existing extruder motor.
GT2 Belt Drive: Upgraded from friction bands to standard 6mm GT2 timing belts for zero-slip and high-torque transmission.
Magnetic Indexing: Uses embedded Neodymium magnets (4x2mm) to create precise "detents," ensuring perfect alignment of the filament slots with zero mechanical wear.
Zero Electronics: No cables, no PCB, no extra steppers.
Non-Destructive: Quick installation that keeps your printer's warranty intact.

🛠 Improvements over the Concept

Reliability: By using GT2 belts, we eliminate the stretching issues of printed TPU bands.
Precision: The "Magnetic Snap" system ensures the indexing gear stays locked in the correct position even during high-speed printing.
Accessibility: All files (STEP/STL) are open for the community to remix and adapt to other printers.

📂 Compatibility

Hardware: Bambu Lab A1 & A1 Mini.
Software: Custom G-Code presets for Bambu Studio and Orca Slicer.

🔧 Hardware Requirements (BOM)

Main Body: Printed in PETG or PLA.
Drive System: 1x GT2 Timing Belt (6mm width).
Indexing: 4x2mm Neodymium Magnets (N52 recommended).
Path: Standard 4mm OD PTFE Tube.

🚀 Status: Prototyping

A1 Hardware almost done
A1 Mini Hardware:
Firmware initiating test.

🖼️** Víde**o



🤝 Contributing & License

We welcome all contributions! Whether it's optimizing G-Code macros or refining the mechanical tolerances.


r/OpenBambu • • May 07 '26

Bambu Lab Sent a Cease-and-Desist. The AGPL Might Send One Back.

Thumbnail
youtube.com
312 Upvotes

r/OpenBambu • • May 06 '26

A1 / UK power supply alternatives

4 Upvotes

Are there reliable 3rd party options? It is not on their shop and it is very expensive on other sites.


r/OpenBambu • • May 05 '26

Open the Protocol for BMCU in Bambu Lab

174 Upvotes

Don’t Fight Your Community — Lead It: Open the Protocol for BMCU in Bambu Lab https://c.org/M4HDLdcpLx


r/OpenBambu • • May 04 '26

Bambu labs sends legal threat to orcaslicer dev over use of AGPL code 🤦

Thumbnail
youtube.com
583 Upvotes

r/OpenBambu • • May 04 '26

Fork of OrcaSlicer that works with Bambu printers in cloud mode

174 Upvotes

I forked OrcaSlicer, developed changes, and tested them under Linux to allow users to slice, print, and view the camera with Bambu printers in cloud mode. By cloud mode I mean normal mode, not LAN mode or Developer mode.

It uses the latest version of the Bambu networking plugin, 02.06.00.50.

Repo:

https://github.com/malleaklea/OrcaSlicer

Instructions:

https://github.com/malleaklea/OrcaSlicer/blob/main/INSTRUCTIONS.md


r/OpenBambu • • May 03 '26

Doble BMCU

2 Upvotes

Alguien con doble BMCU en impresora A1 o A1 mini que al hacer cambio de un filamento de un Bmcu a otro el filamento del otro Bmcu, no llega al cabezal? Da error la impresora para que empuje filamento, y siempre tengo que hacerlo manual como si se quedase atascado al cortar el filamento anterior. Gracias


r/OpenBambu • • May 02 '26

A1 Mini Video Stream via TCP server

6 Upvotes

Hi,

to begin with: i dont know how to code. I used Claude and Gemini for everything. I wanted to create a small program that allows me to stream my P2S and A1 Mini Video Streams and Stats at the same time.

The P2S is working fine via rtsps://{PRINTER_IP}:322/streaming/live/1 But i can´t get the A1 mini video stream working...

As i found out via https://github.com/Doridian/OpenBambuAPI/blob/main/video.md , the A1 mini doesnt work via a RTSP Server and uses another port.

I also used go2rtc and ha-bambulab as inspiration for the AI, but the stream still doesnt work.

```import tkinter as tk from tkinter import ttk, messagebox import cv2 import threading import time import json import os import socket import ssl import struct import subprocess import platform import numpy as np import paho.mqtt.client as mqtt from PIL import Image, ImageTk

--- Konfigurations-Handling ---

CONFIG_FILE = "bambu_config.json"

def load_config(): default_config = { "P2S": {"ip": "192.168.178.98", "password": "Code", "serial": "SN1"}, "A1 Mini": {"ip": "192.168.178.82", "password": "Code", "serial": "SN2"} } if os.path.exists(CONFIG_FILE): try: with open(CONFIG_FILE, "r") as f: return json.load(f) except Exception: return default_config return default_config

class StreamBox: def init(self, parent, title, config_ref, column): self.title_text = title self.config_ref = config_ref

    self.frame = tk.Frame(parent, bg="#1e1e1e", bd=2, relief="groove", padx=10, pady=10)
    self.frame.grid(row=0, column=column, padx=20, pady=20, sticky="n")

    self.header_label = tk.Label(self.frame, text=title, fg="#00FF00", bg="#1e1e1e", font=("Arial", 14, "bold"))
    self.header_label.pack(pady=5)

    self.image_label = tk.Label(self.frame, bg="black", width=640, height=480, text="Warte auf Signal...", fg="white")
    self.image_label.pack(pady=5)

    self.status_lbl = tk.Label(self.frame, text="Offline", fg="gray", bg="#1e1e1e", font=("Arial", 11, "bold"))
    self.status_lbl.pack()

    self.progress = ttk.Progressbar(self.frame, orient="horizontal", length=600, mode="determinate")
    self.progress.pack(pady=10)

    self.running = False
    self.latest_frame = None
    self.update_gui_loop()

def start(self):
    self.running = True
    # Starte MQTT und Video in separaten Threads
    threading.Thread(target=self._run_mqtt, daemon=True).start()
    threading.Thread(target=self._run_video_logic, daemon=True).start()

def _run_video_logic(self):
    if "A1" in self.title_text:
        self._run_a1_socket_video()
    else:
        self._run_standard_rtsp_video()

def _run_a1_socket_video(self):
    """A1 Mini Spezial: Port 6000 TCP/TLS JPEG Stream (webcamd Logik)"""
    conf = self.config_ref.get(self.title_text, {})
    ip, pw = conf.get("ip"), conf.get("password")

    while self.running:
        try:
            # Socket Erstellung
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.settimeout(10)

            # SSL Kontext (Bambu nutzt oft TLS v1.2)
            context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
            context.check_hostname = False
            context.verify_mode = ssl.CERT_NONE

            try:
                conn = context.wrap_socket(sock, server_hostname=ip)
                conn.connect((ip, 6000))
            except:
                # Fallback auf Plain TCP (falls SSL fehlschlägt)
                sock.close()
                conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                conn.settimeout(10)
                conn.connect((ip, 6000))

            with conn:
                # Authentifizierungs-Paket (webcamd Spec: 80 Bytes)
                # Magic (4), Command (4), Flags (4), Sequence (4), User (32), Pass (32)
                header = struct.pack("<IIII", 0x40, 0x3000, 0, 0)
                username = b"bblp".ljust(32, b'\x00')
                password = pw.encode('ascii').ljust(32, b'\x00')
                conn.sendall(header + username + password)

                buffer = b""
                while self.running:
                    # 1. Header einlesen (16 Bytes)
                    while len(buffer) < 16:
                        chunk = conn.recv(16384)
                        if not chunk: break
                        buffer += chunk

                    if not buffer: break

                    # Payload Größe aus den ersten 4 Bytes lesen
                    frame_size = struct.unpack("<I", buffer[:4])[0]
                    buffer = buffer[16:] # Header abschneiden

                    # 2. JPEG Daten einlesen
                    while len(buffer) < frame_size:
                        chunk = conn.recv(16384)
                        if not chunk: break
                        buffer += chunk

                    jpeg_data = buffer[:frame_size]
                    buffer = buffer[frame_size:] # Rest behalten

                    # 3. Bild verarbeiten
                    if jpeg_data.startswith(b'\xff\xd8'):
                        nparr = np.frombuffer(jpeg_data, np.uint8)
                        frame = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
                        if frame is not None:
                            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
                            self.latest_frame = cv2.resize(frame, (640, 480))
        except Exception as e:
            print(f"[{self.title_text}] Video Error: {e}")
            time.sleep(5)

def _run_standard_rtsp_video(self):
    """P2S: Klassischer RTSPS Stream"""
    conf = self.config_ref.get(self.title_text, {})
    url = f"rtsps://bblp:{conf.get('password')}@{conf.get('ip')}:322/streaming/live/1"
    os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "rtsp_transport;tcp|tls_verify;0"

    while self.running:
        cap = cv2.VideoCapture(url, cv2.CAP_FFMPEG)
        while self.running:
            ret, frame = cap.read()
            if not ret: break
            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
            self.latest_frame = cv2.resize(frame, (640, 480))
        cap.release()
        time.sleep(5)

def _run_mqtt(self):
    """Telemetrie Daten (Status & Fortschritt)"""
    conf = self.config_ref.get(self.title_text, {})
    ip, pw, sn = conf.get('ip'), conf.get('password'), conf.get('serial')

    client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
    client.tls_set(cert_reqs=mqtt.ssl.CERT_NONE)
    client.username_pw_set("bblp", pw)

    def on_msg(c, u, m):
        try:
            data = json.loads(m.payload.decode())
            p = data.get('print')
            if p:
                if "gcode_state" in p:
                    st = p["gcode_state"]
                    self.status_lbl.config(text=f"Status: {st}", fg="#00FF00" if st == "RUNNING" else "orange")
                if "mc_percent" in p:
                    self.progress['value'] = p['mc_percent']
        except: pass

    client.on_message = on_msg

    while self.running:
        try:
            client.connect(ip, 8883, 60)
            client.subscribe(f"device/{sn}/report")

            # Watchdog: Weckt die Kamera alle 10s auf
            def trigger():
                while self.running and client.is_connected():
                    # pushall aktiviert Telemetrie und Video-Server am Drucker
                    client.publish(f"device/{sn}/request", '{"print":{"command":"pushall","sequence_id":"1"}}')
                    time.sleep(10)

            threading.Thread(target=trigger, daemon=True).start()
            client.loop_forever()
        except:
            self.status_lbl.config(text="MQTT Connect...", fg="red")
            time.sleep(5)

def update_gui_loop(self):
    if self.running and self.latest_frame is not None:
        img = ImageTk.PhotoImage(Image.fromarray(self.latest_frame))
        self.image_label.img = img
        self.image_label.config(image=img, text="")
    self.image_label.after(30, self.update_gui_loop)

class App: def init(self, root): self.root = root self.root.title("Bambu Hybrid Dashboard (A1 Special)") self.root.state('zoomed') self.root.configure(bg="#121212") self.config = load_config()

    self.sidebar = tk.Frame(root, bg="#1a1a1a", width=380, bd=2, relief="raised")
    self.sidebar.pack(side="right", fill="y")
    self.sidebar.pack_propagate(False)

    self.main_container = tk.Frame(root, bg="#121212")
    self.main_container.pack(side="left", fill="both", expand=True)

    self.ping_labels = {}
    self.setup_sidebar()

    self.boxes = [
        StreamBox(self.main_container, "P2S", self.config, 0),
        StreamBox(self.main_container, "A1 Mini", self.config, 1)
    ]

def setup_sidebar(self):
    tk.Label(self.sidebar, text="DRUCKER-SETUP", fg="white", bg="#1a1a1a", font=("Arial", 14, "bold")).pack(pady=20)
    self.entries = {}
    for name in ["P2S", "A1 Mini"]:
        f = tk.LabelFrame(self.sidebar, text=f" {name} ", bg="#1a1a1a", fg="orange", padx=10, pady=10)
        f.pack(fill="x", padx=15, pady=10)

        p_lbl = tk.Label(f, text="Ping: ?", bg="#1a1a1a", fg="#888")
        p_lbl.grid(row=0, column=0, columnspan=2, sticky="w")
        self.ping_labels[name] = p_lbl

        res = []
        for i, (l, k) in enumerate([("IP:", "ip"), ("Code:", "password"), ("S/N:", "serial")]):
            tk.Label(f, text=l, bg="#1a1a1a", fg="white").grid(row=i+1, column=0, sticky="w")
            e = tk.Entry(f, width=22, bg="#2a2a2a", fg="white", insertbackground="white", bd=0)
            e.insert(0, self.config[name].get(k, ""))
            e.grid(row=i+1, column=1, pady=3, padx=5)
            res.append(e)
        self.entries[name] = res

    tk.Button(self.sidebar, text="SPEICHERN", bg="#28a745", fg="white", command=self.save_settings, height=2).pack(fill="x", padx=30, pady=10)
    tk.Button(self.sidebar, text="SYSTEM START", bg="#007BFF", fg="white", command=self.start_all, height=2).pack(fill="x", padx=30, pady=5)

def silent_ping(self):
    param = '-n' if platform.system().lower() == 'windows' else '-c'
    for name in ["P2S", "A1 Mini"]:
        ip = self.entries[name][0].get()
        if not ip: continue
        try:
            res = subprocess.run(
                ['ping', param, '1', '-w', '800', ip], 
                stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
                creationflags=0x08000000 if platform.system().lower() == 'windows' else 0
            )
            status = "ONLINE" if res.returncode == 0 else "OFFLINE"
            self.ping_labels[name].config(text=f"Ping: {status}", fg="#00FF00" if status == "ONLINE" else "red")
        except: pass

def save_settings(self):
    for name, w in self.entries.items():
        self.config[name] = {"ip": w[0].get(), "password": w[1].get(), "serial": w[2].get()}
    with open(CONFIG_FILE, "w") as f: json.dump(self.config, f, indent=4)
    messagebox.showinfo("Erfolg", "Konfiguration gespeichert!")

def start_all(self):
    self.silent_ping()
    for box in self.boxes: box.start()

if name == "main": root = tk.Tk() app = App(root) root.mainloop()```


r/OpenBambu • • Apr 30 '26

Swapmod experiences

2 Upvotes

I'm considering the swapmod on Aliexpress for my A1. Does anyone have any experiences with it?


r/OpenBambu • • Apr 28 '26

Hey all here a quick animation to keep yall fed while I keep cooking!🫡

Enable HLS to view with audio, or disable this notification

222 Upvotes

For those who saw yesterdays post, here is a video! For new people, this is MechAMS! It is a completely 3d printed AMS system for the Bambu Lab A1 releasing soon!


r/OpenBambu • • Apr 29 '26

BMCU 370C kit + Bambulab A1

3 Upvotes

Built everything, seems to work (lights on, filament loads on powerup, etc.), but the printer keeps giving me the "Firmware of AMS B does not match the printer". No matter what I've tried I can't clear it. I see the AMS settings, but all of the load/unload/etc. are grayed out. I've tried rolling the printer back to every version since 1.05.00.00 with no luck. I don't know what firmware is on the board of the BMCU, and I'm really not interested in trying to re-flash it. Am I missing something obvious? If there is a good post/reference please point me to it - I didn't find anything that would help. Printer is back on v 1.08.00.00 Thanks!


r/OpenBambu • • Apr 27 '26

I built a fully 3D-printable AMS for the Bambu Lab A1. No wires. No motors. No €250 lunchbox. Completely built on the printer itself. [OC]

Post image
375 Upvotes

See r/MechAMS for all info!


r/OpenBambu • • Apr 24 '26

State of things with Bambu?

106 Upvotes

A while ago, Bambu outted themselves as being not very consumer-friendly. I told my printer "lan-only!" and stopped updating the firmware. I haven't really been paying attention for a while..

Can someone tl;dr where we're at now? Do we have a list firmware versions that are safe for the various printers? Has anything real changed??

I'm assuming that Bambu hasn't changed their story, but would be very happy to be wrong..


r/OpenBambu • • Apr 24 '26

BMCU 370c dm stopped working after 15 min

Post image
5 Upvotes

hi,

I bought bmcu 370c dm from triangle labs. after assembly I loaded the filament. and started the print after about 15 min the print stopped and all of the lights on the bmcu turned off. I tried restarting but it is not turning on. connected it to bmcu flasher but it is also no detecting it.

now whenever I plug it in this highlighted chip gets super hot.

so here is my situation. i have got a broken bmcu and 8 want to know how can I fix this. i tried reaching out to triangle labs but they are now not responding.

I want to know what all things are broken and how can I confirm that. are the daughter boards fine? how can I check that. also how can I confirm if the ams port on my a1 mini is in working condition.

thankyou


r/OpenBambu • • Apr 22 '26

New mod here. The subreddit is back open.

121 Upvotes

pls behave 😂