Configuring RepRapFirmware for a Cartesian printer

From RepRap
Revision as of 18:20, 4 August 2015 by Dc42 (talk | contribs)
Jump to: navigation, search

RepRapFirmware is configured at run-time by means of files in the /sys folder of the SD card. You do not have to recompile RepRapFirmware to configure it. You must have an SD card in the on-board socket to use RepRapFirmware, it cannot operate correctly without one.

Main configuration file

The main configuration file is sys/config.g. This file is read when RepRapFirmware starts up. It is typically organised into sections along the following lines.

Prologue and communications section


M111 S0                             ; Debug off
M550 PMyOrmerod                     ; Machine name (can be anything you like)
M551 Preprap                        ; Machine password (currently not used)
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
M552 P0.0.0.0                       ; IP address (0 = use DHCP)
M554 P192.168.1.1                   ; Gateway (not used yet)
M553 P255.255.255.0                 ; Netmask
M555 P2                             ; Set output to look like Marlin

The machine name is used as a basis for the netbios name, so in the above example if your router supports netbios then you can attach to the web interface by typing "MyOrmerod/" into your browser. The password is used when connecting via FTP. If you have more than one Duet on your network, you must given them all different MAC addresses.

Movement section


M569 P0 S1                          ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S0                          ; Drive 1 goes forwards
M569 P2 S1                          ; Drive 2 goes forwards
M569 P3 S1                          ; Drive 3 goes forwards
M569 P4 S1                          ; Drive 4 goes forwards
M574 X0 Y1 Z0 S1		    ; set homing switch configuration (Y homing switch only, at low end, active high)
M906 X800 Y1000 Z800 E800           ; Set motor currents (mA)
M201 X800 Y800 Z15 E1000            ; Accelerations (mm/s^2)
M203 X15000 Y15000 Z100 E3600       ; Maximum speeds (mm/min)
M566 X600 Y600 Z30 E20              ; Maximum jerk speeds mm/minute
M208 X200 Y200 Z200                 ; set axis maxima and high homing switch positions (adjust to suit your machine)
M208 X-8 Y0 Z-0.5 S1                ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
G21                                 ; Work in millimetres
G90                                 ; Send absolute coordinates...
M83                                 ; ...but relative extruder moves

The M569 commands are optional, drives go forward by default.

The XYZ parameters to the M574 command are 0 if there is no homing switch for the axis, 1 if there is a low-end homing switch, and 2 if there is a high-end homing switch. S1 indicates active high inputs (e.g. normally-closed switches), while S2 indicates active low inputs.

The M208 command with parameter S0 or no S parameter defines the maximum coordinate of each axis. These are also the coordinates at which the head is assumed to be when a high-end homing switch is triggered. The M208 command with S1 parameter sets the minimum axis coordinates and low-end homing switch positions similarly.

The M906 command is required. Without it, motor currents will remain at zero. It also takes an optional I parameter, which is the percentage of normal current used to hold the motors in position when the motors have been idle for 30 seconds, default 30%.

Z probe section

To be completed.

Heater and thermistor section

To be completed.

Tool definition section

To be completed.


To be completed.

Homing files

To be completed.

Bed probing file

To be completed.

Tool change files

To be completed.