Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 25019 commits behind Ultimaker:main.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is the new, shiny frontend for Cura. daid/Cura is the old legacy Cura that everyone knows and loves/hates.

We re-worked the whole GUI code at Ultimaker, because the old code started to become a unmaintainable.

Logging Issues

Use this template to report issues. New issues that do not adhere to this template will take us a lot longer to handle and will therefore have a lower pirority.

For crashes and similar issues, please attach the following information:

  • (On Windows) The log as produced by dxdiag (start -> run -> dxdiag -> save output)
  • The Cura GUI log file, located at
    • $User/AppData/Local/cura/cura.log (Windows)
    • $User/Library/Application Support/cura (OSX)
    • $USER/.local/share/cura (Ubuntu/Linux)
  • The Cura Engine log, using Help -> Show Engine Log


  • Uranium Cura is built on top of the Uranium framework.
  • CuraEngine This will be needed at runtime to perform the actual slicing.
  • PySerial Only required for USB printing support.
  • python-zeroconf Only required to detect mDNS-enabled printers

Configuring Cura

  • Link your CuraEngine backend by inserting the following line in home/.config/cura/config.cfg : [backend] location = /[path_to_the..]/CuraEngine/build/CuraEngine

Build scripts

Please checkout cura-build

Third party plugins

Making profiles for other printers

There are two ways of doing it. You can either use the generator here or you can use this as a template.

  • Change the machine ID to something unique
  • Change the machine_name to your printer's name
  • If you have a 3D model of your platform you can put it in resources/meshes and put its name under platform
  • Set your machine's dimensions with machine_width, machine_depth, and machine_height
  • If your printer's origin is in the center of the bed, set machine_center_is_zero to true.
  • Set your print head dimensions with the machine_head_shape parameters
  • Set the nozzle offset with machine_nozzle_offset_x_1 and machine_nozzle_offset_y1
  • Set the start and end gcode in machine_start_gcode and machine_end_gcode
  • If your printer has a heated bed, set visible to true under material_bed_temperature

Once you are done, put the profile you have made into resources/definitions, or in definitions in your cura profile folder.


3D printer / slicing GUI built on top of the Uranium framework







No packages published


  • Python 64.3%
  • QML 32.4%
  • GLSL 2.4%
  • NSIS 0.3%
  • CMake 0.3%
  • Protocol Buffer 0.2%
  • Shell 0.1%