Hole size: Repetier/Radds vs Reprap/Duet

  • I know that tweaking inside dimensions for 3d printing is a common thing. My question is more around why Reprap/Duet would be printing tighter holes on my delta's with the same gcode vs the repetier/radds setup.

    I'm running 2 delta printers and am running Duet Wifi on one and Duet Ethernet on the other. Mechanically the printers are almost identical. Both printers were previously running repetier/radds controllers. Normally with the radds setup if I wanted to have a clearance hole for a 3mm screw I would make the hole 3.2mm. This would allow the screw to easily pass through the hole. When I print the same gcode with the Duet the screw won't fit in the hole and I have to drill it out. This is the same printer, same gcode with repetier/radds swapped out for Reprap/Duet.

    I'm thinking that it might just come down to the different way the delta moves are calculated by each firmware. I understand that reprap firmware does it differently for deltas vs. repetier/radds. I'm just throwing this out there to see if anyone else has noticed this. Perhaps there is a way I can tweak it in the firmware(doubt it). Ideally I'd like the duet to print the hole sizes similar to the way that repetier/radds did. Not a big deal though as I'll just need to make the tolerance for holes larger in my designs.

    I absolutely love the reprap/duet combo and am migrating all of my 3d printers to these controllers.


    Firmware is 1.18.1

  • administrators

    It might be related to the way that RRF implements jerk limits, in which case adjusting the jerk using M566 may make a difference.

  • This might seem like a silly question, but are you using the same filament on both machines when comparing this?

  • administrators

    Good point, it could be down to filament. Another possible reason is that the hot end temperature calibration is different, so you are printing at a different temperature.

    One trick I have found is that configuring the slicer to generate external perimeters first makes the holes closer to the requested size.

  • Thanks. Good info. I am using the same filament. I did calibrate the hotends on each firmware with an external thermocouple. I need to calibrate more temperatures in the printing range though as I only calibrated to 220.

    I have used the external perimeters trick before and the gcode I used to test used inside-out. I'll print the object with outside-in perimeters and check how much difference it makes.

    I will try adjusting the jerk value and see if it makes a difference. I currently have them set as below. I'll check the repetier config on the board later and compare the jerk settings.

    M566 X600 Y600 Z600 E1200 ; Set maximum instantaneous speed changes (mm/min)


  • administrators

    Repetier probably uses a different jerk algorithm, so the jerk settings may not be directly comparable.

  • It might be down to how repetier performs segmentation, also. AFAIK (from when I used versoin 0.91) repetier has a default segmentation rate for deltas of 100 segments/second. That's a lot of segments, and I could envision that "opening up" the tolerance of a hole, by constantly "overshooting" the real position because of segmentation. You could try lowering or raising the segmentation rate by some value to see if there is any change in hole dimensions.

  • I tried adjusting the jerk with the following settings

    M566 X200 Y200 Z200 E1200;
    M566 X600 Y600 Z600 E1200;
    M566 X1000 Y1000 Z1000 E1200;

    I printed out test objects with each setting and couldn't detect any appreciable difference in size for the holes.

    Decided to focus on the extrusion an use a precise scale to measure RADDS vs Duet.

    I printed out another 2 test objects with the Duet and then put the RADDS board back in and printed out the same 2 test object using the same gcode.

    The hole in the test object is specified as 3.3mm on the test object. On the DUET printed object I cannot insert the 3mm screw (measures about 2.9mm). On the RADDS test object I can fit the screw easily inside. I have a fairly precise scale and decided to weigh the objects.

    The 2 Duet printed objects weigh 3.6 grams together.
    The 2 RADDS printed objects weigh 3.1 grams together.

    That is a difference of about 16% more plastic in the DUET printed objects. The steps per mm for the extruder were set to the same value (190) for both RADDS and DUET. I bumped the steps per mm on the extruder up by 16% on the RADDS (~220) and printed out again. This time the 2 objects weighed 3.6 grams and the screw doesn't fit like on the DUET printed object.

    I wanted to test further and decided to print the test objects out on my other delta (Duet Ethernet) which has a different extruder (bondtech)., I printed the a new test objects gcode out this time in PLA vs ABS on both printers. (Duet vs RADDS).

    Duet Delta with Bondtech (3.6 grams for both objects)
    RADDS Delta (3.1 grams for both objects)

    A similar ratio….of about 20%.

    Both delta's are based of the same config.g with some minor changes to support different extruder.

    Looking solely at my first test using the same printer and Duet vs RADDS. it appears that the Duet is extruding more than the RADDS with the same steps per mm configured. My config.g is below. I don't think I am doing anything to modify my extrusion (no pressure advance). I'm not sure what else could account for this difference.



    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
    ;M665 L311.000 R154.000 H423.8 B140.0 X0.000 Y0.000 Z0.000; SHORT ARMS Set delta radius, diagonal rod length, printable radius and homed height
    M665 L348.000 R154.000 H379.78 B140.0 X0.000 Y0.000 Z0.000; LONG ARMS Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them
    M208 Z0 S1 ; Set minimum Z
    ; Endstops
    M574 X2 Y2 Z2 S1 ; Define active high microswitches
    M558 P1 X0 Y0 Z0 H5 F120 T9000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 R140 S20 ; Define mesh grid
    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X160 Y160 Z160 E420 ; Set steps per mm x32 360
    ;M92 X160 Y160 Z160 E837 ; Set steps per mm x32 360 titan
    ;M350 X16 Y16 Z16 E32 I1 ; Configure microstepping with interpolation
    ;M92 X160 Y160 Z160 E1674 ; Set steps per mm x32 360
    ;M350 X32 Y32 Z32 E32 I0 ; Configure microstepping with interpolation
    ;M92 X320 Y320 Z320 E1674 ; Set steps per mm x32 360
    ;M350 X64 Y64 Z64 E32 I0 ; Configure microstepping with interpolation
    ;M92 X640 Y640 Z640 E1674 ; Set steps per mm x64 360
    ;M350 X128 Y128 Z128 E32 I0 ; Configure microstepping with interpolation
    ;M92 X1280 Y1280 Z1280 E1674 ; Set steps per mm x128 360
    ;M92 X640 Y640 Z640 E1440 ; Set steps per mm x64 360
    ;M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M566 X600 Y600 Z600 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X9000 Y9000 Z9000 E6000 ; Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z1500 E1500 ; Set accelerations (mm/s^2) E3000
    ;M201 X1100 Y1100 Z1100 E800        ; Accelerations (mm/s^2)
    ;M906 X1900 Y1900 Z1900 E800 ; Set motor currents (mA) Titan
    M906 X1900 Y1900 Z1900 E600 ; Set motor currents (mA) Bondtech
    M84 S0 ; Disable motor idle current reduction
    ; Heaters
    M143 S260 ; Set maximum heater temperature to 260C
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    ;M305 P1 T100000 B4725 C7.06e-8 R4700 H30 L0;
    M305 P0 T100000 B3950 R4700;
    M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    ; Network
    M550 PXnaron Delta ; Set machine name
    M552 P0.0.0.0 S1  ; Enable network and acquire dynamic address via DHCP
    ; Fans
    M106 P0 S1 I0 F10 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    ; Custom settings
    M579 X1.0 Y1.0 Z1.0 ;
    M106 P0 S0;
    ;M307 H0 S1.00 A320.6 C614.7 D60.0 B0;
    G1 S2 X0.1 Y0.1 Z0.1;
    ;M572 D0 S0.02; PRESSURE ADVANCE
    ;M307 H1 A253.8 C81.5 D3.0 B0;
    M307 H1 A375.3 C127.4 D5.5 B0;
    M307 H0 A255.8 C374.9 D3.0 S0.8 B0;

  • administrators

    Have you checked that your extruder steps/mm setting is correct, by extruding a known amount of filament under RRF/Duet and measuring the filament consumed? You may be using a lower or higher motor current in your RADDS setup, which may affect the steps/mm.

    What happens if you run RRF on the RADDS?

    Your gcode files probably include a comment giving the amount of filament that the print needs. From that you can work out the weight of filament that the prints need, and work out which weight is correct.

  • I ran some more tests and confirmed that the radds setup is not extruding the correct amount of filament for the print. The amount of filament for the print, according to simplify 3d, is 1206mm. I marked out 1206mm of filament from the extruder and started the print. When the print was finished I was about 190mm short. This works out to about 16% and correlates with the 16% weight difference.

    I did another test and just extruded 1206mm of filament and the error was less (about 40mm). I did set the stepper current with a volt meter on the rapps128 on the radds. It's not a 1:1 relationship with the voltage setting. I probably set it too low and @dc42 is correct about it affecting the steps/mm. I'm thinking that the retractions are causing more missed steps in the print and explains the difference between 40 and 190mm.

    I did an extrusion test on the duet and extruded 1196mm(no skirt). It was bang on within a couple of mm's (could easily have been a measuring error on my end when I marked out 1196mm on the filament). I weighed it and it came out to 3.6 grams. Exactly what simplify 3D said for the plastic weight.

    I am confident after doing these tests that the reprap firmware running on the Duet is extruding the correct amount of filament. I'll adjust the current on my rapps and see if I can get it accurately extruding. Will post back the results.

    Thanks for the input.


  • Nice, thanks for the follow up.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.