Marlin 1.1.9
Printrboard and Modern Marlin
Tested Release For Heated and Non-Heated Bed Models
Highlights
- This firmware upgrade increases print quality to a level comparable with Prusa Mk3 and Ultimaker 3 all thanks to Linear Advance v1.5 available starting with Marlin 1.1.9
- Babystepping allows live Z-offset during the start of the print
- Size optimized for 128k storage of AT90USB1286 processor
- 3 Point Leveling seems to work better for smaller beds
- Bilinear Bed Leveling which is useful for larger uneven beds
Selecting Firmware for your board
The firmware versioning scheme I used to track changes I made caused some confusion, so just to clarify. The firmware version number does not relate to the board version number. There are only two firmware versions that cover all board versions.
If your board is RevF0 - F6 then use RevF firmware. If your board is marked anything lower then RevF: Use Firmware Marked RevD, RevB
Example
Board Version|Firmware Version |Model |Build Size|Notes
RevF- 0.8_ PlayHB_200x100_Inverted_Probe
If you’re compiling your own firmare use these thermistor options
Hotend Thermistor - Ubis 13 (Ceramic Hotend) or Ubis 13s use: 1 EPCOS 100k
Heated Bed Thermistor table: 7
Downloading Firmware
Make sure to download repo as zip, otherwise right clicking and saving individual hex files will result in downloading an html file which will result in errors when flashing.
Change Log
v0.8 Added new machines, Neo Pixel, Added E3D Hotends, other small changes
v0.6 Smalls with Heated bed 200x150x150 no lcd
v0.5 bugs have been worked out for Play RevF, RevD and older
v0.4 LCD and SD card support works correctly, fixed other bugs
v0.3 Software Fan PWM disabled - caused major decrease in print quality
v0.2 Software FAN PWM enabled to silence squeaky fans
More Firmware for other models is avalible below - You will need to compile Marlin 1.1.8
http://www.xilka.com/printrbot/marlin/1.1.8/20171227a/
Marlin 1.1.9 first time bed leveling guide - after flashing
Printrbot Play 0.2mm layer height Cura 3.5.1
This isn’t your grandma’s 3D printer, please make sure your inductive probe is adjusted properly
- This firmware should be universal for any printrbot, just choose heated bed firmware if you have that option.
- You will need to update the steps/mm for your machine Settings for your Printer Smalls, Simple, Play Plus
- Depending on the model of your printer you will need to adjust the Stepper current
Set Stepper Current
M909
READ: echo:Stepper current values in % (Amps):
Stepper current values in % (Amps):
READ: echo: X:60.00 (16581.82) Y:65.00 (36581.82) Z:60.00 (16581.82) E:65.00 (36581.82)
X:60.00 (16581.82) Y:65.00 (36581.82) Z:60.00 (16581.82) E:65.00 (36581.82)
Example: M907 X60 sets the X-axis motor current to 60% of max possible
M909 Read Motor current Values
M907 Set Current Value
M910 Store Stepper Current Values
Linear Advance is enabled by default
Retraction distance should be limited to 0.7mm
Default value is K0.08 Be sure to calibrate your extruder before a
This can be adjusted while printing
M900 K0.08 ;set k value
M500 ;save
Play with MK8 style extruder Use a K0.05
-
Calibrate your extruder steps/mm before K-factor Extruder Calibration
- Please calibrate your K-factor and share results,
- Each material and color has its own properties for best results calibrate for each material you use. Add the K value to your start gCode for each material Linear Advance gcode Geneartor
Babystepping Z-Offset adjustment while printing
- M290 and LCD menu item to move the z axes by tiny increments without changing the current position values. This feature is used primarily to adjust the Z axis in the first layer of a print in real-time.
- Replaces the need to set the Z-offset multiple times using M212 before printing.
- Easily adjust your offset by adding custom buttons to octoprint using Custom Control Editor Plugin
Z-Offset (the old way M212)
M851 Z-1.95 ;this is the default value
M500 ;save
LCD & SD Card
LCD Support for Reprap_Discount_LCD, Ultipanel and Ultra_lcd
SD Card reader integrated in LCD controller should work
Start gCode
M82 ;absolute extrusion mode
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
G28 ;move X/Y to min endstops
G29 ;run auto bed leveling
G92 E0 ;zero the extruded length
G1 X0 Y0 Z.2 F7000 ;move to front corner and lower
G1 X35 Z.2 E35 F800 ;purge 35mm of filament
G92 E0 ;zero the extruded length again
G1 F9000
;Put printing message on LCD screen
M117 Printing...
Useful gCode
M420 S1 ;loads previous bed leveling matrix
M900 K0 ;disables Linear Advance
M900 K0.5 ;Set linear advance K-value
M290 Z0.02 ;babystep move up 0.02mm on the Z axis
M115 Feature support list
M43 Debug Pins
Expansion Header pinout diagrams
Neopixel Pins
EXP2 Pinout
Using Printrboard without an LCD - all commands available LCD Menu gcode equivalent
##### Build Using PlatformIO or Marlin-Config GUI editor I find Marlin GUI editor can be very laggy so instead I prefer to access it through Chrome
http://localhost:3000
Marlin-config GUI The printrboard only has 128kb of program memory this build of marlin 1.1.9 as configured currently occupies 99.1%
##### Flash using ATMEL FLIP Before Flashing check your eprom and save your steps/mm and machine size After Flashing Make sure to set EPROM to defaults using M502 then M500 to save ATMEL FLIP Download
##### Guide Firmware Loading Guide
##### Programming firmware without a bootloader Caution! Don’t even mess with this if you don’t know what you’re doing! DFU bootloader uses 6k of program memory, inorder to get more features in limited space I choose to program firmware using a USBtinyISP More information
avrdude -c usbtiny -p at90usb1286 -U flash:w:FirmwareHexFileNameHere.hex:i