Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Firmware wishlist and priorities for Duet WiFi and Duet Ethernet

    Scheduled Pinned Locked Moved
    Firmware wishlist
    113
    236
    50.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators
      last edited by

      I've increased it to 30 for the Duet WiFi/Ethernet in the next beta. The other limit is that a complete HTTP request (excluding any postdata) must fit in 1460 bytes. A really large cookie could cause this limit to be exceeded, however DWC hasn't used cookies for a long time.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      1 Reply Last reply Reply Quote 0
      • JohnOCFIIundefined
        JohnOCFII
        last edited by

        @Mike:

        Using StallGuard to detect possible print collisions and layer shifts is probably the coolest feature in Prusa's new i3. I realize it's much easier for them since Prusa Research controls which motors they have, but an option to configure that would be really nice.

        Seconded. I have read the other thread, and realize that there may be limitations, but the concept is sure interesting.

        1 Reply Last reply Reply Quote 0
        • jmg123undefined
          jmg123
          last edited by

          MQTT - so the printer can send out it’s status to MQTT compatible services, not so it can be controlled. Basically the printer reports as an mqtt sensor.

          Personally I would use it to send me a text message via IFTTT , or flash my living room lights when a print has stopped/finished. Though other things like show hot end temperature via the colour of. A Philips hue lightbulb would also be possible.

          Reference designs based on LWIP stack are available. I reckon %complete, finished state and temperatures would be the info to broadcast.

          https://home-assistant.io/components/sensor.mqtt/

          1 Reply Last reply Reply Quote 0
          • ultrasonic2undefined
            ultrasonic2
            last edited by

            10. Axis hysteresis compensation. Backlash compensation
            Please please please do this… without it 3d printing will never be that good without every expensive hardware..

            I have a number of printers of different kinematics but ALL suffer from backlash ... Seeming the only way to get rid of 99% of it is to go with ball screws on the X/Y access but that will massively increase cost, weight and inertia leading to a slow print..

            Also it seems like Marlin is finally implementing this... so..

            Thanks in advance

            1 Reply Last reply Reply Quote 0
            • deckingmanundefined
              deckingman
              last edited by

              @ultrasonic2:

              10. Axis hysteresis compensation. Backlash compensation
              Please please please do this… without it 3d printing will never be that good without every expensive hardware..

              I have a number of printers of different kinematics but ALL suffer from backlash ... Seeming the only way to get rid of 99% of it is to go with ball screws on the X/Y access but that will massively increase cost, weight and inertia leading to a slow print..

              Also it seems like Marlin is finally implementing this... so..

              Thanks in advance

              That's an unusual observation and request. Have you got any pictures or other evidence of how this backlash \ axis hysteresis manifests itself on all your printers? From a basic engineering point of view, backlash is a known phenomenon with screw driven systems and gear trains but not with belted systems, so I'm curious as to why you think that going from a (presumably) belt driven system to a screw driven system would eliminate 99% of the backlash.

              Ian
              https://somei3deas.wordpress.com/
              https://www.youtube.com/@deckingman

              1 Reply Last reply Reply Quote 0
              • jmlundefined
                jml
                last edited by

                My votes in order of priority, though may be too late:

                4. Independent homing switches for multiple Z motors.

                18. Ability to update PanelDue firmware via the web interface.

                7. Dynamically-varying microstepping. This will allow you to configure 256x microstepping most cases, because the microstepping will be reduced automatically during high-speed moves.

                10. Axis hysteresis compensation.

                8. Standstill current reduction, which will allow higher motor currents to be used when the motors are moving.

                1 Reply Last reply Reply Quote 0
                • Alex.crundefined
                  Alex.cr
                  last edited by

                  My Vote, though probably too late:

                  10. Axis hysteresis compensation.

                  7. Dynamically-varying microstepping.

                  I am sure Ian knows this but … in order to make the firmware more CNC friendly i would suggest 3 additional things.

                  G2/G3 circular movement support
                  Pitch error comp on the axis (for lead screw/ball screw support)
                  Change M0/M1 to follow CNC convention with stop and option stop that doesn't necessarily cancel the job or turn the heaters off. Just performs a "feed hold"

                  My 2 cents

                  Voron2.4/Duet3 SBC+6HC+3HC+1LC+1HCL(x2) - Delta/Duet2 Wifi - CubePro/Duet2 Wifi+Duex5 - Laser/Duet3 Mini5+ - Cel Robox - U̶p̶3̶0̶0̶+/D̶u̶e̶t̶3̶ ̶6̶H̶C̶+̶LC1̶ - F̶T̶-̶5̶/̶D̶u̶e̶t̶2̶ ̶W̶i̶f̶i̶ - S̶o̶l̶i̶d̶o̶o̶d̶l̶e̶

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by

                    G2 and G3 are already supported.

                    Please explain what exactly you mean by "Pitch error comp".

                    What exactly is the behaviour you would like to see for M0 and M1?

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • okerchoundefined
                      okercho
                      last edited by

                      My vote for:
                      7. Dynamically-varying microstepping
                      Probe the bed multiple times at each point and take an average

                      😄

                      Okercho
                      Custom Prusa i3 Hephestos with Duet Wi-Fi
                      E3d V6 with Bondtech BMG DirectDrive and PrecisionPiezo Sensor
                      Rebuilding Hypercube Evolution

                      1 Reply Last reply Reply Quote 0
                      • Alex.crundefined
                        Alex.cr
                        last edited by

                        @dc42:

                        G2 and G3 are already supported.

                        Please explain what exactly you mean by "Pitch error comp".

                        What exactly is the behaviour you would like to see for M0 and M1?

                        My bad on the G2/G3. I guess I never gave it a shot…

                        Pitch error comp is built into almost every CNC machine tool. It allows a user to deal with manufacturing defects in the lead screw and ball screws on a machine. Most machines allow a user to "adjust" where a specific point is in the axis. So a table by default might have points every 10MM. If you tell the machine to move to X10.0 but because of the lead screw it moves to 10.02, you can then provide that difference so the motion planner can get to the proper point. This is on top of what we would call steps/mm for the axis. This allows changes over the length of the axis. Not necessary for belts, can be very necessary for screws.

                        For the M0/M1 commands:
                        These are typically "pause commands" in traditional G-code. M0 will provide a feed hold command until a cycle start has been pressed. The spindle continues to turn.
                        M1 does the same thing but is hooked to a switch on the controller called "optional stop". When the optional stop button is on(it is latched on, not momentary) the machine will stop just like an M0 and wait for the operator to press cycle start. If the optional stop button is off the machine ignores the command and keeps running. This is very useful when proving out new CNC programs and tooling.

                        I admit I have not used the pause and resume commands that are in the firmware now. This would just help to bring Reprap firmware to industry standard on the subtractive manufacturing side.

                        Hope all that makes sense!

                        Voron2.4/Duet3 SBC+6HC+3HC+1LC+1HCL(x2) - Delta/Duet2 Wifi - CubePro/Duet2 Wifi+Duex5 - Laser/Duet3 Mini5+ - Cel Robox - U̶p̶3̶0̶0̶+/D̶u̶e̶t̶3̶ ̶6̶H̶C̶+̶LC1̶ - F̶T̶-̶5̶/̶D̶u̶e̶t̶2̶ ̶W̶i̶f̶i̶ - S̶o̶l̶i̶d̶o̶o̶d̶l̶e̶

                        1 Reply Last reply Reply Quote 0
                        • jmg123undefined
                          jmg123
                          last edited by

                          Auto squaring/calibrating by homing dual x and dual y steppers individually.

                          I also have an mpcnc machine that at some point I am going to swap over to a duet ethernet so I can also use it for 1 meter x 1meter x 15cm prints. It has dual x, and dual y steppers. One feature that the branch of marlin has that would be great on the duet would be to automatically be able to square off the x and y axis by moving all 4 motors independently to their own endstops

                          https://www.vicious1.com/auto-squaring/

                          1 Reply Last reply Reply Quote 0
                          • deckingmanundefined
                            deckingman
                            last edited by

                            @jmg123:

                            Auto squaring/calibrating by homing dual x and dual y steppers individually.

                            I also have an mpcnc machine that at some point I am going to swap over to a duet ethernet so I can also use it for 1 meter x 1meter x 15cm prints. It has dual x, and dual y steppers. One feature that the branch of marlin has that would be great on the duet would be to automatically be able to square off the x and y axis by moving all 4 motors independently to their own endstops

                            https://www.vicious1.com/auto-squaring/

                            Hmm, curious. Does it have stops at each end of the axis? Presumably for that to work, the machine would need to have a fair amount of "slop" in the linear guides so that it can twist? Or is some other mechanism employed?

                            Ian
                            https://somei3deas.wordpress.com/
                            https://www.youtube.com/@deckingman

                            1 Reply Last reply Reply Quote 0
                            • jmg123undefined
                              jmg123
                              last edited by

                              @deckingman:

                              Hmm, curious. Does it have stops at each end of the axis? Presumably for that to work, the machine would need to have a fair amount of "slop" in the linear guides so that it can twist? Or is some other mechanism employed?

                              I have 8 endstops, min and max for each rail. Being a meter in length, and a mixture of stainless steel and 3d printed parts, and gt2 belts, you can get up to 2cm off square if you move just one of the motors whilst keeping the other stationary. Doesnt seem to be a problem in use though, as both motors move together to keep it square. I have successfully milled aluminium on it, though usually I just mill wood or polcarbonate.

                              1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman
                                last edited by

                                @jmg123:

                                @deckingman:

                                Hmm, curious. Does it have stops at each end of the axis? Presumably for that to work, the machine would need to have a fair amount of "slop" in the linear guides so that it can twist? Or is some other mechanism employed?

                                I have 8 endstops, min and max for each rail. Being a meter in length, and a mixture of stainless steel and 3d printed parts, and gt2 belts, you can get up to 2cm off square if you move just one of the motors whilst keeping the other stationary. Doesnt seem to be a problem in use though, as both motors move together to keep it square. I have successfully milled aluminium on it, though usually I just mill wood or polcarbonate.

                                That's fair enough - I have twin linear rails on my CoreXY which are only held by a single bolt at each end so if the belt tension isn't exactly the same both sides, it'll twist the axis. In fact, that's how I set the belt tension - push the X is to it's extreme Y position, then adjust the belt tension on one side or the other until it's square with the frame. Obviously once set, the belt tension will keep it square regardless.

                                Actually, on your printer, the fact that both motors move together will keep the axes parallel but not necessarily square. So for auto squaring to work, there would need to be some inherent "flex" in the system. I guess you could use M556 axis compensation but it's a manual process to set it.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by

                                  @jmg123:

                                  Auto squaring/calibrating by homing dual x and dual y steppers individually.

                                  I also have an mpcnc machine that at some point I am going to swap over to a duet ethernet so I can also use it for 1 meter x 1meter x 15cm prints. It has dual x, and dual y steppers. One feature that the branch of marlin has that would be great on the duet would be to automatically be able to square off the x and y axis by moving all 4 motors independently to their own endstops

                                  https://www.vicious1.com/auto-squaring/

                                  This is possible with the Duet/RRF already. Use M584 to create two additional invisible axes (U and V assuming that you only have XYZ) like this:

                                  M584 X0:3 Y1:4 Z3 U10 V11 E5:6:7:8:9 P3

                                  Then when homing X, separate the 2 X motors into X and U and home them together:

                                  M584 X0 U3
                                  G91
                                  G1 S1 X-300 U-300 F3000
                                  …

                                  and then join them again:

                                  M584 X0:3 U10

                                  Similarly for homing Y.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  1 Reply Last reply Reply Quote 0
                                  • deckingmanundefined
                                    deckingman
                                    last edited by

                                    Wow - light bulb moment. I've just realised that I can use this for homing my extruder CoreXY that sits above the hot end CoreXY. Currently I have to remember to check that they are lined up by eye before homing, as only the hot end CoreXY has end stop switches attached. This works because the extruder CoreXY has longer axes than the hot end so they don't have to be too precisely aligned but sometimes when I've been working on the printer, I forget and if the extruders are too far to the left or front, nasty things happen.

                                    Quick question though. Presumably one has to define the other (additional) end stop switches using M574 U and V. But these switches would need to be connected to spare E stops (as there are no U and V estops labelled as such on the board). Can you point me to where I assign an En stop to an axis?

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      E0 endstop is for U and E1 endstop is for V.

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      1 Reply Last reply Reply Quote 0
                                      • deckingmanundefined
                                        deckingman
                                        last edited by

                                        @dc42:

                                        E0 endstop is for U and E1 endstop is for V.

                                        Brill!. I'm currently using E0 and E1 for emergency stops on axis maxima and a separate emergency stop switch but I can re-position these to use two of the estops on the Duex 5.

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        1 Reply Last reply Reply Quote 0
                                        • Dalius98undefined
                                          Dalius98
                                          last edited by

                                          Would implementing Z axis backlash/hysteresis compensation be any easier than X/Y axes?
                                          I am using a belt driven Z with a worm drive reduction. And as such, upon reversing travel direction, I have ~0.07mm of dead space… That's not really a problem for regular usage (one direction movement), but I would like to use mesh bed compensation eventually, and that would pose a bit of a problem...

                                          1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators
                                            last edited by

                                            On a Cartesian printer, it's equally difficult on all the axes. On a delta printer, it may be harder. It partly depends on the amount of compensation needed. Less than 1 full motor step may be easy because we can probably get away with sending the extra steps all at once; but 2 or more full steps is likely to be hard because we will need to send them slowly enough for the motor to move with them, otherwise it is likely to skip steps.

                                            What fraction of a full step (or how many full steps) does your 0.07mm correspond to?

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA