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

Marlin Firmware Upgrade 1.1.0 RC8 & RCBugFix (For R1 & R1+PLUS)

Discussion in 'Mods and Upgrades' started by WheresWaldo, Jun 11, 2015.

Thread Status:
Not open for further replies.
  1. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
  2. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    Then you should be right on at .24-.25 make it S4 Z-0.11

    Also I usually still put this in my start code because I have slightly different offsets for some materials, depending..
     
  3. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    I made a typo in post #878 which I just edited after reading your comment.

    I tried "G29 S4 Z-0.11" and the first layer went from 0.34mm to 0.45mm. I am currently printing 20x20mm square at 0.25, 0.50, 0.75, 1.00 & 1.25mm with 0.25mm layer height with "G29 S4 Z0.11". This should make the first layer increase by 0.11mm which is not what I want but being when I tried a negative offset value my first and only layer went from 0.34mm to 0.45mm. Less than a minute left plus cool down time so the square don't warp when removing from the bed while hot.
     
  4. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    Are your firmware settings correct for end stops?
     
  5. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Personally I make the offset one number for my setup, as a .25 layer should always be .25 or so. If I need more or less 'squish' for adhesion or smooth flow I increase or decrease the extrusion multiplier for layer one in the slicer. It doesn't make sense to me to adjust layer one height for adhesion purposes. Why purposely make you first layer the incorrect size.

    And FYI Z offset in MESH doesn't work the same way as M565 in the Robo firmware.
     
    #885 WheresWaldo, Nov 21, 2016
    Last edited: Nov 21, 2016
  6. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Messages for the 11/15 upload files have been corrected to contain the correct Z Axis endstop settings.
    #847 MESH
    #846 ABL
     
    danzca6 likes this.
  7. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    So you set your z offset the same as your layer height? And maybe I don't understand how s3d first layer extrusion percentage works? It seems that the lower you go the lower the first layer starts? So just curious, what do you usually set your first layer extrusion %? Do you not put the z offset S4 etc. In your start gcode, is that what u mean by in your setup?
     
  8. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    Ideally shouldn't offset be the thickness of what you use to mesh as a negative? I thought s3d first layer would raise the model above 100 but does it up the extrusion as well? Just curious what your first layer settings are. And do you set offset EPROM wise or with the gcode section in s3d? I would like to print with a taller first layer
     
  9. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    My offset is exactly the difference between my gauge and the 0 point of the bed. I want layer 1 to be equal to whatever the layers are set at, not something less to account for adhesion. With S3D they actually chose a very poor name for extrusion multiplier of layer one. If you look at the Layer tab and then look at First Layer Width, that basically works like the extrusion multiplier by forcing more plastic out of the nozzle for layer one only, if you choose a value greater than 100%. I store my Z offset in EEPROM, it is set it and forget it.

    Not sure what you are asking in the first sentence. The rest, see my answer above.

    The procedure I use is this. Load firmware, perform MESH, print a very short object with a one layer brim measure brim. If it is off of my layer size I set the Z offset to get it as close as I can. Store setting in EEPROM, print same object again, measure brim, adjust as necessary. If I need more adhesion I increase First Layer Width at the same time. Print one last time, measure brim. If I am satisfied with the results I never touch Z offset again until I mess something up on my printer or flash a new firmware. Start up gcode has no line that adjusts offset.
     
  10. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    Got ya, so really, they made that the width, damn. So then thats what I need to adjust to make the first layer "full" and stick. That was pretty dumb I must say. So I guess really the height shouldn't ever change on s3d of your offset is correct.
     
  11. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Yeah, so when you ask S3D to make the first layer wider, what it really does is squirt out more plastic. It doesn't adjust height or anything else. So really it's not that it actually is wider it is that it just squirts out more and as a result it measures wider. Clear as mud isn't it.

    Please note this is my way of doing this. Most every other person or blogger or vlogger or website will tell you to adjust offset to get better adhesion, even many here will say the same thing. It works, and back in the prehistoric times, when slicers had little to no adjustability, it was the only way to do things. It is better now, but humans are creatures of habit and don't like to change the way they do things, so we are stuck with all that outdated advice.
     
  12. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    so i have noticed that with the lcd, no matter what i do, i cant get it to go in .01 increments, like either 224 or 226 deg, and either -.01 or +.01 on z offset, no matter how careful i turn and push it, it will not lock in on zero? any fix in firmware for this?
     
  13. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    There is a setting in configuration_adv.h but I can't recall what it is, something about encoder steps.
     
    #893 WheresWaldo, Nov 21, 2016
    Last edited: Nov 22, 2016
  14. TRAVIS KEMP

    TRAVIS KEMP Member

    Joined:
    Apr 13, 2016
    Messages:
    32
    Likes Received:
    0
    I usually do fairly precise stuff. So I like this way, more or less how I have been doing it, u just gave me some better tips. I ended up with almost no offset but just a tad, to get the first layer within .01 which is good in my book. Worked great with the ASA and 98%height still gave me correct layer and good adhesion with 104% width. It's perfect. Thanks a ton. It makes sense in a way how they did it, just didn't ever look at it that way. Could have just named it extrusion haha. I'm still waiting for s3d to turn bridge settings on for first top layers and perimeters, honestly once that is done, it's be perfect, and maybe some extra layer by layer stuff instead of different processes. So insane the settings for encoder steps, would I lower that to get it less quarry? Also, my LCD zoffset didn't work, had to send it as a code in s3d?
     
  15. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    @TRAVIS KEMP
    I recall the following code snippet from Configuration.h is what controls just how fast the encoder moves from step to step.
    Code:
    //
    // ENCODER SETTINGS
    //
    // This option overrides the default number of encoder pulses needed to
    // produce one step. Should be increased for high-resolution encoders.
    //
    //#define ENCODER_PULSES_PER_STEP 1
    
    //
    // Use this option to override the number of step signals required to
    // move between next/prev menu items.
    //
    //#define ENCODER_STEPS_PER_MENU_ITEM 5
     
    #895 WheresWaldo, Nov 22, 2016
    Last edited: Nov 22, 2016
  16. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Here are the files as of November 30, 2016. 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 subdirectory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates. These archives contain the complete source modified as noted. Some obvious changes from previous RCBugFix versions and RC7 include multiple types of automatic bed leveling; 3POINT uses an arbitrary 3 points on the bed, LINEAR probes several points in a grid pattern, good for beds that only have a tilt in one plane (the original default option), BILINEAR probes several points in a grid pattern, good for large and/or uneven beds. I chose to enable BILINEAR with these configurations. Also of note in this release is the use of new Speed and Jerk code used by Josef Prusa in his new Mk2 printer. 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
      RCBF_ABL_5-16_12-01 for Robo R1 with 5/16" threaded rod Z-Axis
      RCBF_ABL_8mm_12-01 for Robo R1 with 8 mm Z Axis threaded rods
      RCBF_ABL_PLUS_12-01 for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      RCBF_ABL_R1-TR8_12-01 for Robo R1's with upgraded Z Axis 3rd party lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.6.13 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 support is not supported in this version
    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 enabled w/9 probe points (3 x 3 grid)
    5. BILINEAR bed leveling enabled as default
    6. Improved Code for Speed and Jerk routines
    7. SD Card support
    8. Temperature PID tuning menu enabled
    9. Babystepping enabled
    10. Encoder reversed
    11. Custom 'robo' boot screen (courtesy of @danzca6) - NEW
    12. Lower pitch encoder beeps - NEW
    13. Auto leveling FADE control - NEW
    14. Faster LCD updates and new fonts - NEW
    15. RGB LED control from g-code (M150) - NEW
    New - FADE control allows you to compensate for bed unevenness over a longer range of Z heights. By default, all corrections are made in layer one. To enable this you must issue a M420 Zn.nn code either in a terminal window or added to the beginning of your startup script. Value n.nn is the number of millimeters you would like the FADE to occur in.

    New - The LCD now features a more streamlined small font and a big font for single line items. If you LCD exhibits screen corruption as a result of the sped up code, change line # 475 in Configuration_adv.h to a value of 10. This function will work on most LCD screens with a value as low as 5 uS which can speed up the screen writes significantly. The full speedup (using 5 uS screen delay) can save as much as 300,000 CPU cycles.

    New - With the proper wiring you can now control RGB LEDs direct from your printer using the M150 code. Requires that #define RGB_LED be enabled (Configuration.h line # 1366) and the LED is attached to pins 34, 43, 35 by default. (This feature is currently disabled)

    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:

    #896 WheresWaldo, Nov 30, 2016
    Last edited: Dec 1, 2016
    Sonny's Robo3D and danzca6 like this.
  17. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Here are all files necessary to run Marlin 1.1.0-RCBugFix, as of November 30, 2016 on our Robo3D R1 printers. 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 subdirectory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates. These archives contain the complete source modified as noted. New code from Josef Prusa improving Speed and Jerk routines. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer. MESH bed leveling is the default for these files.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      RCBF_MESH_5-16_12-01 for Original Robo printers with 5/16" threaded rods
      RCBF_MESH_8mm_12-01 for Robo R1 with 8 mm Z Axis threaded rods
      RCBF_MESH_PLUS_12-01 for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      RCBF_MESH_R1-TR8_12-01 for Robo R1's with upgraded Z Axis 3rd party lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.6.13 only.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-perform the MESH leveling routine and save the results.
    5. (Optional) Re-enter you Z axis offset, if needed, using G29 S4 Zn.nn where n.nn is a positive number to move further from the bed and negative to move closer. M565 support is not included in this version. This affects the entire mesh, so you usually do not need Z offset at all.
    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/16 probe points (4 x 4 grid)
    5. MESH Bed Leveling menu enabled
    6. Improved code for Speed and Jerk routines
    7. SD Card support
    8. Temperature PID tuning menu enabled
    9. Babystepping enabled
    10. Encoder reversed
    11. Lower pitch encoder beeps - NEW
    12. Custom 'robo' boot screen (courtesy of @danzca6) - NEW
    13. Faster LCD screen updates and new fonts - NEW
    14. Auto leveling FADE control - NEW
    15. RGB LED control from g-code (M150) - NEW
    New - FADE control allows you to compensate for bed unevenness over a longer range of Z heights. By default, all corrections are made in layer one. To enable this you must issue a M420 Zn.nn code either in a terminal window or added to the beginning of your startup script. Value n.nn is the number of mm you would like the FADE to occur in.

    New - The LCD now features a more streamlined small font and a big font for single line items. If you LCD exhibits screen corruption as a result of the sped up code, change line # 475 in Configuration_adv.h to a value of 10. This function will work on most LCD screens with a value as low as 5 which can speed up the screen writes significantly. The full speedup (using 5 uS screen delay) can save as much as 300,000 CPU cycles.

    New - With the proper wiring you can now control RGB LEDs direct from your printer using the M150 code. Requires that #define RGB_LED be enabled (Configuration.h line # 1366) and the LED is attached to pins 34, 43, 35 by default. (This feature is currently disabled)

    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.
     

    Attached Files:

    #897 WheresWaldo, Nov 30, 2016
    Last edited: Dec 1, 2016
    mark tomlinson and danzca6 like this.
  18. digitalsolo

    digitalsolo New Member

    Joined:
    Mar 23, 2016
    Messages:
    21
    Likes Received:
    5
    Great, thanks Waldo, I'll give this one a shot.

    I'm playing with writing a custom firmware for my Ultimaker 2 clone right now, using the UM2+ board and Ultimaker 2 LCD, using the RC1.1 base (Ulitmaker is on old firmware without MBL available). I've got it all working but the LCD, which is proving to be less than fun to update to RC1.1 format. I appreciate your effort in modifying this for the Robo so that I don't have to. I'm running 2-3 versions old right now on the Robo and can print 100% of my bed surface, 100% of the time, probably 60 prints in a row with no failures, MBL rocks.
     
  19. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,860
    Likes Received:
    3,556
    Happy to be of service to the community.
     
  20. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,074
    I see you went away from the 5x5 mesh. Did you find any issues?
     
Thread Status:
Not open for further replies.

Share This Page