Skip to content

Octoprint

Miguel Risco-Castillo edited this page Jan 5, 2023 · 36 revisions

High speed serial communication

This firmware has a highspeed serial connection, please change the Baudrate to AUTO or 250000 bps in host software as Octoprint. This firmware is incompatible with the plugin Meatpack and it is unnecessary due to the higher communication speed.

For BTT SKR boards the default baud is 115200.

Display print progress

Before you can view the print screen in Octoprint prints, you must configure the Octoprint G-code scripts. Octoprint users can install: https://plugins.octoprint.org/plugins/m73progress/ for update the progress bar and Print time when print from host or if you slice with Cura, you can use the Cura plugin Display Progress on LCD and select M73 as the time reporting method:

The status line shows the last message received through the Marlin core or by the M117 command. It is recommended to install a plugin in your slicer or Octoprint (Detailed Progress, DisplayLayerProgress) to embed M117 commands to see, for example, the layer and Z height.

Important

Raspberry Pi and many other hosts (PC) energize the USB port through the +V pin, it can be dangerous for your host or for the printer connect a USB cable directly, also, that could cause interferences, produce some glitches in the screen and communication, see here https://community.octoprint.org/t/put-tape-on-the-5v-pin-why-and-how/13574. It is important that you disable the +V pins as indicated in the next picture.

USB +V disabling

Octoprint gcode scripts

For propper use of this firmware and Octoprint, use these G-code scripts to configure your Octoprint installation.

Octoprint-settings

Before print job starts

M75 {{ event.name | truncate:85:... }}

After print job completes

M77 ; End print screen
;disable motors
M84
;disable all heaters
{% snippet 'disable_hotends' %}
{% snippet 'disable_bed' %}
;disable fan
M106 S0

After print job is cancelled

M77 ; End print screen
;disable motors
M84
;disable all heaters
{% snippet 'disable_hotends' %}
{% snippet 'disable_bed' %}
;disable fan
M106 S0
M117 Print was cancelled

After print job is paused

M76 ; Pause print screen
M117 Print was paused

Before print job is resumed

M75 {{ event.name | truncate:85:... }}
M117 Print was resumed

After connection to printer is established

M117 Octoprint is connected

Before connection to printer is closed

M117 Octoprint was disconnected

Protocol fine tuning

For proper indicate to printer that a job was cancelled from the Octoprint console the G-code M524 must be sent instead of M25 (Pause). Go to Octoprint Settings / Printer / Serial Connection / Firmware & protocol and scroll down to Protocol fine tuning. Then change SD Cancel Command to M524

image

Error Handling

If you are getting a M112 kill error on your printer, change the error handling settings in Octoprint:

Arc Welder

Active the option "G90/G91 overrides relative extruder mode" in Octoprint Settings/Features if use the Arc Welder plugin.

Bed level visualizer support

You can use the plugin Bed Level Visualizer to get an image and the data of the mesh leveling for manual mesh or bltouch.

To obtain just the mesh data use this code in the configuration page of the plugin:

M155 S30  ; set temperature reporting delay, use a value longer than the time it takes for your leveling command to complete.
@BEDLEVELVISUALIZER  ; instruct plugin to start recording responses from printer.
M420 V    ; Get bed leveling mesh data.
M155 S3   ; set the temperature reporting delay back to a shorter time span.

To take a new mesh in non UBL versions, use this code in the configuration page of the plugin:

M155 S30  ; set temperature reporting delay, use a value longer than the time it takes for your leveling command to complete.
G28 XYO   ; Do an optional XY home
G28 Z     ; Do a Z home
@BEDLEVELVISUALIZER  ; instruct plugin to start recording responses from printer.
G29       ; Take a ABL bed leveling mesh.
M155 S3   ; set the temperature reporting delay back to a shorter time span.

To take a new mesh in UBL versions, use this code in the configuration page of the plugin:

M155 S30  ; set temperature reporting delay, use a value longer than the time it takes for your leveling command to complete.
G29 P1    ; Take a bed leveling mesh.
@BEDLEVELVISUALIZER  ; instruct plugin to start recording responses from printer.
M420 V    ; Get bed leveling mesh data.
M155 S3   ; set the temperature reporting delay back to a shorter time span.

EEPROM editor

This firmware is compatible with the Octoprint plugin Marlin EEPROM Editor

Remote firmware update

Install the plugin Firmware Updater, with this plugin you be able to transfer and flash the firmware automatically.

For Ender 3v2

Select file and press "Flash from file"

Watch the video https://youtu.be/Zv4aY6ALNLk