Skip to content

Prusa Research MK4

unverified library/marlin/prusa-mk4.hal.yaml

Idprusa-mk4
ManufacturerPrusa Research
ModelMK4
Drivermarlin
Hazardhigh
Limits unconfirmed The library file holds suggested limits for extruder_target, bed_target, fan_speed, home (action), and no person has confirmed those limits yet. How a person confirms the limits
Control channels
ChannelMinMaxStepRate per sUnitConfirmLimit
extruder_target 0 215 1 10 degC confirm suggested
bed_target 0 60 1 5 degC confirm suggested
fan_speed 0 100 1 % none suggested
Actions
ActionArgumentsConfirmLimit
home
  • axes x, y, z, xy, all
confirm suggested
Read channels
ChannelTypeUnitEvery
extruder_temp number degC 2 s
bed_temp number degC 2 s
position_z number mm on request
openhal: "0.1"
device: { name: Original Prusa MK4, model: MK4, manufacturer: Prusa Research }
id: prusa-mk4
match:
  usb: ["2c99:000d"]
  usb_class: cdc
connect: { marlin: auto, baud: 115200, timeout: 5 s, settle: 2 s, autoreport: 2 s }
read:
  extruder_temp: { unit: degC, every: 2 s, range: [0, 320] }
  bed_temp: { unit: degC, every: 2 s, range: [0, 130] }
  position_z: { unit: mm }
write:
  extruder_target: { unit: degC, min: 0, max: 215, step: 1, max_change_per_s: 10, confirm: confirm, suggested: true }
  bed_target: { unit: degC, min: 0, max: 60, step: 1, max_change_per_s: 5, confirm: confirm, suggested: true }
  fan_speed: { unit: percent, min: 0, max: 100, step: 1, suggested: true }
actions:
  home:
    description: Home the axes with G28.
    args:
      axes: { type: enum, values: [x, y, z, xy, all] }
    confirm: confirm
    suggested: true
safe_state:
  - { extruder_target: 0, bed_target: 0, fan_speed: 0 }
interlocks:
  - if: "extruder_target > 0 degC"
    require: "extruder_temp < 300 degC"
    message: "The hotend reads above 300 degC. Check the thermistor before heating."
watchdog:
  heartbeat: 5 s
  on_loss: safe_state
hazard: high
notes: >-
  Suggested limits. A person must confirm every limit before this device can be written.
  The MK4 runs Prusa Buddy firmware, which grew out of Marlin and answers G-code on its USB-C port. The
  limits suit PLA, with the hotend at most 215 degC and the bed at most 60 degC. Prints from the USB stick
  are paused on the printer itself, so this file has no pause or cancel.
provenance: { source: library, by: OpenHAL starter library, at: 2026-10-25, verification: { status: unverified } }