OctoDash is an Open-Source Dashboard for OctoPrint, which is optimized for 3.5" to 7" touchscreen devices. I mainly created this project, because there was just no nice-looking UI available, which could be run on the Raspberry Pi and provide access to OctoPrint where it is needed most - directly at the printer. The main goal of the project is to offer a simplified experience of OctoPrint in a very compelling and easy-to-use design. It is important to note here, that OctoDash does not replace OctoPrint, but rather uses the backend of this awesome program and just offers a different User Interface.
I'm currently developing OctoDash, with the help of a lot of other people over on GitHub in my free time. If you want to support OctoDash you can do that, by either creating PRs to fix open issues or donate via the Sponsor button in GitHub, if you really feel like it :).
As mentioned above, OctoDash is completely Open-Source and all the Source Code can be found on GitHub. The whole project is licensed under the Apache 2.0 License, so go ahead and create your custom version! If you think you've done something really cool open up a PR and it may get merged into main. But please, keep the LICENSE file and Copyright notices unchanged, if you want to remove those contact me first, please.
I'm hoping that you're going to enjoy OctoDash!
The installation script, which can be found here,
will work on most systems and sets up the most common things. During the installation process you have the
option to decide, whether you want to start OctoDash automatically on boot among other things.
There also is a manual installation guide available in the GitHub Wiki.
The script will ask you some questions about your setup during the installation, please answer them carefully!
I'm sad to see you go! If something bugs you, that you think can be fixed, don't hesitate to open an issue.
The removal script, which can be found here,
will completely remove OctoDash from your system. You can also manually remove OctoDash by
just uninstalling the octodash
package and removing the octodash line from your ~/.xinitrc
- Monitor your prints with a beautiful, easy to read interface
- Browse your files and preview your objects directly from your Raspberry Pi
- Adjust temperatures, speed and even Z-Height (Babystepping) while printing
- Change filaments with an automated procedure (heating up, retracting, extruding, purging) even if your printer doesn't support M600. You can also keep track of your usage and apply temperature offsets to each roll with Filament Manager.
- Turn your printer on and off
- Move printer axis and execute GCode while the printer is idling
- View your camera feed directly from the display
Probably the part you came here for - so here are some juicy screenshots for you. If those aren't enough, there are even more here.
Tips and Tricks
- OctoDash supports printing from your Raspberry and the printers SD card if configured in OctoPrint
- If you're using FilamentManager add the color (in HEX format) to the end of the name, like "Vendor black (#000000)", this color will then be shown in the filament selection menu
- You can adjust the look of OctoDash by adjusting the ~/.config/octodash/custom-styles.css file and adding your own CSS rules
- OctoDash supports .ufp package preview images and PrusaSlicer thumbnails
- To get the best results, you should use a square aspect ration, like 256x256
- You can also view the previews during print if you press on the percentage inside the progress ring
- You can press multiple arrows directly after another in the control view. All actions will be executed in series, even if the prior didn't finish before pressing the button
- The six actions on the right in the control view can be customized. They can either send GCode commands to your printer, restart OctoPrint or your Pi and even open iFrames so you can view your camera for example
- You can adjust the temperatures and fan speed in the home screen by pressing on their icons if you want to set them to zero, just tap the value once
Display Layer Progresssupported required
Display Layer Progress is currently used to display the Layer Progress in the Printing Screen. This plugin can't be disabled currently, there are plans to make this optional as well in the future though.
Adds a preheat button to the loaded file screen, which can be used to preheat the hotend and heatbed to the print temperatures.
Allows OctoDash to directly change the filament, if the filament is changed. This will also add a screen to the Filament Change Screen to choose the new filament.
Tip: Put the color of the filament (HEX) in brackets at the very end of the filament name to make your list more colorful!
Enclosuresupported additional config
Adds support for a temperature display at the bottom of the main screen. The temperature sensor to use can be set up in the settings menu.
PSU Controlsupported additional config
This enables OctoDash to control the Power Supply of your printer. This plugin also adds some additional Custom Actions to turn off the printers power supply. Turning on the PSU, while exiting from sleep is also supported.
Print Time Geniussupported
Greatly improves print time predictions. If Print Time Genius is installed OctoDash will display PTG's predictions.
Ultimaker Format Packagesupported
Adds thumbnail images for .ufp files in the detailed file view, in the loaded file screen, and while a file is printing. To view the preview while printing just tap on the progress percentage. Tap again to return to the percentage.
Adds thumbnail images for objects, that have been sliced with PrusaSlicer, in the detailed file view, in the loaded file screen, and while a file is printing. To view the preview while printing just tap on the progress percentage. Tap again to return to the percentage. Also works for Ultimaker Format Package.
Adds the option to exclude some regions from being printed further, if they failed for example. This can help salvage parts of the print.
Cancel Objectnot supported
Exclude region seems to work for a broader group of users, thus Exclude Region will be used over Cancel Objects
Want to see more plugins here? Please open an issue on GitHub, ideally together with a PR to implement the plugin.
If you're running something similar to a Raspberry Pi 2 or better then probably yes. You can find more information here.
No, you can also use OctoDash as a "read-only" display. You will still get the main screen with all the information available during print. All screens that require interaction, like the File Browser and the Filament Change Process won't available though.
Yes. OctoDash is and will stay free.
No. OctoDash doesn't track one bit of your data. Check out the code if you don't trust me :)
No, OctoDash is only a nice interface for OctoPrint. All the heavy lifting and communication with the printer is still done by OctoPrint, so definitely keep that installed.
Most likely not, but it can. OctoDash uses around 60MB of memory and only very few CPU resources, so it shouldn't affect the print quality plus there are also no, known-to-me cases of OctoDash affecting the quality of your prints. If you encounter quality loss after installing OctoDash, try removing it to see, whether this fixes the problem. If it does open a new issue, so I can have a look at that.
The best way to support the project is just to grab an unassigned issue from the backlog and start working on that. You can also donate to the project via the GitHub Sponsor Button if you feel like it.
Sure thing. Go ahead and do whatever you want. Just make sure to respect the license and keep the credits to the original author, other than that you can do pretty much anything.
If you find any bugs please report them on GitHub, there is also a Troubleshooting Guide available, which might cover your issue. Please fill out all the requested information in the new issue, so someone can help you quickly. If possible please attach your config file (remove your token first) and the GCode file.
If you can think of something nice to add or want to change / extend some of the functionality, feel free to create a Pull Request or an Issue. Please make sure to follow the code style and not break any of the existing functionality. Any help is greatly appreciated!
Information on how to develop and build OctoDash can be found here.