Announcement

Collapse
No announcement yet.

New Video about 3d Printer Calibration

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • New Video about 3d Printer Calibration

    In this video, I demonstrate the new g-code terminal I built as a Chrome/Edge website.



    The Github repository with the source code is here:

    ishapiro/3d-printing-tools: Information and tools to enhance your FDM 3d printing experience. (github.com)

  • #2
    I think this is 1 of your best videos: very informative yet easy to follow. You are to be lauded for providing such a tool to the community. I have a couple of suggestions for v1.x, when you get there:
    1. create a "command history/LIFO" box off to the right of the command input box; say, 5 entries. After the user enters a command, copy it to the history box, pushing the oldest command out of the box. If a user wishes to re-execute a command, let them click on it in the history box and copy it to the command box, when it can be sent again.
      This idea could be further enhanced:
      1. have the commands in the history box be executed immediately when they're clicked, or perhaps double-clicked
      2. allow the use to select a history command & make it "permanent" so it doesn't scroll out of the box. Perhaps a checkbox beside each command??
    2. allow the user to enter their own extrusion lengths: e.g. they can enter 50 as the desired extrusion length and 60 as the length marked on the filament. They then enter the length left over after extrusion & your routine does the calculations.
    Including the "use uppercase" option is a really nice touch.

    ​​​​​​​I like how you encourage people to learn basic gcode by having them look up the commands.

    I also like your use of the retractable keychain to hold the electrical cable out of the way on your 3V2. Very McGyver.

    PS. you misspelled integral. 😉

    Comment


    • #3
      Excellent suggestions. I will be adding a history capability. I need to think about the implementation since I am new to Vuejs/Javascript. I could make each entry a URL or a Button (which does not have to look like a button), etc. I need to do some research to determine which is more efficient.

      How humbling to have spelling errors in a software app. You would think vscode would catch that :-)

      Comment


      • #4
        OK, in the spirit of being a beta, I have some more observations/suggestions:
        1. it would be good if the Connect button changed to say Connected & changed color to indicate a connection has been made. Since they're so prevalent throughout society, perhaps changing the button to green when a connection has been made & red when there is no connection would be suitable.
          .
        2. not sure how this could be implemented, but having the option to have the log entries in reverse order would be interesting (i.e. the most recent entries at the top)
          .
        3. at 1 point I had to issue a G92 in order to get the extruder to move.
          .
        4. clicking on the Extruder Steps button seems to cancal the serial connection in the Terminal window. It also unchecks the Upper Case Commands checkbox. Basically, clicking away from the Terminal window seems to wipe out anything that was done in that window. I got around it by opening the Extruder Steps window in a new tab.
          .
        5. the app doesn't support the Brave browser. I get a **** Your browser does not support the web serial framework required for this application *****. I'm not saying you should bend over backwards to make the app compatible with every browser -- that is a neverending battle -- I'm just letting you know about 1 that doesn't work.
        That's about it for now. Hope you find the feedback useful.

        Comment


        • #5
          I really appreciate the feedback. The button recommendation is easy. The only way to hold the connection is probably to open the terminal in a separate window -- I have to see if I make that the default or an option.

          Browser support replies on support for the Web Serial API. If the browser does not support this API I will not be able to support it. (Web Serial API (wicg.github.io)) Basically, Chromium-based browsers support this API today and others such as Safari and Firefox are expected to support it at a future date.

          I like the idea of giving the user the option of new lines on the bottom or top. This should be not too hard to implement. Basically, I map an array to the windows so instead of adding to the bottom of the array I just need to add to the top. I need to investigate the most efficient way to do this.

          Comment


          • #6
            One more question for folks trying out the 3d printer terminal. I am happy to put more time into this project but want to make sure it will get used. How should I promote the idea that this is available beyond my video? Is it appropriate to ask folks on this forum to post links to the tool/video on their favorite 3d printing community sites?

            Comment


            • #7
              Absolutely, it's alright. Why should it be any different than any other app? Others promote the daylights out of their apps. Yours is entitled to promotion as much as them. C'mon guys. Many of you a much more active on Youtube & other sites: give this app a push. Somebody should alert CHEP & other Youtube luminaries like CNC Kitchen.

              Comment


              • #8
                Originally posted by irvshapiro View Post
                One more question for folks trying out the 3d printer terminal. I am happy to put more time into this project but want to make sure it will get used. How should I promote the idea that this is available beyond my video? Is it appropriate to ask folks on this forum to post links to the tool/video on their favorite 3d printing community sites?
                I basically only use OctoPrint and the included terminal and a simple 30 year old calculator to punch in my calipers measurements. Since I have no PC (not even close) to connect, there is no way to check/test your code in any usable way. When I need to work on the printer I usually use my ipad to control the printer. Even the printers display and direct control is not much use. In most cases I glance onto the screen to see when the print it finished, when checking the remote print without using the camera.

                Comment


                • #9
                  @Geit How do you slice your prints without a PC/MAC? Are you slicing on Octoprint? Unfortunately, the slicer that runs inside of Octoprint is quite old. If you want a web-based slicer the latest version of Astroprint uses a more current version of Cura.

                  Unfortunately, my app cannot work on an iPad because no iPad browser I am familiar with has support for the Web Serial API. So far Apple has not supported that relatively new standard.

                  Comment


                  • #10
                    Yeah, without support for serial communications it would be hard to talk to most 3D printers. Wouldn't it be nice if more of them had Ethernet capability.

                    Comment


                    • #11
                      Originally posted by irvshapiro View Post
                      @Geit How do you slice your prints without a PC/MAC? Are you slicing on Octoprint? Unfortunately, the slicer that runs inside of Octoprint is quite old. If you want a web-based slicer the latest version of Astroprint uses a more current version of Cura.
                      I design and slice stuff in my office and upload them into the printers using the OctoPrints web interface. The room keeping the printers is a "computer free zone" (unless you count the slaves RaspberryPi and the printers mainboard as computer). Three printers with three RaspberryPi's connected via WiFi to my network. Thats all. I even turn them on/off using OctoPrint.

                      I know I could use one RaspberryPi for all printers, but this way there is no confusion and each printer can be handled individually. A very nice side effect is that all printer have all objects I ever printed on them. So all it takes to print some old replacement ABS part I did three years ago, is just typing in the name into the web interface of my ABS, select the right item and hit print.
                      Last edited by Geit; 07-14-2021, 03:59 PM.

                      Comment


                      • #12
                        Originally posted by Geit View Post

                        I design and slice stuff in my office and upload them using the OctoPrints web interface. The room keeping the printers is a "computer free zone" (unless you count the slaves RaspberryPi and the printers mainboard as computer). Three printers with three RaspberryPi's connecte via WiFi to my network. Thats all. I even turn them on/off using OctoPrint.

                        That's similar to what I'm doing now: I mostly design & slice on my couch in my living room, upload to OP. I go down to the basement to look after the printers as needed.

                        Comment


                        • #13
                          Originally posted by Ender5r View Post

                          That's similar to what I'm doing now: I mostly design & slice on my couch in my living room, upload to OP. I go down to the basement to look after the printers as needed.
                          I usually only visit my printers to reapply acetone and remove finished parts. For the rest I have the cameras in OctoPrint.

                          Comment


                          • #14
                            Originally posted by Geit View Post

                            I usually only visit my printers to reapply acetone and remove finished parts. For the rest I have the cameras in OctoPrint.
                            Occasionally, I feed my printers some filament 😉

                            Comment


                            • #15
                              Ender5r I have implemented a couple of your suggestions. I picked the easy ones first. I now change the connect button color and message when connected and on an error. I also added an option to "reverse the log". This did introduce a minor bug. If you already have lines in the log it adds all lines from this point forward to the top, leaving the existing lines in place. I really need to clear the log when you select reverse but this would require some additional code and to be honest, I was just too lazy to do that today.

                              While I have used Javascript for many years, I am new to using it more as a true programming language and then add in vuejs, vuetify and AWS Amplify and I spend more time looking up syntax than writing code. At some time soon I need to think about refactoring some of this code. The structure of vuejs makes it very tempting to use lots of global variables assigned to the vue object, I definitely have overused this approach and need to clean up some scope of variables. When I do that I will fix the reverse log option.

                              Let me know what you think.

                              Comment

                              Working...
                              X