Please sign in to access this page
A react/next.js based controller for Bambu Lab 3D printers. Supports MQTT and FTP printer communication.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Fixed issues with path resolution on the windows build, which now works, and the project is ready to be shipped. (no i will not activate windows)
Got the app packaged with electron as a wrapper to make running the app easier, and spent a lot of time struggling with Github actions and cross-compiling (which did not work) to get the app built with electron-builder.
Fully implemented the cloud mqtt (including Bambu cloud authentication) and added support for local camera/ftp connections in cloud mode (there is no way to get these connections over the cloud even though Bambu Handy can do it, as the apis are undocumented). Here is an in-progress firmware update tested using the cloud mqtt
Added support for the Bambu cloud MQTT server, which removes the restriction of operating the printer in LAN only mode, although with reduced functionality (haven't gotten camera or files browsing to work yet)
Implemented timelapse file downloading from FTP, implemented the settings view to change printer settings, and tried (and failed) to make MQTT subscriptions faster, as the printer's implementation does not send status updates on a published command, but only at a defined interval (2s). Some of the settings in the video that look like they are not working have just not updated due to the slow status updates.
Implemented skip objects functionality. The implementation downloads the 3mf print file from the printer through FTP, then extracts it and obtains the top_X.png, which is the top view image of the print for selecting objects, plate_X.json which contains bounding box data for the pick image, and slice_info.config which contains object ids sent to the printer for skipping.
Implemented the Bambu HMS system, implemented some more MQTT commands, started implementation of settings view
Implemented the camera stream. For some reason Bambu Lab streams the video as a series of JPEGs on a TCP server, which made implementation much more difficult. The implementation connects to the TCP server, sends an authentication header, then receives the frames.
Sending new prints to the printer over MQTT now works. All the settings available on the printer's touchscreen are also available through the new view.
Implemented most MQTT functions used by the printer, and now it is now able to retrieve the print image over FTP.
The MQTT is working, but it can't yet retrieve some data, like print image or filaments info. Also the ui is ugly and I haven't made the icons yet.
Publishing commands and making subscriptions over MQTT now works. I made a pool of persistent connections so it doesn't have to reconnect every time.
Changed the hardcoded values in most views to states so they are variable, and added popups to modify those values.
Needed a way to control my Bambu A1 from my phone in LAN only mode. Home Assistant is overkill (I don't have anything else to use it for) and most of the available solutions don't support Android.