Firmware wishlist and priorities for Duet WiFi and Duet Ethernet

Avatar

By dc42 22 February 2017 14:05

Administrator · 2,672 comments

Many of the items in the original firmware priorities list have now been implemented. So i think it's time to revise the list. Here is a list of possible new features, in no particular order. Please use your reply to this thread to vote for up to 5 of them, putting the most important features first

1. Reworked WiFi server code, including configuration using files on the SD card, automatic retry if the connection is lost, live reporting of signal strength and status, more reliable support of multiple concurrent connections, and optional FTP and Telnet support.

2. Better network security, including SSL if it can be made to work fast enough. Requires most of #1 in this list as a prerequisite.

3. Logging of various events, including print start/pause/resume/cancel/end, and error messages.

4. Independent homing switches for multiple Z motors.

5. True bed levelling using 2, 3 or possibly 4 independently-driven Z motors and a Z probe.

6. Live monitoring of TMC2660 driver status and reporting of problems (e.g. overheat warning).

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.

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

9. Auto-park of motors when power is lost. This will help prevent motors getting out of sync when multiple motors are used to drive a single axis.

10. Axis hysteresis compensation.

11. Better support for laser cutters.

12. Better support for CNC machines.

13. Automatic advance of changes in the colour mix when using a mixing hot end. See deckingman's blog.

14. Support for powering off during a print, then resuming it when the printer is powered up again.

15. Support for PanelOne 20x4 text displays, or possibly 12864 mono graphics displays.

16. Feed-forward temperature control to predict the effect of turning the print cooling fan on or increasing the extrusion rate, and therefore reduce the temperature fluctuation.

17. Filament and printing time odometers.

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

[Added the following at 15:36]

19. Ability to wait for cool down before turning off ATX power.

20. Ability to control an electronics cooling fan thermostatically based on CPU temperature and driver overheat warning.

Anything else? I know a few other suggestions have been made, but I can't remember them all, so please feel free to repeat suggestions you have already made.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By elmoret 22 February 2017 14:12

Member · 180 comments

3, 1, 6, 17, 18

Avatar

By jmg123 22 February 2017 14:37

Member · 12 comments

12
14
15
7
10

I have one of my Duets wired up to a CNC machine at the moment, though it requires a lot of messing about to from Fusion 360 to actually milling something with the Duet. I can help test stuff out though.

My other suggestion would be support for MQTT, to allow the duet to signal other things with it's status, e.g. current temperature, finished printing etc.  With this it would be possible to do stuff like turn off plugs, turn on lights or send text messages when a print had finished.

Last edited by jmg123 (22 February 2017 18:47)

Avatar

By (In)Sanity 22 February 2017 14:58

Member · 279 comments

Let's not forget auto power off of ATX supply after cool down of hot end option.   Priorities really are going to vary widely from user to user.  #7 for example wouldn't gain me a thing,  someone using a delta on the other hand might love it.

19, 3 ,6, 15, 20, 11, 12, 1

Last edited by (In)Sanity (22 February 2017 16:02)


Duet WiFi Powered FFCP with E3D legends hotend system.  BLTouch grid leveling.

Avatar

By appjaws 22 February 2017 15:14

Member · 53 comments

9. Auto-park of motors when power is lost. This will help prevent motors getting out of sync when multiple motors are used to drive a single axis.
16. Feed-forward temperature control to predict the effect of turning the print cooling fan on or increasing the extrusion rate, and therefore reduce the temperature fluctuation.
13. Automatic advance of changes in the colour mix when using a mixing hot end. See deckingman's blog.
3. Logging of various events, including print start/pause/resume/cancel/end, and error messages.

On a coreXY printer it is very important that the 2 belt tensions are the same.  I was wondering if this can be indicated somehow by comparing the power needed to move each of the XY motors and either then relying on the user to mechanically adjust the tension or better still compensate automatically by adjusting the power of the motors, of course this would only be effective if the tensions of the 2 belts were very close in the first place.


Core XY machine, Firmware1.18, WiFi Server1.03, Web Interface1.15a

Avatar

By dc42 22 February 2017 15:38

Administrator · 2,672 comments
(In)Sanity wrote

Let's not forget auto power off of ATX supply after cool down of hot end option.

I've just added that as #19. I also added #20 which I had forgotten about.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By dc42 22 February 2017 15:43

Administrator · 2,672 comments
appjaws wrote

On a coreXY printer it is very important that the 2 belt tensions are the same.  I was wondering if this can be indicated somehow by comparing the power needed to move each of the XY motors and either then relying on the user to mechanically adjust the tension or better still compensate automatically by adjusting the power of the motors, of course this would only be effective if the tensions of the 2 belts were very close in the first place.

Unless one of the belts is over-tight or extremely loose, I don't think it would be possible to use the stall detection to compare the belt tensions.

Can you devise a test print that would show up any asymmetry in the movement?


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By yngndrw 22 February 2017 15:52

Member · 37 comments

In no particular order:

2. Better network security
6. Live monitoring of TMC2660 driver - Including live position updates as they move, rather than just at the end of the move
12. Better support for CNC machines - I've not tried the Duet with my CNC machine, but from what I've seen there's nothing to handle spindles. It would also be nice to have a little hardware module to convert the PWM output to a 0-10V output for the spindle speed
20. Ability to control an electronics cooling fan thermostatically

Avatar

By Dougal1957 22 February 2017 17:04

