Skip to content

Repository files navigation

Openbu


Openbu is a open source Kotlin based Android app written for Bambu Lab printers in Developer Mode.

Backstory(aka Why not Handy or Lanbu?)

I own a Bambu Lab P1S. I would have stuck with the older pre-1.08 firmware, but then I purchased a AMS HT which needed 1.08+ firmware to be properly supported. I also wanted OrcaSlicer support under Linux, and there is no Bambu Connect for Linux. It has been "Under Development" for about a year.

I quickly found Lanbu, but I have a few issues with it. It isn't open source, it isn't especially pretty, the author locked the video feature behind a paywall, and it doesn't auto-detect the printers on the network.

Status

This is a new project, and has stated above I own a P1S and a AMS HT. This makes it harder to test and support A1, P2, X1, and H2 series printers.

I workaround this with a program that mocks the MQTT output, and a MJPEG stream for A1 and P1 series printers. I use another solution to simulate the RTSPS video stream of other models.

Note

This means user testing of every possible configuration would be very helpful, and then open issues.

I have currently tested this on a Google Pixel 8 Pro running Android 16. The current minimum Android version is 8/Oreo.

I am strongly considering adding this to the Google Play Store, but we will see. They sometimes make that a challenge. I already have one app in the store.

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

Feature requests are welcome.

Building

The only prerequisites are the Android SDK and a network connection. The Gradle wrapper fetches Gradle itself, and gradle/gradle-daemon-jvm.properties makes it auto-provision the required JDK through Foojay, so no local JDK install or JAVA_HOME setup is needed.

Point the build at your SDK, either by opening the project in Android Studio (which writes local.properties for you) or by setting ANDROID_HOME yourself:

git clone https://github.com/cygnusx-1-org/openbu.git
cd openbu
export ANDROID_HOME=$HOME/Android/Sdk
./gradlew assembleDirectDebug

That produces per-ABI APKs under app/build/outputs/apk/direct/debug/. Use ./gradlew installDirectDebug to build and install onto a connected device. Debug builds get the .debug application id suffix, so they install alongside a release or Play copy of the app.

There are two product flavors: direct for sideloaded APKs and play for Play Store bundles. Swap the flavor into any task name, e.g. assemblePlayDebug or bundlePlayRelease.

Note

Signing credentials live in keystore.properties, which is deliberately not in the repo. Without it, debug builds are unaffected and release builds simply come out unsigned. To sign your own release builds, copy keystore.properties.example to keystore.properties and fill it in.

Screenshots

All screenshots

Donations

Buy me a coffee

Any monetary donation would be appreciated. I am open to hardware donations.

About

Kotlin Android app for Bambu 3D printers in Developer Mode

Resources

Stars

84 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages