Piper 1 firmware

Marlin 1.1.9

Download it from http://marlinfw.org/meta/download/ and unzip it to C:\Marlin folder (any other name will be fine as well). As of now, the latest version is 1.1.9.

To compile Marlin and upload it to your board you will also need Arduino https://www.arduino.cc/en/Main/Software It is easier to download and use an installer, but if you are proficient you know what you are doing.

Open Marlin.ino file from C:\Marlin\Marlin-1.1.9\Marlin directory. And select Configuration.h

Explanation of configuration.h is at http://marlinfw.org/docs/configuration/configuration.html#configuring-marlin-1.1

Piper 1 specifics:

* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]

#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 4535.44, 1388 }

160 – 20 teeth pulleys 1/32 microstepping, for 1/16 this value will be 80.

4535.44 – Z steps per mm, for 5/16 threaded rod and 32 microsteps.

1388 – Extruder steps per mm for Greg Wade’s extruder with 32 microsteps.


#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 5000 }
#define DEFAULT_ACCELERATION 900 //  X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 100 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 2000 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_XJERK 4.0
#define DEFAULT_YJERK 4.0
#define DEFAULT_ZJERK 0.4

For a larger bed, you may drop jerk to 2

New in Marlin 1.1.9:

* S-Curve Acceleration
* This option eliminates vibration during printing by fitting a Bézier
* curve to move acceleration, producing much smoother direction changes.
* See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained

Uncomment the last line.

You will need to specify bed size:

// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 300

And height:

#define Z_MAX_POS 200

Depending on how you wired your motors (if something moves the wrong direction) you may need to change the direction of motors:

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true

// Enable this option for Toshiba stepper drivers

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true