Member · 292 comments

David

1, 2, 6, 7, 12  is my vote?

Avatar

By Simspeed 22 February 2017 18:00

Member · 26 comments

5, 4, 9, 7, 13 My four new Z motors arrived so I'll soon be ready to implement #5.


Custom C-Beam H-Bot - Hard mount 560mm x 800mm MIC 6 bed plate - 3mm PEI print surface- 120v mains silicone bed heater (3 zones) - 800mm Z axis - polycarbonate enclosure - (4) .09° Nema 23s (Z) - .09° Nema 17s (XY) - Bondtech extruders - E3D Cyclops hotend, 24V power supply

Avatar

By deckingman 22 February 2017 18:10

Member · 799 comments

My personal preference would be 1, 13, 16, 17, 20.


Avatar

By 3dprinting meathead 22 February 2017 18:12

Member · 70 comments

5. True bed levelling using 2, 3 or possibly 4 independently-driven Z motors and a Z probe

would that square up the x axis to the bed? like for an i3, probe z at left and right, and then move each z motor independently to make the x axis parallel to the points probed?

If this question is too off topic, just disregard.


If I can learn it, than anyone can learn it.

Avatar

By roboduet 22 February 2017 19:35

Member · 108 comments

1. WiFi server, specially FTP support. I'm missing it after moving from Duet 0.6
3. Logging.
7. Dynamic microstepping to switch from x16 interpolated mode.
15. Support for 12864 displays.
16. Better temperature control
XX. Automatic firmware update from web interface (download firmware directly from internet, check md5 or sha hash and update if hashsum is ok). Plus `check for updates` button in DWC.

Last edited by roboduet (22 February 2017 20:35)

Avatar

By tomasf 22 February 2017 20:31

Member · 68 comments

1
19
20
16
7

Avatar

By 3dprinting meathead 22 February 2017 20:44

Member · 70 comments

2
6
9
14
8
in no particular order


If I can learn it, than anyone can learn it.

Avatar

By hairy_kiwi 22 February 2017 21:14

Member · 38 comments

3. Logging... of Temperature values also?
15. Support for PanelOne 20x4 text displays, or possibly 12864 mono graphics displays. Especially if useful/required for controlling a machine away from its usual WiFi network?
5. True bed levelling... The 2 z-motor solution would be sufficient for my current setup.
1. Reworked WiFi server code... Not sure I understand the limitations of the current code base well enough, but anyway.
17. Filament and printing time odometers.

Avatar

By cubexupgrade 22 February 2017 21:58

Member · 115 comments

1
2
3
7
...And a filament monitor support based from rotary encoder

Avatar

By caphector 22 February 2017 23:43

Member · 1 comments

13, 1, 7, 2, 15

I'd love to see support for the Prometheus-style multi-filament hot ends as well. Both Prometheus and Prusa have made them. They retract filament when it's not in use and then advance the alternate filament. I think the only big change would be to filament movement distances.

Avatar

By demonio669 23 February 2017 02:29

Member · 33 comments

* Allow M117 to send message via email
* start and stop printing macros (o allow to send email when the print begins and ends)

Avatar

By tomwang256 23 February 2017 03:27

Member · 6 comments

18 - i accidently broke off my usb connector on the paneldue 😩
5
6
7
9

Avatar

By windiesel 23 February 2017 10:07

Member · 14 comments

2
6
7
16
19

Avatar

By T3P3Tony 23 February 2017 13:32

Administrator · 789 comments
caphector wrote

13, 1, 7, 2, 15

I'd love to see support for the Prometheus-style multi-filament hot ends as well. Both Prometheus and Prusa have made them. They retract filament when it's not in use and then advance the alternate filament. I think the only big change would be to filament movement distances.

These are already supported. The retraction length can be set either in the slicing software or the tool change gcode.


Duet Wifi Hardware Designer
www.duet3d.com
www.think3dprint3d.com

Avatar

By pjr3D 23 February 2017 15:02

Member · 11 comments

My vote(s):

1 - There is a need to be more tenacious about finding and then keeping a connection where there are many competing wifi routers. It is the most frustrating aspect at the moment especially in the evening when everyone in the area is going online!
7 - Dynamic stepping for my delta ...
16 - Better temp control is always good.
18 - This is mostly a convenience but would be handy.
17 - Helps to keep track of usage for maintenance etc.

Avatar

By lars 24 February 2017 08:28

Member · 5 comments

My vote:
5
4
6
7
16

Avatar

By appjaws 24 February 2017 10:51

Member · 53 comments

I have been trying to implement a fail safe switch which will stop Z homing and move the bed down 5mm.
I am using your mini probe but want to test a piezo version I have constructed but I am worried that if it fails, nothing will stop the bed moving and damaging the hotend or bed surface.
I originally tried  "M581 Z S1 T2 C0                    ; Set Z stop as fail safe for Z zeroing and run /sys/trigger2.g"
and a  /sys/trigger2.g file with the following entries G91, G1 Z5 F200

This works when moving the bed manually but has no effect when homing Z.

Deckingman suggested using the spare E0 connection "M581 E0 S1 T2 C0"  this did not solve the issue and performed the same as the Z connection.

Does the firmware lock the system until homing has completed?
If so would it be possible to change that so the process can be interrupted in the way shown above or is their another way to protect the hotend and bed from probe failure?


Core XY machine, Firmware1.18, WiFi Server1.03, Web Interface1.15a