MCPcopy Index your code
hub / github.com/bq/OctoPrint-AndroidApp

github.com/bq/OctoPrint-AndroidApp @1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.0 ↗ · + Follow
1,887 symbols 6,162 edges 112 files 547 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OctoPrint App for Android (beta version)

OctoPrint App for Android is an Android application for controlling one or more 3D printers (RepRap, Witbox, Hephestos, …) through an OctoPrint server. It is Free Software and released under the terms of the GNU General Public License, version 3.

This app is not yet finished and provided as a public beta for now. You are encouraged to give it a try and help improve it by contributing.

You are currently looking at the source code repository of OctoPrint App for Android.

What does it do?

The goal of this app is to provide a user friendly but powerful interface to your 3D printer, with full support for slicing and directly printing any STL models.

The features currently included in this application are:

  • Initial setup
    • Automatic discovery of the OctoPrint Server
    • Automatic setup of machine parameters for BQ Witbox and BQ Prusa i3 Hephestos & guided setup for any RepRap printer
    • Easy connection to existing OctoPrint Servers through API Key entry or even fully automatically through the OctoPrint AppCompanion Plugin

alt tag

  • 3D model editing and slicing
    • Rotating, scaling, duplicating, etc. - everything you need to get your model ready for printing
    • Configure layer height, infill, support settings etc and store those slicing settings in handy profiles
    • Preview the sliced GCODE in 3D
    • Have the app slice your model automatically after each change you do (configurable)

alt tag

alt tag

  • 3D model library
    • STL and GCODE file management: Access and manage your files stored on the tablet, the OctoPrint Server and the printer’s SD card
    • Preview your 3D models
    • Linking of STL and GCODE files of previous print jobs for easy replication of them with equal settings
    • Printing history

alt tag

  • Printing control
    • Quick print of STL files with default slicing settings
    • Video monitoring for multiple printers
    • Basic printing actions (jogging the axes, extruding/retracting, adjusting the temperatures, pause, resume and cancel the print job…)
    • Concurrent control of multiple printers
    • 3D visualization of GCODE progress
    • Get notified about the progress of your print jobs

alt tag

Setup

App Installation

The app can be installed downloading the apk of the latest release:

OctoPrint App for Android (latest release)

Please note that at the moment only Android tablets are supported. Installation of software from 3rd party sources needs to be enabled.

Server Installation

The app should work out of the box with the current OctoPi release 0.12.0 that includes OctoPrint 1.2 including working network discovery. If you are new to OctoPrint, this is the easiest way to get started. You’ll need a Raspberry Pi (Raspberry Pi B, B+ and Raspberry Pi 2 B are all fine) and an SD card. Please follow the setup instructions found on the page linked above. If you want the convenience of not having to enter your OctoPrint API key during setup of the connection between the app and your server, also make sure you install the OctoPrint AppCompanion Plugin through the Plugin Manager.

If you don’t want to use OctoPi 0.12.0, make sure you have the following:

Contributing

Please see the Contribution Guidelines for details on how to contribute to this project.

About us

This application has been developed by BQ in close collaboration and full alignment with the OctoPrint project.

Extension points exported contracts — how you extend this code

OnItemClickListener (Interface)
Interface definition for a callback to be invoked when an item in this AdapterView has been clicked. [8 implementers]
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/AdapterView.java
OnItemClickListener (Interface)
(no doc) [9 implementers]
PrinterApp/materialdesignlibrary/src/main/java/com/material/widget/ActionSheet.java
OnCheckedChangeListener (Interface)
Interface definition for a callback to be invoked when the checked state of a CheckableRelativeLayout changed. [3 implementers]
PrinterApp/app/src/main/java/android/app/printerapp/util/ui/CheckableRelativeLayout.java
OnItemLongClickListener (Interface)
Interface definition for a callback to be invoked when an item in this view has been clicked and held. [3 implementers]
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/AdapterView.java
OnValueChangeListener (Interface)
(no doc) [1 implementers]
PrinterApp/materialdesignlibrary/src/main/java/com/material/widget/Slider.java
DismissCallbacks (Interface)
The callback interface used by SwipeDismissListViewTouchListener to inform its client about a successful dismiss [1 implementers]
PrinterApp/app/src/main/java/android/app/printerapp/history/SwipeDismissListViewTouchListener.java
OnItemSelectedListener (Interface)
Interface definition for a callback to be invoked when an item in this view has been selected. [2 implementers]
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/AdapterView.java
OnSelectTabListener (Interface)
(no doc) [1 implementers]
PrinterApp/materialdesignlibrary/src/main/java/com/material/widget/TabIndicator.java

Core symbols most depended-on inside this repo

i
called by 195
PrinterApp/app/src/main/java/android/app/printerapp/Log.java
get
called by 161
PrinterApp/app/src/main/java/android/app/printerapp/octoprint/HttpClientHandler.java
getName
called by 144
PrinterApp/app/src/main/java/android/app/printerapp/model/ModelPrinter.java
toString
called by 143
PrinterApp/app/src/main/java/android/app/printerapp/ListContent.java
getWidth
called by 134
PrinterApp/app/src/main/java/android/app/printerapp/viewer/DataStorage.java
put
called by 124
PrinterApp/app/src/main/java/android/app/printerapp/octoprint/HttpClientHandler.java
setText
called by 110
PrinterApp/materialdesignlibrary/src/main/java/com/material/widget/PaperButton.java
getActivity
called by 100
PrinterApp/app/src/main/java/android/app/printerapp/devices/discovery/DiscoveryController.java

Shape

Method 1,698
Class 169
Interface 20

Languages

Java100%

Modules by API surface

PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/AbsHListView.java213 symbols
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/HListView.java110 symbols
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/AdapterView.java69 symbols
PrinterApp/app/src/main/java/android/app/printerapp/viewer/ViewerMainFragment.java69 symbols
PrinterApp/app/src/main/java/android/app/printerapp/viewer/DataStorage.java69 symbols
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/ExpandableHListView.java59 symbols
PrinterApp/app/src/main/java/android/app/printerapp/viewer/ViewerRenderer.java53 symbols
PrinterApp/materialdesignlibrary/src/main/java/com/material/widget/TabIndicator.java51 symbols
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/OverScroller.java51 symbols
PrinterApp/horizontallistlibrary/src/main/java/it/sephiroth/android/library/widget/ExpandableHListConnector.java43 symbols
PrinterApp/app/src/main/java/android/app/printerapp/model/ModelPrinter.java38 symbols
PrinterApp/app/src/main/java/android/app/printerapp/viewer/sidepanel/SidePanelHandler.java34 symbols

For agents

$ claude mcp add OctoPrint-AndroidApp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact