Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order
    1. Home
    2. gtj0
    • Profile
    • Following 3
    • Followers 6
    • Topics 109
    • Posts 1296
    • Best 212
    • Controversial 1
    • Groups 0

    gtj0

    @gtj0

    327
    Reputation
    138
    Profile views
    1296
    Posts
    6
    Followers
    3
    Following
    Joined Last Online
    Website github.com/gtjoseph Location Golden CO USA

    gtj0 Unfollow Follow

    Best posts made by gtj0

    • Black Beauty Arises!

      I feel like the guy who builds a boat in his basement or the classic car guy who spends more time working on his car than driving it. Anyway, I started build Black Beauty a few years ago and although I've done plenty of printing, lately I've been working on the software side of things. A few weeks ago I realized I needed to get back to actual printing but thought Black Beauty was looking a little rough around the edges and could do with some minor work. Then it occurred to me that having all the wiring and electronics on the back of the printer just didn't look right. That turned into a complete re-wiring job.

      So, this is what I wound up with...
      IMG_20200311_155531.jpg

      The whole assembly is elevated to allow good air flow and there's a cover that sits on top of the whole thing.

      Mains enters at the back and all mains wiring stays at the center back. Luckily the two power supplied cooperated by having their mains terminal towards the center. Low voltage exits the power domain to the left and right and never crosses mains wiring.

      Back left to right

      • 5V6A 12V3A PSU. This provides 5V to all electronics and 12V to my touch screen monitor.
      • The two SSRs switch the mains powered bed and the 24V21A PSU.
      • The 24V PSU has a blower fan on top pointing to the right.

      Front right to left

      • The SBC I'm using is a Jetson Nano.
      • There's a small USB hub that connects the Nano's serial and debug ports to my development machine for testing purposes.
      • The ribbon cables on the right side of the Nano connect to the Duet3's 26pin header and provide 5V power to the Duet3 and the serial uart on the Duet3 connects back to the Nano for diagnostic purposes.
      • The Nano has a network cable of course but also connected is the USB camera, the Duet3's USB port, and my touch screen monitor (HDMI and USB).
      • You can figure out what's connected to the Duet3 by looking at it. 🙂
      • The RJ45 connectors on the left go to the bed (temp and LEDs), tool carriage(temp, probe, endstop) and my manual emergency button box.

      Here's a wider view:
      IMG_20200311_155902.jpg
      The control box, from left to right:

      • The latching stomp button connects to the reset header on the duet.
      • The paddle switch turns 5V to the Duet3 on and off.
      • The green button is the power button for the Nano.
      • The red button is the reseet switch for the Nano.

      Here's what the top end looks like now although I have a feeling it'll need some "minor" work as well 🙂

      IMG_20200311_155822.jpg

      And in all its glory:

      IMG_20200311_155752.jpg

      Look nice and neat huh?

      Here's what my workspace looks like: 🙂

      IMG_20200311_155713.jpg

      posted in My Duet controlled machine
      gtj0
      gtj0
    • DueUI: An Alternate Web Interface

      Around the beginning of the year I was getting a little frustrated trying to find the "right" way to control my printer from the printer itself. I have a PanelDue but the layout just doesn't fit my work process and while I can, and have, modified the firmware to be closer to what I wanted, it just wasn't enough. So then I spent some time trying to figure out if there were a way to allow the PanelDue's layout to be controlled from a config file and quickly realized that while the PanelDue is great at what it does, dynamically laying out the UI isn't one of them. Then I had an epiphany. Just before Christmas I bought an Amazon Fire 7" Tablet for $79 as a backup to my trusty Nexus 7. It's got a Chromium based HTML5 browser. Can you see where I'm headed? No? Look at these screenshots...

      0_1550458494310_Screenshot_2019-02-17_19-23-35_localhost.png

      0_1550458528216_Screenshot_2019-02-17_18-34-16_localhost.png

      0_1550458561188_Screenshot_2019-02-17_15-47-52_localhost.png

      So now I have a UI that's close to what I want but that's not the best part. Every one of the tabs, buttons, labels, etc. were configured in 1 config file. This way you can get the layout you want.

      Here's a sample config for the 2 heater widgets...

      // Minimal config for  the Bed using the built in defaults.
      {
      	"id": "bed_heater",
      	"type": "heater",
      	"enabled": true,
      	"label": "Bed",
      	"position": {
      		"my": "left top",
      		"at": "right top",
      		"of": "#heater_labels"
      	},
      	"button_defaults": {
      		"style": {
      			"height": "2.5em"							
      		}
      	},
      	"tolerances": [
      		{"limit": 2, "style": {"background": "lightgreen"}},
      		{"limit": 5, "style": {"background": "yellow"}},
      		{"limit": 999, "style": {"background": "red"}}
      	],
      	"heater_index": 0
      },
      // Extended config for Extruder 1
      //  These use the new, as yet unreleased,  M308 command.
      {
      	"id": "extr1_heater",
      	"type": "heater",
      	"enabled": true,
      	"label": "Extr 1",
      	"position": {
      		"my": "left top",
      		"at": "right top",
      		"of": "#bed_heater"
      	},
      	"style": { "width": "100px" },
      	"button_defaults": {
      		"style": {
      			"height": "2.5em"
      		}
      	},
      	"state_styles": [
      		{"background": "gray", "color": "white"},
      		{"background": "green", "color": "white"},
      		{"background": "lightgreen", "color": "black"},
      		{"background": "red", "color": "black"},
      		{"background": "voilet", "color": "black"}
      	],
      	"tolerances": [
      		{"limit": 2, "style": {"background": "lightgreen"}},
      		{"limit": 5, "style": {"background": "yellow"}},
      		{"limit": 999, "style": {"background": "red"}}
      	],
      	"heater_index": 1,
      	"status_level": 1,
      	"current_temp_field": "${status.temps.current[1]}",
      	"active_temp_field": "${status.temps.active[1]}",
      	"standby_temp_field": "${status.temps.standby[1]}",
      	"state_field": "${status.temps.state[1]}",
      	"state_commands": {
      		"off": "M308 P1 T0",
      		"standby": "M308 P1 T1",
      	        "on": "M308 P1 T2"
      	},
      	"set_temp_commands": {
      		"standby": "M308 P1 R${value}",
      		 "active": "M308 P1 S${value}"
      	}
      },
      // Need another extruder, just cut and paste another one.
      

      I've got about another weeks worth of work before I push a release up to GitHub. I need to come up with a decent file browser layout for starting prints and I need to remove a lot of embarrassing debug code. In the mean time, comments and questions will be welcomed.

      To be clear... DueUI is NOT meant to replace the DWC or the PanelDue. It fits somewhere between the 2 and is completely independent from them. Installing DueUI doesn't affect the DWC in any way. Installation is as easy as using the DWC to upload the DueUI zip file. In fact, you don't even need to install DueUI on the Duet at all. Any device that has a reasonably functional web server, like a Raspberry Pi, will do.

      posted in DueUI
      gtj0
      gtj0
    • RE: Just got a Google AIY Voice kit for $2.00

      Yeah.
      me: "Home Z"
      printer: "I'm sorry, you can't home Z because X and Y aren't homed. Would you like to home them first?"
      me: "Yes please"
      printer: "Done. Would you like to automatically home X and Y before Z in the future?"
      me: "Yes"
      me: "Print file Benchy"
      printer: "I'm sorry but if you hadn't noticed I'M ALREADY PRINTING SOMETHING YOU IDIOT!"
      me: "Fine. Cancel current print and print Benchy."
      printer: "Okaaayyy but if I cancel the current print you'll have wasted 250 grams if filament"
      me: "JUST CANCEL THE CURRENT PRINT AND PRINT THE BENCHY"
      printer: "Fine"
      me: "FINE"
      printer: "Please remove the current print from the bed"
      me: "DONE"
      printer: "Printing Benchy"
      printer: "I'm sorry but you don't have enough filament left to print Benchy"
      me: throws up hands and walks away.

      posted in 3D Printing General Chat
      gtj0
      gtj0
    • DueUI Release 3.0.1-beta2 Available

      DueUI is an alternate web-based user Interface for the Duet family of products. It's not meant to replace the full fledged DuetWebControl (DWC) interface but rather to complement it. I needed something more compact, kind of like the PanelDue user interface and had started looking at ways to make the PanelDue more user-customizable. Unfortunately, while the PanelDue is great at what it does, trying to develop a framework that would let it be more customizable without recompiling the firmware every time just wasn't feasable. It then dawned on me that 7" Android tablets with serviceable browsers were ridiculously cheap so I started down the road of creating a customizable widget based user interface that could run on any modern browser. Not only does it work well on tablets, it works great on a small(ish) touch screen attached to an SBC. I run it on an 11" 1920x1080 touchscreen monitor mounted on the side of my printer.

      DueUI Wiki

      Download

      https://github.com/gtjoseph/DueUI/releases/tag/v3.0.1-beta1

      Yeah I know it should really be 2.0.0 but I wanted to be cool and make it match RRF 3.0 and the Duet3.
      I also know that it's not exactly Beta "Firmware" but it's still a Beta something. If a mod wants to move it, that's fine. 🙂

      What's New in 3.0.0-beta1

      • The DueUI Wiki!!

        • Complete documentation with examples for every widget.
        • Samples of the printer status objects.
        • Installation and Upgrade guide.
        • Sample configs.
      • Functions, templates and constants can now be defined in the config file.

      • A new backend for the Duet Software Framework.
        Standalone still works.

      • There are some new widgets

        • "Image" allows you to embed an image or a Motion JPEG stream anywhere.
        • "File Dropdown" allows you to display a select box with a list of files.
        • "File Select" is a File Dropdown with accompanying Refresh and Run/Print
          buttons.
      • Lots of behind-the-scenes updates.

      • Stuff I can't remember.

      Here's a screen shot of my "Print" panel...

      Screenshot_Print.png

      ...and my Movement panel...

      Screenshot_Movement.png

      Remember, this is my layout. You can make yours look like anything you want.

      I've been using it with my Duet3 and the DSF for a few months now and I think I've got all the bugs. As with any Beta release though, I'm sure there are others I haven't caught.

      What's New in 3.0.1-beta1

      Updates for Standalone Duet

      • Added a dueui_config_default_standalone.json file.
      • Fixed some issues in the standalone backend.

      Settings Update

      • Moved the "Backend Type" selection to the top of the page and
        changed "NonDSF" to "Standalone".

      • If the backend type changes:

        • The Hostname label will change to "SBC" or "Duet" as appropriate.
        • The DueUI Config URL will change to an appropriate URL path
          and default file name (if it was one of the defaults to start with).
        • If DSF is selected, the Polling Intervals will be hidden.
      • Changed the default config file name to
        "dueui_config_default_standalone.json" to match the default backend
        type.

      What's New in 3.0.1-beta2

      Fixed issue with fields showing the format instead of value

      • When first started or refreshed, the UI could display format
        strings like "${state.heat.heaters[1].current.toFixed(1)}" for a
        short time iunstead of the actual value. This was due to the model
        not being populated before the UI elements. Now we populate the
        model before showing the UI.

      Minor backend refactoring

      Add refresh_seconds to the Image widget

      • Some WebCams only provide an image snapshot instead of
        a live MJPEG stream. If you have one, you can now set
        "refresh_seconds" to control how often teh image should
        be refreshed.
      posted in DueUI
      gtj0
      gtj0
    • If you need a quick "wireless" PanelDue...

      I'm on the road this week but wanted to make some additional PanelDue firmware changes while I was away. The problem was that the printer and PanelDue would be separated by about 1700 miles so how would I test? On a whim, I tossed the PanelDue in my bag and scrounged around in my store room and found a few of these https://www.adafruit.com/product/954 so I tossed one in as well.

      So now I'm sitting in my sister's house in Boston with the PanelDue connected to my laptop via the USB serial converter and my laptop connected to the printer in Denver via VPN.

      I just ran...

      # socat TCP4:duet0:23 /dev/ttyUSB0,b115200,nonblock,rawer
      

      to connect the Duet's telnet to the PanelDue's serial port and now my PanelDue is happily connected to my printer!

      I should have set up the webcam before I left but I forgot. That way I could have scared the hell out of my pet sitter by raising Black Beauty's bed 500mm up and down at 6000mm/min whenever she walked by.

      Anyway, this will work with any Linux (and possibly Mac) machine and if it has a 3.3v UART, like a Pi you don't even the USB converter (but you will still need 5v power).

      I actually have some Wandboards in the store room so I'm going to print a case that has the PanelDue in front with a Wandboard behind it to provide network connectivity.

      posted in PanelDue
      gtj0
      gtj0
    • DueUI 1.1.0 is released!

      Scroll down for the latest release

      https://forum.duet3d.com/topic/9257/dueui-1-1-0-is-released/29


      Last week I announced plans to release an alternate user interface for the Duet.
      https://forum.duet3d.com/topic/9169/preview-dueui-an-alternate-web-interface

      Well, it's ready for testing!
      https://github.com/gtjoseph/DueUI

      Please read the README completely before installing DueUI. The "Known Issues" section has some info that explains why I'm not thrilled with some of the widgets yet.

      Remember, this is test software and meant to be customized by you. WORK IT OUT! I really want feedback (good, bad or ugly) and let's keep the feedback to this thread for now rather than issues filed on GitHub.

      posted in DueUI
      gtj0
      gtj0
    • DueUI: Introduction

      Welcome to DueUI 3.0

      This is a lightweight user interface for the Duet family of 3D printing electronics.

      This user interface is not meant to replace the full fledged DuetWebControl (DWC) interface but rather to complement it. I needed something more compact, kind of like the PanelDue user interface and had started looking at ways to make the PanelDue more user-customizable. Unfortunately, while the PanelDue is great at what it does, trying to develop a framework that would let it be more customizable without recompiling the firmware every time just wasn't feasable. It then dawned on me that 7" Android tablets with serviceable browsers were ridiculously cheap so I started down the road of creating a customizable widget based user interface that could run on any modern browser: The DueUI.

      Sample Screens:

      alt text

      alt text

      alt text

      alt text

      Everything on the screens above is user-customizable:

      • Widgets
      • Labels
      • Colors
      • Placement
      • Number of panels

      In fact, with no customization, all you'll get is a settings panel. 🙂

      Here's a screen that was created by user @thwe :

      alt text

      It doesn't look much like mine does it? He implemented that solely using the config file!

      For more information, please visit the DueUI Wiki

      posted in DueUI
      gtj0
      gtj0
    • 486MP Adhesive Removal

      IMG_20200402_171808.jpg

      Yes, that's peanut butter.
      No, it wasn't my idea... https://reprap.org/forum/read.php?1,642473,732969#msg-732969

      I haven't tried it before but it'd better work. That was supposed to be my lunch tomorrow.

      posted in General Discussion
      gtj0
      gtj0
    • RE: Duet 3 and jetson Nano?

      I figured it out. I stupidly forgot to set the MISO pins to TRISTATE so the data was getting corrupted.
      Tested and things now seem fully operational.
      Grab the new u-boot and dtb files from:
      https://github.com/gtjoseph/jetson-nano-support/tree/l4t_32.2.1

      posted in General Discussion
      gtj0
      gtj0
    • RE: Duet 3 and jetson Nano?

      Just a quick update...

      There are official 64 bit builds of Duet Software Framework available from Duet3D. All you have to do is create a file named /etc/apt/sources.list.d/duet3d.list with one line in it...

      deb https://pkg.duet3d.com/ stable armv7
      

      Even though armv7 is mentioned, you'll get the arm64 packages.

      Then copy the attached gpg key to /etc/apt/trusted.gpg.d/duet3d.gpg.
      duet3d.gpg.txt
      The .txt suffix was added just to satisfy the forum's upload restrictions so you need to remove it.

      Finally, do an apt-get update and apt-get install duetsoftwareframework

      posted in General Discussion
      gtj0
      gtj0

    Latest posts made by gtj0

    • RE: Duet 3 and jetson Nano?

      @JLM4751 said in Duet 3 and jetson Nano?:

      @gtj0 I hate to reply to such an old thread but this is the only one i could find that described the set up of the jetson nano as a SBC with the duet 3.

      No worries 🙂

      First,let's see if the spi device is actually there or not. Try...

      # ls -al /dev/spidev*
      crw-rw---- 1 root gpio 153, 0 Jun 19 14:55 /dev/spidev0.0
      crw-rw---- 1 root gpio 153, 1 Jun 19 14:55 /dev/spidev1.0
      

      If you see the devices then the most probable issue is that the /opt/dsf/conf/config.json file is incorrect. The SPI related stuff should look something like this...

      ...
        "SpiDevice": "/dev/spidev0.0",
        "SpiBufferSize": 8192,
        "SpiTransferMode": 0,
        "SpiFrequency": 8000000,
        "SpiConnectTimeout": 500,
        "SpiTransferTimeout": 500,
        "SpiConnectionTimeout": 4000,
        "GpioChipDevice": "/dev/gpiochip0",
        "TransferReadyPin": 13,
        "MaxSpiRetries": 3,
      ...
      

      The waiting for transfer ready timeout error is directly related to the GpioChipDevice and the TransferReadyPin settings.

      If you can't get it going, the output of gpiodetect might help.

      posted in General Discussion
      gtj0
      gtj0
    • RE: DueUI Compatibility issues with RRF/DSF 3.5

      @gtj0 said in DueUI Compatibility issues with RRF/DSF 3.5:

      @stuartofmt said in DueUI Compatibility issues with RRF/DSF 3.5:

      @gtj0

      Have you release an updated version ?

      Oy. I fixed it but then forgot to release it. Another victory for ADHD.

      Will get it published today.

      Done. Sorry for the delay.

      posted in DueUI
      gtj0
      gtj0
    • DueUI Release v3.5.0-beta1 is now available
      • New in 3.5.0-beta1:

        • Update for RRF/DSF 3.5
          See: https://forum.duet3d.com/topic/32190/dueui-compatibility-issues-with-rrf-dsf-3-5
      • Housekeeping:

        • The material-design-icons checked out into ./libs/ is just too big
          to keep as a submodule so it's been removed. If you're going to
          build DueUI, you should check it out yourself...
      $ cd libs
      $ git clone https://github.com/google/material-design-icons 
      
      posted in DueUI
      gtj0
      gtj0
    • RE: DueUI Compatibility issues with RRF/DSF 3.5

      @stuartofmt said in DueUI Compatibility issues with RRF/DSF 3.5:

      @gtj0

      Have you release an updated version ?

      Oy. I fixed it but then forgot to release it. Another victory for ADHD.

      Will get it published today.

      posted in DueUI
      gtj0
      gtj0
    • RE: DueUI Compatibility issues with RRF/DSF 3.5

      Yep, I got it sorted. Also had to add the call to /machine/connect to get the sessionKey and add it to all requests and to the websocket open.

      posted in DueUI
      gtj0
      gtj0
    • DueUI Compatibility issues with RRF/DSF 3.5

      There are some issues related to RRF/DSF 3.5 that I'm currently working on. Right now, you can't run DueUI on an DSF based printer because the way DueUI detects whether you're in DSF or Standalone mode is by trying to issue an "rr_connect" command. That used to fail when the printer was in DSF mode but now succeeds and returns a JSON response so DueUI thinks it's instandalone mode when it isn't. Fix in progress.

      posted in DueUI
      gtj0
      gtj0
    • RE: External Relay with PS_ON - Which line to switch?

      @dizzwold That's gonna require a bit of studying. 🙂 I'll get to it later today.

      posted in Duet Hardware and wiring
      gtj0
      gtj0
    • RE: External Relay with PS_ON - Which line to switch?

      @dizzwold Good find!

      posted in Duet Hardware and wiring
      gtj0
      gtj0
    • RE: External Relay with PS_ON - Which line to switch?

      @dizzwold said in External Relay with PS_ON - Which line to switch?:

      @gtj0

      With the SSR-240D50, I'm a little confused. So is this not an SSR?

      Is there 2 of these SCR's with-in the one device that make it an SSR, or would I need two of these units to make them work like an SSR?

      Dizz.

      Oops, sorry I should have been clearer... There are two different types of Solid State Relays...

      Silicon Controlled Rectifier (SCR) and Triode for Alternating Current (Triac).

      SCRs can only pass current in one direction which makes them great for DC switching but not so much for AC switching but they can handle more current than Triacs. Triacs, as the name implies, were designed to handle AC switching which makes them great for switching AC loads but they can't handle the same current as SCRs. So, to get the best of both worlds, manufacturers create SSRs with 2 SCRs hooked up in "inverse parallel". One handles the AC current flow in one direction and the other handles the current in the other direction.

      The SSR-240D50 has 2 SCRs in it and the SSRT-240D10 has 1 Triac in it. Functionally they are exactly the same but the current ratings are different.

      posted in Duet Hardware and wiring
      gtj0
      gtj0
    • RE: External Relay with PS_ON - Which line to switch?

      @dizzwold said in External Relay with PS_ON - Which line to switch?:

      @gtj0
      Hi gtj0,

      Thank you for you reply and valued information.

      @gtj0 said in External Relay with PS_ON - Which line to switch?:

      I moved back in March and still haven't gotten Black Beauty up and running again.

      Lol, I moved a year ago today, but being disabled has slowed everything down somewhat.

      I was also thinking of adding something like I found here;
      https://forum.duet3d.com/topic/6185/switching-psu-on-off
      7c11730f-04aa-40e4-94e3-f7c60a97746f-image.png

      As stated previously, I'm just starting this process so I still have a lot of reading and learning to do, but I'm guessing that the above will also be related to the following config example by armysolo /Duet-PS_ON;
      https://github.com/armysolo/Duet-PS_ON
      Sorry for all the toing-and froing back and forth with previous threads and examples.

      No worries! The possibilities are endless.

      I'm currently still using the box-standard Tronxy X5SA Pro 24v heatbed, but do plan on getting a mains powered in the future (like a Keenovo), fitted to a cast aluminium tool plate. I'm also going to use a Raspberry pi and I have a handful of PSU's 5v3a, 12v10a, dual 5v/12v 100w, 24v25a, the original x5sa pro 24v (400w i think), and I'm sure I've got a 36v600w kicking around somewhere, so I spoilt for choice.

      I have 2 lots of different SSR's. I have 2 x SSR's (TE Connectivity/Tyco SSR-240D50) and 2 x SSRT's (TE Connectivity/Tyco SSRT-240D10). Would one type be better than the other?

      The SSR-240D50 is a dual SCR unit. SCRs are unidirectional which is why 2 are needed in a single AC SSR. The SSRT-240D10 is a Triac based device which is natively bidirectional so only 1 is needed in an AC SSR. You'd think that'd make the Triac version "better" than the SCR version but the SCRs can handle much higher current than the Triac. I'm not enough of an expert to say which is better assuming both can handle the current you expect to pull with plenty of headroom.

      I'm going to have to find some-kind of design software so I can try to start schematically drawing everything up on my mac.

      On Black Beauty, am I correct in stating your printhead and part cooling are blown in from outside the printer down a pipe?

      Correct. There are 2 blower type fans mounted to the back of the frame and the air travels through 2 flexible Tygon tubes to the tool mount. With all the pictures I have of Black Beauty you'd think I'd have some of the fans, but no. I had to take them off to get BB through my new front door so I can't get any at the moment.

      Again, I'm very grateful for your time.

      Your welcome!

      Dizz.

      posted in Duet Hardware and wiring
      gtj0
      gtj0