1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Community Favorite Marlin 1.1.7 Release for Robo R1, R1+PLUS & Variants

Discussion in 'Mods and Upgrades' started by WheresWaldo, May 4, 2017.

  1. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Marlin 1.1.2 Release Files (readme)

    Marlin 1.1 represents an evolutionary leap over Marlin 1.0.2. It is the result of over two years of effort by several volunteers around the world who have paid meticulous and sometimes obsessive attention to every detail. For this release we focused on code quality, performance, stability, and overall user experience. Several new features have also been added, many of which require no extra hardware.

    The code has been significantly optimized in several areas, leading to fewer stutters, better delta performance, more reliable USB/Serial communication, and more consistent and deterministic results.

    Among the most significant improvements are:

    • More consistent configuration with sanity-checking.
    • Many more boards supported, with sane defaults for most common features.
    • Improved thermal protection, enabled by default with tight margins for error.
    • Improved Auto Bed Leveling with Bilinear Mesh and probeless operation.
    • Unified Bed Leveling™ – Combining all forms of bed leveling in one package, plus
    • tools like G26 Mesh Validation to improve leveling accuracy even further.
    • Option to "fade" leveling compensation out over several layers to save computes on long prints.
    • Support for up to 5 extruders with different geometries.
    • Support for mixing and switching extruders.
    • Linear Advance compensates for viscosity and pressure to reduce ooze and improve surfaces.
    • Dozens of languages including Japanese, Galician, and Simplified Chinese.
    • Significantly improved UI performance, especially Graphical Display.
    • Display rate adjusts dynamically to prevent print stuttering.
    • M600 Filament Change, Nozzle Clean, Nozzle Park, Auto Park on Pause, etc.
    • Improved support for Bed Leveling probes and Manual Probing.
    • Support for Trinamic steppers, i2c control, steppers as endstops.
    • Endstops can use pin interrupts for improved performance.
    • M43 Pins Debugging to report about, test, and monitor pins and endstops.
    • Print Job Timer
    • Sorted SD Card file listings.
    • Improved host integration, extended capabilities report, keepalive messages,
    • auto-report temperature, and more!
    • Integrated I2C Bus allowing Marlin to interoperate on multiple boards.
    • Support for Case Light, RGB LED, LED Strip. Printer events feedback.
    • New features too numerous to list here. Read the config files for details!
    For complete Marlin documentation click over to the Marlin Homepage.
     
    #1 WheresWaldo, May 4, 2017
    Last edited: May 30, 2017
  2. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Changes since RC8
    In order of significance

    New Features

    • #3152 : SD files alphabetical sort in LCD menus
    • #5887, #5942 : Double Click of Encoder Wheel Jumps to Z-BabyStepping
    • #6154 : Show Filament Width on LCD when SD is disabled
    • #6177 : Support for TinyBoy 2 3D printer (and its OLED display)
    • #6187, #6533, #6410 : G33 Delta Auto-Calibration, Delta optimizations
    • #6240 : Extend RGB LED with Printer Events
    • #6285 : Cheaptronic V2 support
    • #6284 : wt150 (Mightyboard Rev E) & RRD Full Graphic Smart Controller
    • #6325 : M20 now includes file size in listing
    • #6346 : Add support for SOLENOID_PROBE
    Bed Leveling
    Improvements
    • #5794 : M600 wait for heatup, prevent stepper timeout, etc.
    • #5984, #6278 : Additional Delta calibration settings
    • #6100 : Enhancement of PWM, with dithering
    • #6124, #6271 : Improved MCP4728 support (stepper current control)
    • #6149 : Convert feedrate on SCARA from mm/s to deg/s
    • #6190 : Message for every KILL and STOP (also need delays)
    • #6220 : Implement M421 for BiLinear and UBL
    • #6264, #6281, #6282 : Add Support for up to 5 extruders
    • #6272 : Make ADC sensor reading frequency adjustable
    • #6283 : Save / restore z_fade_height in EEPROM
    • #6315 : M421 for all forms of bed leveling
    • #6330 : Sanity check per-axis options' array sizes
    • #6348 : Improved support for TMC2130.
    • #6368 : Add Linear Advance values to EEPROM and LCD
    • #6406 : New Marlin git Unix/Linux/macOS helper scripts
    • #6508 : PlatformIO-related improvements
    • #6567 : Shutdown heaters, autotemp on SD Cancel
     
    #2 WheresWaldo, May 4, 2017
    Last edited: May 4, 2017
  3. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Additional improvements since RC8

    Configuration
    • #5676 : Configuration.h - reword Z PROBE section
    • #5762 : Z_DUAL_ENDSTOPS - make offset a configuration item
    • #6256 : Use same config name for all mesh dimensions
    • #6293 : Put TOSHIBA with other stepper driver options
    • #6457, #6460, #6471 : "FolgerTech-i3-2020" & "gCreate gMax" example configs
    • #6556 : Use USE_CONTROLLER_FAN for a controller fan
    Bug Fixes
    • #5678 : G38 bug fix, made double touch optional & reverted to Z_MIN_PROBE
    • #5854 : M600 cleanup and bugfix
    • #5989 : Fix delta_angles
    • #5994 : Fix makefile errors, cleanup
    • #6088 : Make sure heaters are off in kill()
    • #6139 : Board A4JP should be SCOOVO_X9H
    • #6201 : Fix broken auto#.g, some other regressions
    • #6212 : Fix LCD preheat menus
    • #6213 : Init bed_level_virt_interpolate on EEPROM load
    • #6215 : Fix thermal runaway when nonexistent bed temp is set
    • #6309 : Fix incorrect MINIMUM_STEPPER_PULSE calculations
    • #6311 : Have M109 / M190 do nothing with no parameters
    • #6337 : CORExx endstop detection fixes
    • #6341 : Fix lcd_babystep_zoffset()
    • #6342 : Fix softspi variant conditional for 1284p
    • #6362 : Only queue babysteps if axis is in a known position
    • #6363 : Fixed a display initialization issue.
    • #6487 : Fix issue in itostr4sign with numbers <100
    • #6490 : Fix endstop not enabled if pin is zero
    • #6516 : DAC_MOTOR_CURRENT_DEFAULT for Rigidboard V2
    • #6530 : Fixes for DUAL_NOZZLE_DUPLICATION_MODE
    • #6548 : Fix Dual-Z endstop conditional test
    • #6557 : Keep refreshing LCD if hotend status is on-screen
    LCD / Controllers
    • #6313 : Allow 10mm Movements for Z-Axis
    Code Cleanup
     
    #3 WheresWaldo, May 4, 2017
    Last edited: May 4, 2017
  4. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Auto Bed Leveling

    May 15th, Joe DiMaggio began his historic major league baseball hitting streak of 56 games in 1941 and the files for Marlin 1.1.1 Release are here. I have separated them out into several compressed archive files. Just download the one you need and extract the appropriate files within the Marlin source sub-directory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates or from RCBugFix. These archives contain the complete source modified as noted. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      Marlin_111_ABL_R1 for Robo R1 with 8 mm Z Axis threaded rods
      Marlin_111_ABL_PLUS for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      Marlin_111_ABL_TR82 for Robo R1's with upgraded Z Axis 3rd party TR8*2 lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.8.2 only.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-enter you Z axis offset using M851 as a positive number. M565 is no longer supported in this version
    5. Make sure to run the PID auto tune routine for your printer for both hotend (E0) and bed (E-1). Edit Configuration.h with your specific values and recompile and upload to your printer.
    Common to all these files are:
    1. Set up for Hexagon hotend
    2. Full Graphics LCD enabled
    3. EEPROM memory enabled
    4. Automatic Bed Leveling (Bilinear) enabled w/16 probe points (4 x 4 grid)
    5. Babystepping enabled
    Please note that I am not one of the Marlin developers. If you have an issue with this release post here first. If it is determined that it is not a configuration issue, then you may be directed to post the issue on Marlin's GITHUB. I cannot guarantee success using 'unofficial' firmware, I can vouch for error free compiling with these included files. If there are issues with the configuration let me know and we can work on them together.
     

    Attached Files:

    #4 WheresWaldo, May 4, 2017
    Last edited: May 15, 2017
  5. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    MESH Bed Leveling

    May 15th, Alabama Governor George Wallace is shot and left paralyzed while campaigning for President of the United States in 1972, and here are the files for Marlin 1.1.1 Release. I have separated them out into several compressed archive files. Just download the one you need and extract the appropriate files within the Marlin source sub-directory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates or from RCBugFix. These archives contain the complete source modified as noted. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      Marlin_111_MESH_R1 for Robo R1 with 8 mm Z Axis threaded rods
      Marlin_111_MESH_PLUS for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      Marlin_111_MESH_TR82 for Robo R1's with upgraded Z Axis 3rd party TR8*2 lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.8.2 only.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-enter you Z axis offset, if needed, using M851 Zn.nnn, where n.nnn is the amount of offset from the bed. M565 support is not included in this version of Marlin.
    5. Make sure to run the PID auto tune routine for your printer for both hotend (E0) and bed (E-1). Edit Configuration.h with your specific values and recompile and upload to your printer.
    Common to all these files are:
    1. Set up for Hexagon hotend
    2. Full Graphics LCD enabled
    3. EEPROM memory enabled
    4. MESH Bed Leveling enabled w/25 probe points (5 x 5 grid)
    5. MESH adjustment heights configured to prevent minimize micro-steps
    Please note that I am not one of the Marlin developers. If you have an issue with this release post here first. If it is determined that it is not a configuration issue, then you may be directed to post the issue on Marlin's GITHUB. I cannot guarantee success using beta firmware, I can vouch for error free compiling with these included files. If there are issues with the configuration let me know and we can work on them together.
     

    Attached Files:

    #5 WheresWaldo, May 4, 2017
    Last edited: May 14, 2017
    mark tomlinson likes this.
  6. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Uniform Bed Leveling

    May 15th and on this day in 1930 Ellen Church became the first female flight attendant. Here are Marlin 1.1.1 Release files for Unified Bed Leveling (UBL).

    Basic steps required:
    1. Download the attached files appropriate for your hardware
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.8.2 only.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Some more text description uploaded here.
    5. Re-enter you Z axis offset, if needed, using M851 Zn.nnn, where n.nnn is the amount of offset from the bed. M565 support is not included in this version of Marlin.
    6. Make sure to run the PID auto tune routine for your printer for both hotend (E0) and bed (E-1). Edit Configuration.h with your specific values and recompile and upload to your printer.

    For a complete explaination explaining the use of UBL view the video above
     

    Attached Files:

    #6 WheresWaldo, May 4, 2017
    Last edited: May 15, 2017
  7. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Notes on revising configuration files:

    Alternate lead screw options

    If you have other versions of the Robo R1, perhaps with 5/16" threaded rods or with TR8-8 lead screws, Configuration.h already has the proper lines included but commented out. To make your personalized adjustments.
    1. Download the files for the R1 in either MESH or ABL variants
    2. Edit Configuration.h at lines 465 - 469 and uncomment only one line with the proper parameters
      Code:
      #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 2560, 800 }  //--BH Default steps per unit for RoboR1 8mm Threaded Rods
      //#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 800, 800 }  //--BH Default steps per unit for RoboR1+PLUS
      //#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 1600, 800 }  //--BH Default steps per unit for RoboR1 TR8*2
      //#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 800 }  //--BH Default steps per unit for RoboR1 TR8*8
      //#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 2267, 800 }  //--BH Default steps per unit for RoboR1 5/16" Threaded Rods
    3. Save Configuration.h, recompile and flash your printer with the new firmware

    Changing LCD Controller

    If you are using a different LCD controller such as the XXL or other 20 x 4 LCD display
    1. Download the files for the proper variant of your Robo3D R1 printer
    2. Edit Configuration.h in the LCD section commenting line 1313 and uncomment line 1299
      Code:
      #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER  //--BH
      
      Code:
      #define REPRAP_DISCOUNT_SMART_CONTROLLER
    3. Save Configuration.h, recompile and flash your printer with the new firmware

    Homing Z Axis near the front corner

    If you want to the Z axis to home somewhere other than the middle of the bed you can make the following edits to Configuration.h
    1. Download the files for the proper variant of your Robo3D R1 printer
    2. Edit Configuration.h, presented here are a couple of options
    • Comment the line for Z_SAFE_HOMING (line # 912)
      Code:
      #define Z_SAFE_HOMING  //--BH
      This will cause the Z axis to home at X0 , Y0 when issuing a G28 command. Alternatively you can leave Z_SAFE_HOMING as is and edit lines 915, 916 by changining the divisor to anything more than 2. For example changing the Divisor to 10 will home Z at X22 Y23 when a G28 command is issued.
      Code:
      #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28).
      #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28).
    3. Save Configuration.h, recompile and flash your printer with the new firmware

    Changing leveling methods

    If you want to change leveling methods the first suggestion would be to download the correct set of files for the type of leveling you want. If you want to edit the Configuration.h file yourself, the proper way to do that is to download the set of files that already has the method you want to use preconfigured. You may also edit the following sections:
    Code:
    //#define AUTO_BED_LEVELING_3POINT
    //#define AUTO_BED_LEVELING_LINEAR
    #define AUTO_BED_LEVELING_BILINEAR
    //#define AUTO_BED_LEVELING_UBL
    //#define MESH_BED_LEVELING

    Only use Bilinear, MESH or UBL as the other methods are inferior in accuracy. If you are moving from MESH to an auto-leveling scheme you also need to editing the following lines:
    Code:
    #define LCD_BED_LEVELING
    ...
    #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 10)
    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 10)

    The first needs to be commented the other two need the last parameter changed back to a divisor of 2.
     
    #7 WheresWaldo, May 4, 2017
    Last edited: May 6, 2017
    mark tomlinson likes this.
  8. Luke W

    Luke W New Member

    Joined:
    Nov 25, 2015
    Messages:
    12
    Likes Received:
    5
    I saw the release pop up on reddit and came here to see if it had been gotten to yet.

    You are a machine @WheresWaldo. Thank you.
     
    Geof likes this.
  9. anngeelow81

    anngeelow81 Member

    Joined:
    May 20, 2016
    Messages:
    41
    Likes Received:
    9
    good work waldo
     
  10. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Thanks to @Patrick Ryan for finding a bug and letting me know, I found a comparable issue already opened on the Marlin GITHUB here:

    As soon as the developers port the fix back to the release version I will download the files and recreate the file sets for this thread.
     
    Luke W and Patrick Ryan like this.
  11. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Why is Roxy-3D the only voice of reason in that thread? hahaha I guess I will hold off on getting too excited to update to 1.1.0 just yet.
     
    jim3Dbot likes this.
  12. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @danzca6 Yeah, I am trying to get her to contact me about getting a set of instructions for UBL that will work for our community, I am still a bit reluctant to endorse UBL until there is an easy way to manually create the entire grid. I just don't like using the Robo limit switches to auto-create the grid since the repeat-ability of the Z Axis limit switches is not very good. With all the bed flex I told her that on a 100 point grid I would need to adjust somewhere in the neighborhood of 80 points manually, might as well just do them all manually.
     
    Robert55 and jim3Dbot like this.
  13. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    New files are here!

    The developers put them under the Release source code link but named it Bugfix-1.1.0. It should fix the serial communication bug that appears to have affected every single user of the new code.
     
    Patrick Ryan likes this.
  14. Sean Carson

    Sean Carson Member

    Joined:
    Feb 4, 2016
    Messages:
    155
    Likes Received:
    22
    Does UBL really need a LCD controller? I'm getting an error at compile because I disabled it.
     
  15. Sean Carson

    Sean Carson Member

    Joined:
    Feb 4, 2016
    Messages:
    155
    Likes Received:
    22
    I think we need a UBL walkthrough. command X sets the Z offset, command y probes. Command Z edits the mesh, etc.
     
  16. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Sean Carson If you disable the G26 grid editing (line # 859) I think you don't need the LCD.

    Preaching to the crowd, there is a wiki page but it is outdated and confusing. Every time I try to get Roxy-3D to explain it all I get is that it is easy to do, but it just isn't 'easy'. There is also no way to manually probe the entire bed, I guess that would be too much like MESH. At the current moment I see no value add for using UBL over MESH.
     
  17. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Yea, you would need to take that up with the Marlin Dev team (a rather large herd of cats). :)

    @WheresWaldo has done a really terrific job of being the middle-man, but he doesn't write it.
     
    FrankArmor and Patrick Ryan like this.
  18. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    There is a U.B.L. Getting Started Guide in development, here is a copy.
     

    Attached Files:

    FrankArmor likes this.
  19. anngeelow81

    anngeelow81 Member

    Joined:
    May 20, 2016
    Messages:
    41
    Likes Received:
    9
    was the communication error thru pronterface only? ive had no issues thru cura.
     
  20. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Communication error was a Marlin thing not how you connected to it. The current files here solved that issue.
     

Share This Page