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

    Idea: "barebones" Duet3D mainboard, maybe as Pi hat

    Scheduled Pinned Locked Moved
    Hardware wishlist
    8
    21
    1.3k
    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.
    • sonderzugundefined
      sonderzug
      last edited by

      Hi all,

      I've now equipped a few printers with Duet hardware, and lately with all the CAN expansions for tool boards and single (bigger) motor drivers, I've found that I'm using the actual main board connectors less and less.

      Example: bigger FFF printer with NEMA 23 for motion all around, it might use a 3HC expansion for X,Y,Z and 1LC Toolboard, or even an IDEX with three 1HCL for XYU and a 3HC for 2-3 Z drives, as well as 2 1LC toolboards - there is very little else that needs to be connected to the main board, maybe some temp sensors and small mosfets for switching PSU relais or bed heater SSRs.

      So wouldn't it be feasible to have a "hat" for the Pi that acts as the Duet Main board but only has 5V and CAN outputs, maybe a few other connections that might not be included with one of the expansions; this concept would make wiring much simpler in general, as mostly there only has to be CAN + Power. Think of otherwise selecting the matching cable for each heater/sensor/motor/... and the matching cable chain which is probably a must for machines of this size.

      Benefits would include a cheaper main board without unused stepper drivers, SD slot etc., and it could even be mounted externally, for example within the "monitor and UI box" that can be seen on many bigger CNC machines or SLS printers. Writing all of this up I realize that this would mostly appeal to printer OEMs that have to look out for cost at scale, versus the hobbyist who can afford to spend some extra bucks on unused stepper drivers etc.

      Thoughts?

      best regards, Niklas

      zaptaundefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 2
      • CNCModellerundefined
        CNCModeller
        last edited by

        @sonderzug

        I've been thinking this for a while. Especially relevant now I'm looking into conversion of my CNC mill and lathe. The plan was to use can for everything if possible.

        Devs, is there a generic board that we could tie a can module to, or would that require a specific branch of the duet code? Or could we just run the code on something with the right processor and can already integrated?

        Any thoughts would be great.

        Many thanks
        Barry M

        Polar Duet3 Mini + 1HCL
        https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix
        Wanhao D4S: Duet2
        https://forum.duet3d.com/post/296755
        K40 Laser, Duet2
        https://forum.duet3d.com/post/312082
        Wanhao D5S
        https://www.youtube.com/CNCModellerUK

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

          @sonderzug said in Idea: "barebones" Duet3D mainboard, maybe as Pi hat:

          So wouldn't it be feasible to have a "hat" for the Pi

          Bigtreetech took a different approach, fitting the PI on the controller, but I see you point about reducing size by delegating I/O to CAN bus slaves. BTW, they also have their own version of the compute module.

          68d194cc-a8b3-4734-84ab-48e9e10a0574-image.png

          o_lampeundefined 1 Reply Last reply Reply Quote 0
          • jumpedwithbothfeetundefined
            jumpedwithbothfeet @CNCModeller
            last edited by

            @cncmodeller like this?

            https://www.sg-electronic-systems.com/can-bus-fd-shield-for-raspberry-pi/

            It would be a game changer just running expansion boards off something like this.

            6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

            o_lampeundefined 1 Reply Last reply Reply Quote 0
            • o_lampeundefined
              o_lampe @zapta
              last edited by

              @zapta Do these Pi-compute modules have a camera connector?
              I don't use SBC for now, but I think an integrated camera would be on my wishlist then.

              1 Reply Last reply Reply Quote 0
              • o_lampeundefined
                o_lampe @jumpedwithbothfeet
                last edited by

                @jumpedwithbothfeet I wonder if a PI with CAN-FD equals an RTOS microcontroller board?

                jumpedwithbothfeetundefined 1 Reply Last reply Reply Quote 0
                • jumpedwithbothfeetundefined
                  jumpedwithbothfeet @o_lampe
                  last edited by

                  @o_lampe that is electrickery beyond my knowledge!, I don't know how many of the functions are unloaded to the Pi from the mainboard in SBC mode, does the mainboard just control the steppers and provide sensor/io/power to the connected components? if that's the case why wouldn`t it work?... either way I now have many questions to try and find answers to ๐Ÿ™‚

                  6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                  o_lampeundefined 1 Reply Last reply Reply Quote 0
                  • o_lampeundefined
                    o_lampe @jumpedwithbothfeet
                    last edited by

                    @jumpedwithbothfeet AFAIK the Pi can't do AD-conversion, which we'd need for temp-reading and PID-based PWM, but if all that would happen on the toolboards....

                    jumpedwithbothfeetundefined 1 Reply Last reply Reply Quote 0
                    • jumpedwithbothfeetundefined
                      jumpedwithbothfeet @o_lampe
                      last edited by

                      @o_lampe well they have their own processors and transmit their io via canbus so....maybe?, would you be able to update/upgrade the expansion boards without a mainboard as such, in reality these are @dc42 or @chrishamm questions! maybe they can put this to bed?

                      6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                      1 Reply Last reply Reply Quote 0
                      • gloomyandyundefined
                        gloomyandy
                        last edited by

                        It might help folks to understand how the major functions are split between the SBC, RRF main board and the CAN board in a setup like this:

                        SBC:
                        Handles the web interface (wifi, networking etc.), file I/O, gcode parsing, Optionally it can handle a camera etc.

                        RRF Main board:
                        Takes a pre-parsed gcode stream, executes the gcode instructions, performs motion planning (including homing/probing moves and input shaping), handles PID control for local heaters, generates steps for local motor drivers (including pressure advance), generates CAN commands for CAN boards, generates PWM signals for local fans, handles probes, endstops and accelerometers that are attached directly.

                        CAN boards
                        Takes commands via CAN, generates steps for drivers (including pressure advance), handles PID control for local heaters, generates PWM signals for fans, handles attached probes, endstops and accelerometers.

                        o_lampeundefined 1 Reply Last reply Reply Quote 2
                        • o_lampeundefined
                          o_lampe @gloomyandy
                          last edited by o_lampe

                          @gloomyandy said in Idea: "barebones" Duet3D mainboard, maybe as Pi hat:

                          RRF Main board:
                          Takes a pre-parsed gcode stream, executes the gcode instructions, performs motion planning (including homing/probing moves and input shaping), handles PID control for local heaters, generates steps for local motor drivers (including pressure advance), generates CAN commands for CAN boards, generates PWM signals for local fans, handles probes, endstops and accelerometers that are attached directly.

                          A few of these tasks wouldn't happen on the mainboard/PI Hat , if it only has CAN connectivity. That would safe some board space and connectors and a lot of extra copper, making it cheaper and smaller.

                          Simple Fan-PWM signals could be provided by the RasPi, if they're not too time critical?

                          jumpedwithbothfeetundefined gloomyandyundefined 2 Replies Last reply Reply Quote 0
                          • jumpedwithbothfeetundefined
                            jumpedwithbothfeet @o_lampe
                            last edited by

                            @o_lampe the pwm commands would be controlled by the expansion boards via can bus I think the biggest problem would be the motion planning and issuing the can commands surely?

                            6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                            1 Reply Last reply Reply Quote 0
                            • gloomyandyundefined
                              gloomyandy @o_lampe
                              last edited by

                              @o_lampe Just to be clear, my post described how things are done in the current version of the firmware.

                              Clearly you can move things around (though I'm not sure that moving things like fan control to the rpi makes sense if motion planning remains on the RRF board as this needs to be synchronized with motion. This is particularly true with CNC or laser control).

                              If you move most of the control logic to the rPi you are effectively describing Klipper...

                              o_lampeundefined 1 Reply Last reply Reply Quote 0
                              • o_lampeundefined
                                o_lampe @gloomyandy
                                last edited by

                                @gloomyandy
                                I understood. That's why I only mentioned Fan control. Part-cooling fan, Spindle and Laser control could be done by the toolboards.
                                I don't want to push RRF towards Klipper, but if it safes us money, I'm in. (I never tried Klipper, so there might be some drawbacks with their setting, too)

                                1 Reply Last reply Reply Quote 0
                                • jumpedwithbothfeetundefined
                                  jumpedwithbothfeet
                                  last edited by

                                  I for one, wouldn't want to go the klipper route either, and to get this thread back on its original track I think a stripped down Duet board either with or without an SBC would be a great idea, especially as the maestro/duet 2 is realistically no longer available or a viable choice - just my opinion mind ๐Ÿ™‚

                                  6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                                  jay_s_ukundefined 2 Replies Last reply Reply Quote 0
                                  • jay_s_ukundefined
                                    jay_s_uk @jumpedwithbothfeet
                                    last edited by

                                    @jumpedwithbothfeet what's wrong with the duet 3 mini?

                                    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

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

                                      @jumpedwithbothfeet you could always get an SKR3. That's just as powerful as a duet 3 6HC but with a smaller footprint

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • jumpedwithbothfeetundefined
                                        jumpedwithbothfeet @jay_s_uk
                                        last edited by jumpedwithbothfeet

                                        @jay_s_uk nothing wrong with the mini I would happily buy one, what I`m getting at is the range of boards is effectively limited too just two boards and their variants, and both have limiting factors in use and price, I just believe there is a case for a *stripped down universal duet board that can be tailored/built up to serve either CNC/FDM or any other project by the use of expansion boards by the user, basically a modular system.

                                        I have previously looked at other boards like the SKR but various things like the drivers have always put me off, besides that my 6HC has never let me down despite some of the stupid mistakes I've made, I`d have one in every machine I make, if I could afford it ๐Ÿ™‚

                                        *edited - added stripped down

                                        6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                                        1 Reply Last reply Reply Quote 0
                                        • sonderzugundefined
                                          sonderzug
                                          last edited by sonderzug

                                          Hi all, thank you for the lively discussion, nice to see that this idea sparks some interest.

                                          My idea was inspired for once by all of the already available expansion boards, as well as the uprising of more unconventional machines that are built, be it for the purpose of 3D printing or not. For example, as far as I can tell, people are now also working on implementing robot motion.

                                          I'd think that a robotic arm with 3D printing effector would greatly benefit, in terms of simplified wiring, by having the respective driver boards for each joint very close to the motor, daisy chained, with the effector (1LC toolboard) at the end. An interesting field since people are implementing "true" 3D printing path generation.

                                          In respect to the hardware requirements of this barebone mainboard, as has been discussed above, there has to be a ยตC on the board but I can imagine it to be a less potent one that the one found on the 6HC or even the mini 5+.

                                          @o_lampe said in Idea: "barebones" Duet3D mainboard, maybe as Pi hat:

                                          @gloomyandy said in Idea: "barebones" Duet3D mainboard, maybe as Pi hat:

                                          RRF Main board:
                                          Takes a pre-parsed gcode stream, executes the gcode instructions, performs motion planning (including homing/probing moves and input shaping), handles PID control for local heaters, generates steps for local motor drivers (including pressure advance), generates CAN commands for CAN boards, generates PWM signals for local fans, handles probes, endstops and accelerometers that are attached directly.

                                          A few of these tasks wouldn't happen on the mainboard/PI Hat , if it only has CAN connectivity. That would safe some board space and connectors and a lot of extra copper, making it cheaper and smaller.

                                          Simple Fan-PWM signals could be provided by the RasPi, if they're not too time critical?

                                          o_lampeundefined 1 Reply Last reply Reply Quote 0
                                          • o_lampeundefined
                                            o_lampe @sonderzug
                                            last edited by

                                            @sonderzug said in Idea: "barebones" Duet3D mainboard, maybe as Pi hat:

                                            here has to be a ยตC on the board but I can imagine it to be a less potent one that the one found on the 6HC or even the mini 5+.

                                            There are often smaller versions of the same MCU available, with less IO pins. As long as it has the same amount of RAM it would be ideal.
                                            The barebone would also need less copper, since there are no drivers onboard.
                                            It probably could be fed from the Raspberry and wouldn't need all the voltage converters?

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