My DeltaD3H (DIY Delta printer)

  • Hello people!

    First I would like to make a disclaimer! I am mechanical engineer and my electronics may not always be the most elegant solution – so no lynching please!

    This is my DIY delta 3D printer creatively named DeltaD3H.

    It is still a work in progress but here are the stats:
    Physical size – Ø 450 x 800 mm
    Build volume – Ø290 x 250 mm

    NEMA17, 0.9 degree, 0.44 Nm motors (Jugetek 42JT47-1684A)
    16 tooth GT2 pulleys
    HIWIN 600 mm MGN12H rails

    SeeMeCNC onyx heatbed (PWM limited)
    E3D Chimera hotend
    BlTouch Smart Bed probe

    DuetWiFI controller
    350W 24V Main PSU with remote On-Off – (smaller PS once I get a mains powered bed heater)
    30W 12V DCDC converter powered by 24V Main PS – Supplying fans and LED’s
    20W 12V Secondary Always on PSU
    15W 5V DCDC converter powered by secondary 12V PS – Standby power
    SSR for Mains heat bed
    Mechanical Relay for SSR – Triggered by 24V main supply

    PanelDue 5” mounted on a Magic arm near the bottom.

    I am still very undecided regarding extruder.. I am considering:
    Bondtech QR
    DyzXtruder GT
    Nimble RDD Extruder

    This is what the CAD looks like so far.

    The plan is also to have an effector with a laser for engraving as the magnet joints are quick to disconnect.

    I have a few questions related to the Duet

    Question 1 - Moving print head by hand:
    Question 2 - Standby power and PanelDue sleeping:
    Question 3 - Cooling of the DuetWiFi board:

  • Cant see the fotos

  • What is the proper way to attach pictures?
    I never seem to get this right..

  • administrators


    What is the proper way to attach pictures?
    I never seem to get this right..

    As you are hosting them on Dropbox, you need to change ?dl=0 at the end of the URL to ?raw=1.

  • I would never have figured that out by myself.. Thx DC42!

  • That is a pretty machine!

  • Thankyou Gone2Far! 🙂

    After spending my entire sunday on spaghetti it brought me significantly closer to my first print. tonight i also got to calibrate the motion system of the machine. everything seem to work, both the heaters, fans and BlTouch. Movement seem fast and tight. I am generally fairly satisfied so far. Here is a little motion demo.. i love the way these things move!

    This is my heightmap after a couble of G32's (i think it is acceptable, correct me if i am wrong):

    However i am a little confused. My BlTouch has a trigger height of roughly 2,4 mm. But this is my nozzle posistion at Z0 after the G32 auto calibration no matter if i enter the z ofset in G31 as 2.4 or -2.4:

    What am i not understanding here?

  • administrators

    Do you have a G31 command in config-override.g as well?

  • Hmm it seems that i do not even have a config-override.g file..

    Is this file a must have?

  • administrators

    No, it's not a must-have.

    Are you finding the Z=0 nozzle position too high immediately after you run auto calibration, or only after you have restarted and homed the printer again?

    Please post your config.g and bed.g files.

  • Aaaah found my error. I had two G31 commands in the config.g file. Srry that was a stupid question then.

    I am still getting used to this duet way of doing things. It is really clever once you get the hang of it!

  • Hello again!

    Does anyone know how i can make my machine turn on (send M80) before the machine heats up?
    I am using Simplify3D as a slicer. The problem is S3D inserts heating commands (and wait until heated) before my start-script. This means that the printer will try to reach bed temp without power, thus never getting to my M80 command from my start code.
    I have read something on S3D's forum:

    But i am not clever enough to understand what to put in my M140 and M104 so that i don't have to change it every time..
    Currently this is my startscript:

    M80	;Turn on
    G28 		;Home all axes
    G32		;Auto calibration
    G29 S1		;Load height map

    This is what the slicer outputs:

    M106 S255
    G4 P500
    M106 S0
    M140 S60
    M190 S60
    M104 S200 T0
    M109 S200 T0
    M80		:Turn on
    G28 		;Home all axes
    G32		;Auto calibration
    G29 S1		;Load height map

    Another question:
    My printer always makes a short pause of 1-2 seconds between the first and second layer. does anyone know why this is? (The fans start on the third layer).

  • Any ideas? 🙂

  • administrators

    What I think you need to include in your start gcode is:

    T0 ; select tool 0
    M140 S[bed_temperature] ; set bed temperature
    M104 S[extruder0_temperature] ; set extruder temperature
    M116 ; wait for temperatures to be reached

  • @DannerD3H:

    My printer always makes a short pause of 1-2 seconds between the first and second layer. does anyone know why this is? (The fans start on the third layer).

    If the temperature changes (first layer hotter than others) then maybe this is another forced pause until the head has cooled to the new temp?
    PS: Lovely printer, the pop out electronics bay makes me jealous..

  • Thank you easy target!
    But don't be jealous.. It seemed like a good idea on the drawing but in reality it is not! It makes proper wire management near impossible as all wires have to be at least 30 cm to long to be able to pull out the tray.. I will most likely ditch it and mount the board permanently instead.

    I have a constant temperature all the way so shouldn't be the case.. Will look closely on the g-code tomorrow to see if I can figure out whether it's a slicer or firmware thing..

    Dc42, if I do that, won't I then have to change something in the start code to use my second nozzle?
    If I ever have to change values on the start code, then I would rather turn on the machine manually first.. But would be cool if starting a print automatically would send the m80 command before executing any of the print file…

  • You could always edit the .gcode in a text editor and put the M80 in front of everything. Little time consuming, but should get the job done.

  • administrators

    I have often thought that slicers should support 2 sets of start gcode: one to execute right at the start, and one after the slicer has generated the temperature-setting code before the print starts.

  • Yes but the post processing of the g-codes are exactly what i want to avoid..

    DC42, yes either that or at least a setting so that the slicer would automatically include the m80 command as the first command..
    Is this something that can be implemented in the Duet web interface? Could it be implemented that every time you start a print, the web interface would send a M80, like when i manually press the ATX on button?

    I n´know it may seem like a silly small thing, but it would just be a nayz feature i think..

  • administrators

    I guess there could be a start.g macro run when you start printing a file from SD card.

  • Is this something that is already possible or ?

  • I finally got to make some prints this weekend. I think this could become a really good printer, but i still have a few issues..

    This thread is covering my two biggest issues:

  • administrators


    Is this something that is already possible or ?

    Not yet, but I will consider it for the next 1.21RC.

  • Cool! 🙂

Log in to reply