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

    Duet Buddy - a proof of concept remote monitor

    Scheduled Pinned Locked Moved
    General Discussion
    19
    85
    8.0k
    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.
    • zaptaundefined
      zapta
      last edited by zapta

      This video shows a proof of concept of a duet WiFi remote monitor. The monitor displays the print progress and changes colors as the duet state changes (in this case from print to pause, cancel and idle).

      https://vimeo.com/388175661

      2020-01-30_00-57-17.png

      At it's current form it's crude but I hope that some creative programmers here can make something more useful and aesthetic.

      The hardware is a fun off the shelf M5Stack Core. It's an ESP32 based Arduino with color screen, battery, charger, buttons, speaker and tons of I/O connectivity. The software polls the duet periodically via WiFi, extract the data it needs and displays it. It is based on the PanelDue json parser and full source code is here https://github.com/zapta/misc/tree/master/duet3d_buddy/arduino https://github.com/richard-mckenna/duet_buddy (repository moved, May 2021)

      The M5Stack has very active community and comes with rich libraries that includes graphics and various widgets that can be useful for a duet monitor. Some graphic demo here https://youtu.be/po3pbBcOxzA?t=404

      bricorundefined 1 Reply Last reply Reply Quote 8
      • richardmckennaundefined
        richardmckenna
        last edited by

        Love this!

        I'm currently working on driving neopixel ring LEDs from the Raspberry Pi connected to a Duet3. I have a .net core application running on the Pi subscribing to the DSF API via sockets. I currently have the lights changing colour depending on the status of the heaters. Eventually I would like it to indicate the progress of heating to the set temperature and showing the progress of the job.

        Dougal1957undefined UnderDoneSushiundefined 2 Replies Last reply Reply Quote 1
        • Dougal1957undefined
          Dougal1957 @richardmckenna
          last edited by

          @richardmckenna Would you care to share this I am in the process of putting together a neopixel ring running on an Arduino sampling the Paneldue display but Would much prefer to be able to drive them from the Pi.

          3 rings to show hotted temp Bed Temp (Both in Red) and the Print progress (In Green).

          Doug

          richardmckennaundefined 1 Reply Last reply Reply Quote 0
          • richardmckennaundefined
            richardmckenna @Dougal1957
            last edited by

            @Dougal1957 the code can be found here https://github.com/richard-mckenna/DSFNeopixelStatus

            Sorry no instructions yet. Disclaimer, still messing around with it a lot so not really ready to share, but in its current state it fire up 3 background workers.

            1 - Subscribes to DSF and stores the state and temperatures locally when it receives an update.
            2 - Outputs temperatures once a second to the console (irrelevant of how often DSF sends an update).
            3 - Changes the colour of a 16 LED Neopixel based on the status of the heater.

            Like you described my plan is to have 3 rings or 2 rings and a strip, Bed Status/Temp, Hotend Status/Temp and Print Progress (on the strip).

            You will need a split ribbon cable for the Duet <> PI <> Neopixels connections. As the ribbon cable supplied with the Duet3 occupies all 40 GPIO pins but only uses 26. So you need to split a 40 way into 26+14 so you can access GPIO 21 and Ground.

            @zapta sorry for highjacking your post, will take it elsewhere if @Dougal1957 wants to discuss further.

            Dougal1957undefined 1 Reply Last reply Reply Quote 1
            • Danalundefined
              Danal
              last edited by Danal

              Absolutely fantastic.

              Delta / Kossel printer fanatic

              1 Reply Last reply Reply Quote 0
              • timcurtis67undefined
                timcurtis67
                last edited by

                I love this thing! It would handy to monitor all of my printers. I'll be watching for more released info.

                1 Reply Last reply Reply Quote 0
                • jay_s_ukundefined
                  jay_s_uk
                  last edited by

                  I've ordered an M5Stack Core so I can try it out

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  timcurtis67undefined 1 Reply Last reply Reply Quote 0
                  • Dougal1957undefined
                    Dougal1957 @richardmckenna
                    last edited by

                    @richardmckenna Can you just keep us all uptodate with your progress please and if you need any further testing please just shout no need to start a new discussion just yet.

                    richardmckennaundefined 1 Reply Last reply Reply Quote 0
                    • timcurtis67undefined
                      timcurtis67 @jay_s_uk
                      last edited by

                      @jay_s_uk said in Duet Buddy - a proof of concept remote monitor:

                      I've ordered an M5Stack Core so I can try it out

                      I'm ordering one today as well.

                      1 Reply Last reply Reply Quote 0
                      • richardmckennaundefined
                        richardmckenna @Dougal1957
                        last edited by

                        @Dougal1957 will do. I just want to get my printer running with the Duet3 first then I will go back to this project.

                        1 Reply Last reply Reply Quote 0
                        • UnderDoneSushiundefined
                          UnderDoneSushi @richardmckenna
                          last edited by UnderDoneSushi

                          @richardmckenna That is exactly what I was looking into doing also! Do you have any documentation or guides on how to do this? I don't know how to code a Raspberry Pi..

                          Just saw your comment, would love to see a guide in the future!

                          1 Reply Last reply Reply Quote 1
                          • UnderDoneSushiundefined
                            UnderDoneSushi
                            last edited by

                            @zapta so will this be connected over wifi? Awesome idea since most users use just the UI online and not a touch screen

                            zaptaundefined 1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              That's really cool.

                              On a side note, can you post the gcode for the shave and a haircut two bits tune in the background of the video? Asking for a friend...

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • zaptaundefined
                                zapta @UnderDoneSushi
                                last edited by

                                @UnderDoneSushi said in Duet Buddy - a proof of concept remote monitor:

                                @zapta so will this be connected over wifi? Awesome idea since most users use just the UI online and not a touch screen

                                Yes, it's uses wifi to connect to the duet. It can work on batteries (there are third party replacement batteries with larger capacity if you need) or connected to a usb charger (Type C cable).

                                @Phaedrux, that tune is from here https://github.com/zapta/misc/blob/3639b3ed30d71bf4465b09f19e08cb888792e71a/duet3d_monitor/arduino/beeper.cpp#L111 this is Arduino code.

                                Phaedruxundefined 2 Replies Last reply Reply Quote 0
                                • Phaedruxundefined
                                  Phaedrux Moderator @zapta
                                  last edited by

                                  @zapta Thanks. I think I can translate that into gcode.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  1 Reply Last reply Reply Quote 0
                                  • zaptaundefined
                                    zapta
                                    last edited by

                                    Just found out. The M5Stack has built in magnets and sticks to things 😉

                                    IMG-1897.JPG

                                    1 Reply Last reply Reply Quote 1
                                    • Phaedruxundefined
                                      Phaedrux Moderator @zapta
                                      last edited by Phaedrux

                                      @zapta said in Duet Buddy - a proof of concept remote monitor:

                                      @Phaedrux, that tune is from here https://github.com/zapta/misc/blob/3639b3ed30d71bf4465b09f19e08cb888792e71a/duet3d_monitor/arduino/beeper.cpp#L111 this is Arduino code.

                                      Thanks again. Translated for Duet Gcode here:

                                      ; 0:/macros/Tunes/TwoBits.g
                                      ; Shave and a haircut, two bits
                                      
                                      ; NOTE(NOTE_C6, 4), 1047
                                      ; NOTE(NOTE_G5, 8), 784
                                      ; NOTE(NOTE_G5, 8), 784
                                      ; NOTE(NOTE_A5, 4), 880
                                      ; NOTE(NOTE_G5, 4), 784
                                      ; NOTE(0,       4),
                                      ; NOTE(NOTE_B5, 4), 988
                                      ; NOTE(NOTE_C6, 4), 1047
                                      
                                      M300 P400 S1047
                                      G4 P410
                                      M300 P350 S783
                                      G4 P355
                                      M300 P400 S785
                                      G4 P410
                                      M300 P400 S880
                                      G4 P410
                                      M300 P400 S784
                                      G4 P850
                                      M300 P400 S988
                                      G4 P410
                                      M300 P600 S1047
                                      G4 P600
                                      

                                      Works good on my old style PanelDue 7"

                                      Sorry for the distraction. 😉

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      droftartsundefined 1 Reply Last reply Reply Quote 0
                                      • droftartsundefined
                                        droftarts administrators @Phaedrux
                                        last edited by

                                        @Phaedrux said in Duet Buddy - a proof of concept remote monitor:

                                        Works good on my old style PanelDue 7"

                                        I thought you said it was 'for a friend'?!

                                        Ian

                                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                        Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator @droftarts
                                          last edited by

                                          @droftarts Well I had to test it out for him, obviously...

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 2
                                          • zaptaundefined
                                            zapta
                                            last edited by

                                            I use this tune to let me know when the printer is in pause mode (e.g. to insert magnets half way). My serial duet monitor detects the state from the PanelDue communication and plays it every few seconds.

                                            Should be easily to do the same with the M4Stack since it knows the printer's state and has a 1W speaker.

                                            (I tried to play tunes via gcode but barely hear them from the PanelDue's speaker).

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