Marlin 2015 customized for Type A Machines Series 1 2013 Plywood edition 3D Printer
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Marlin 1.0.0 (2015) customized for Type A Machines Series 1 - 2013 Plywood edition

Marlin 1.0.0 circa 2015 firmware configured for Type A Machines Series 1 - 2013 Plywood edition. Couldn't find a recent Marlin release configured for my older machine from Type A, so I adapted a newer version of Marlin that ships with their new metal Series 1 and reconfigured (hopefully) all of the relevant parameters for my machine. Mostly just in Configuration.h.

Plan to eventually upgrade to Marlin 1.1.0 when it is officially released.


I inferred the particulars of the steppers and belts on my machine through trial and error, so use at your own risk. My machine is plywood with serial no. 0000018 and it's not clear from Type A's website what specific steppers shipped in this early unit, hence the experimentation with the configuration.h DEFAULT_AXIS_STEPS_PER_UNIT.

I don't understand Marlin's versioning scheme, but the code in this repo is definitely newer than what shipped on my unit. In particular, the version of Marlin in this repo includes

  1. PID autotuning via M303
  2. gcode access to EEPROM for storing & manipulating certain parameters via M501 and M502
  3. volumetric filament math
  4. automatic bed leveling
  5. lots of other tweaks I haven't investigated yet

Might end up trying to implement automatic bed leveling -

Useful resources for tuning params:

In particular, my tuned settings for stepper steps/mm:

// #define DEFAULT_AXIS_STEPS_PER_UNIT   {150.15, 150.15, 1012.658, 192.91} //Series 1.3 Direct Drive extruder 400 step motor and Mk7 gear. 1/16th on Y, and E. 1/8th on X and Z.
// #define DEFAULT_AXIS_STEPS_PER_UNIT   {150.15/2, 150.15, 3200/4, 202} //Series 1. Production Rev A (B??). 400 step NEMA17's and V1 drive gear.
// 2015-11-18
// steps scaled based on X & Y measurements of 140mm calibration print
// M92 X75.1851 Y149.9198
#define DEFAULT_AXIS_STEPS_PER_UNIT   {75.1851, 149.9198, 1012.658, 192.91}

Good to know w/ Marlin v1:

//=============================Additional Features===========================

// the microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores paramters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
// So, to change the Z STEPS_PER_UNIT from 800 to 1012
//   M501 - to check params
//   M92 Z1012 - set new Z value to FLASH, note, not saved to eeprom yet
//   M500 - save
//   M501 - double check
//define this to enable eeprom support