Posted on Leave a comment

Use a SSR or Power-Expander to externally power Heated bed – Part 1

I’ve had a few inquiries about how exactly to use a Solid State Relay and an extra powersupply or main power, so decided to write about how to make it work, and explain some while at it


  • Solid State Relay :: SSR from now on
  • powersupply :: PSU from now on
  • Mains power :: AC

Silicone Heater

Here’s my 500w silicone heater from Keenovo (opes eBay shop) powered using AC power. It comes with an attached pad of 3M MP386 heat resistant and transferring extremely sticky tape. You can have them made with other types of sensors, like a thermocoupler if you like.

I decided to include the Power-Expander (opens link to as it is a great alternative to a DC-DC SSR, and because you are sure not to get a counterfit SSR.

I have personally only used SSR from RobotDigg (opens their shop), but the brand Fotek is also a good quality. Problem is lots of counterfits (open UL site) & here (instructables) around, so be carefull where you buy your stuff.

Types of relays – usage scenarioes

We allready touched on the subject above, so lets take a look at the different options we have.


The denomination before the – is the input or control type. We are only talking about DC- here.

The listing after the – is the LOAD type. So if it is listed as DC-AC, it means we control it using DC from the output on controller and the LOAD we are using is AC if we have a silicone heater as listed at the top of this page.

  • DC-DC SSR or Power-Expander are interchangeable in most cases, so I’ll list them as such.
    • Notice the input type and range listed at the lower end. In this case 3-32 Volt and the type is DC
      Load type os listed at the upper end, and is 6-220 volt and also DC, so we really have some power here.
      Amperage is listed in the center, and this SSR is rated at 25A. It means the LOAD can be current up to 25amperage
    • Option 1: if your main powersupply is not powerfull enough to power a heated bed in addition to the electronics. It might also be used
    • Option 2: if you just want to use 2 seperate powersupplies for the electronics and heated bed: you might be running electronics at 12v but want 24v on heated bed.
    • You want a DC-AC SSR if you have a heated bed powered using AC. Most common if you have bought an AC silicone heater.
  • Shield
    The SSRs I’ve bought comes equipped with a clear shield/cover.
    It is important to use this to avoid accidents, as the terminals are open and easy to get to.
  • Heatsink
    Read on the specifications and compare to your needs wheter you need a heatsink or cooling. I have not needed this on my build as a 500w AC heater only use 2-2.5amperage at most.

Wiring up

The next big question is how to wire it.

If you use an AC heater, you might want to add a grounding wire. You might also want to do it if you use DC, but in any case, I have added one here, as you can see.

I must admit I can’t see a scenario where it would be needed, but better safe than sorry, and it’s easy to just add an extra wire.

Here’s the wiring braided and sleeved up with the Silicone heater taped to the plate. It takes 24 hours for the glue to fully harden, so put it under pressure a day or so, before putting it upside down – don’t put pressure on the center part where the thermistor lives.

Ground Wire

People have aruged that I should have attached the ground wire to the black print-plate, but I admit I simply only had in mind to ground the entire Z-stage, so bolted it to the z-stage liftplate…

If an AC wire comes loose I guess it would it the plate.. in any case.. I leave it to you, how you want to attach it.


Next parts…

In the next part of this, we will go through the complete wiring of controller, psu, ssr and heated bed.

Posted on 2 Comments

BeTrue3D Printer build part 5 – LEDs

You might have read my part 3 where I had a section on installing LEDs.

Here are some thumbnails from the previous post.

This blog-post is all about getting it to work, including installing a front-mounted simple mechanical switch.

  1. Planning
  2. Execution
  3. Mounting
  4. Getting 12v in 24v system?
  5. Testing and wiring
  6. LED Installation
  7. LED Testing
  8. Video testing LEDs

I’ve tried taking some more photos due to popular demand 🙂


I had a hope the small on/off switch could be placed as you see on the photo. I removed the bracket, measured up, and drew some lines. I made 0,5mm extra space between the switch and extrusions – giving me some margin of error to work with.


I started out using a small quality drill from proxxon with a pointy tip to get an accurate starting point (I don’t know one of those fancy tools to make a small indentations)

After I had it going I switched to a more sturdy drill and worked on it. Using plenty of cutting oil and cleaning away aluminium parts all the time.

I used a tray as a drill-platform as I do not own a proper workbench (I have a small portable one, but it was packed away). I’ve put it over the sink in the kitchen. Worked great as the metal parts just ended up in the sink, and the drill didn’t go down into a tabletop or similar.

After finishing the pilot hole I measured the diameter I needed for the switch and used the right sized drill for the job.


The on/off switch is within the bracket, so that’s as planned. I had previously used the switch, so allready had in and output wires on it. I use the male plug (2 exposed pins) as input and the female connector as output. Doing it like this, so any wires/plugs with active current is not in the form of bared metal pins.

I soldered on male connectors to the wires coming from the LED strips. Using a portable gas weller solderpen I had from my time as network techie 🙂

I took a photo of the small hand tool, as that is enough of a tool to crimp on most connectors. A proper crimping tool is prefereble, but if you only need it for 1 project it is fine to skip buying it.

Getting 12v in 24v system?

So, the next step is to get 12v in my 24v system, as the LEDs are running on 12v. The Duex5 can be configured to output 12v, so I might go that route eventually, but I’d like to initially have power available to the LEDs as soon as the PSU is on, regardless of setup.

I’m using a small “hardwired” 24v DC to 12v DC step down. It can even output at 3amp, which is a lot for such a small thing! I like these things compared to the one you adjust manually, as they never put out that annoying high pitch coil whine you sometimes get from “normal” DC-DC step down modules.

Photo shows front and rear of the board.

I’m going to solder on small pins, as I’m not sure what I want in the longer run regarding these. Alternative is to just solder on the wires.

Using the foam pads to keep the pins in place while soldering them on.

Ready, get, set go, and finished. The fan is homemade with a carbon filter.. it’s really super nice.

Testing and wiring

I’m using standard female dupont connectors and just using standard  tools.

I have a super nice Lambda Vega-Lite 550 powersupply I found at a bargain price. Going to convert it into a proper “lab psu” at some point with banana plugs etc.

I’m making sure the output is in fact 12v and not something else.

Putting the wires in place using duct-tape (untill I can print some other cable-management things) and mounting the small Step Down below the Duex5. I’ve just used double-sided tape for now, and have not wired it up any further.. propably going to be directly hooked up to the PSU though.

LED installation

This should had been in the previous post, but since I didn’t take any photos of it, I do it now. You can see how the power input comes up through the floor paneling through a small indentation, and each section of the LEDs are conneted using a small piece of wire.

I’ve put white heatshrink over the exposed solderpads.

LED testing

It might be hard to see, but here are 2 photos showing the BeTrue3D Printer with LEDs on and off.

Video showing a test of the LEDs

Posted on Leave a comment

BeTrue3D Printer build part 4 – Printbed

This post is about my brand new super nice PEI-Coated black oxidized 5mm aluminium plate with lasered logo/url and about a lot of wiring I’ve spent time doing.

I also put in the last paneling. I ran out of the white 5mm card board material and am using some whiteish acrylic I had untill I can get some more of the white plates.


First up is the printbed. This is the single most expensive item in my printer at around €85 including shipping! Especially when combined with the 500w AC heater at around €35. You can get the plate much cheaper if you get it in natural color instead of black though.

Here’s the finished result, which I’ll go through in steps, to show how I did it.

I’m very pleased with the result, if I might say so 🙂

Keenovo heater used

I’m using a 500w AC heater from Keenovo. You can get it in custom sizes at no extra prize, and they really deliver high quality. Included is 1 big pad of preapplied heat resistant and -conducting 3M MP486 tape, which is the best for the job.

It comes with premounted 2 wires for AC power and 2 wires for the build in thermistor. It generally reads 10c above actual surface temp of the printbed.. guess its due to heat dissipation. You can get other sensor types as well

The CE is “China Export”, so it doesn’t mean it is CE certified

Ground and sleeving

I wanted to ground/earth my Z-gantry directly, in case of a mishap, so needed an extra wire. I also enlarged one of my 3mm holes to 4mm to make it fit perfectly.

I drilled an extra small hole where I can zip-tie the cables onto the lift-plate for stress-relief for the wires/headpad. It is places so the wires does not grind on the edge of the plate.

I originally wanted to use a cable drag-chain, so hadn’t planned on using zip ties.

I braided the cables and sleeved the part that’ll be visible ind the print chamber.

I do not insulate the bottom of the plate, as I want the increased heat output to act as a sort of “passive” heater element for the heat-chamber effect I’ll get by doing this.



I’ve planned to use the Ultimaker 2 fingerscrew system. I really like it, as it is discreet and runs very nicely, while at the same time can be tightened down really tight so the bed doesn’t wobble.

It means I’ve had 3 holes at 6.5mm made in the lift-plate for the fingerscrews, which lines up with corrosponding countersunk holes on the print bed.

The fingerscrew assemblies are made up of the fingerscrews, spacers, springs and m3 scews.

For best result I have put on lithiumgrease between the fingerscrews and spacer, and again on top of the spacer.

Note: I’ve used some other types of grease on other printers with great result as well, so no need for special grease. Just use something.


After fixing the cables at the back edge of the bed, as shown in photo a bit above, I placed the springs at the right spots, and placed the bed on top of them (took a bit of balancing in order not to knocking around the springs with the plate).

The springs are 20mm long and has an inner diameter of 7mm.

I used a caliber I can lock into place and put it at 10mm. This means I can do a rough calibration of the bed. It’s not precise, but close enough to start calibrating using printer software.

Note: The distance I used might not fit on other printers, due to thickness of plates and length of m3 screws and springs. So tighten down the springs untill you can depress the corners with your fingers, but not so easily that the bed can wobble. The springs must be tightened down good, but not all the way.

The give in the sprigns is an insurance if you accidentailly have the hotend smash down onto the plate. If the plate can’t move, something else is likely to break.

Clean it up using Acetone or Isopropyl alcohol when done. Can see my sticky fingers on the photo above 🙂


I originally wanted to use a dragchain… but I’m just not that big a fan of them, and found it looked bulky in there.. even a thin one. I know this is a subjective view, but there it is. I liked the sleeved version I made, so stuck with it.

I drilled an 8mm hole for the wires to get out to the back compartment, along with 2x 3mm holes for a ziptie to hold the cable in place.

The cable can flex up behind the z-stage.. even if it wanted to get under the bed, there is plenty of space for it in there, so it can’t cause any troubles.

Cables out back

I couldn’t get good photos of cables out back, but one of the AC wires went to the Load side of the SSR module at the connector labeled 1. The other AC cable went to my PSU at the AC N connector.

The Ground/Earth cable went to the AC earth connector, while the 2 thermistor wires went to the bed thermistor.

Cabling – Wire harness.

So much wiring when custom building printer!

As I created a connector plate for the 5 extruder motors, I did the same for my wire harness going to the carriage/hotend. It’s a LOT of wires for sure, but they are needed.

The 6-pin plug to the left is for BLTouch. 2 of those pins are for z-min and 3 for servo. 1 is unused.

The big 9 pin plug is for heater (2), heatsink fan (2), printobject fan (2), thermistor/thermocoupler (2-3 – some thermocouplers has 3 or even 4 wires)

The handdrawn “labels” are meant for my reference untill I get it working. I plan on printing some nice versions at some point.


Internal view

So many wires! I had a lot of cable clips from my old Um2 extrusion clone project, but recently threw them away… need to print some new to get rid of the duct tape when I find the time 🙂

Rear connectors

Here we can see how the new connectors looks; with and without the matching wire-harnesses hooked in.

I havn’t put connectors on the far end (at hotend) which’ll wait till I get the last parts I need to make the Y axis and carriage in order to make the correct length.

That’s it for now.

Hope you liked it, and thank you for following my proejct. 🙂

Posted on 7 Comments

BeTrue3D Printer build part 3 – Assembling everything (almost)

Time for a new blogpost on the build-process of the BeTrue3D Printer, since last.

I’ve kept my facebook users updated, via regular posts to my facebook page, but it has mostly been photos, while I’ll explain what has happened and talk about the decisions made in this post.

  1. Parts Used
  2. Z-stage parts
  3. Z-stage Gantry plate
  4. Printbed
  5. Building the BeTrue3D Printer
  6. Overengineered?
  7. Lots of extra alu-extrusions?
  8. Panelling
  9. Mounting electronics
  10. Extruder connector panel
  11. Extruders
  12. LEDS
  13. Front LCD planning
  14. Handles
  15. Conclusion

Lets start by looking at the status right now, and see if it matches my projected result.

I’d say it’s a success. Means I was either lucky my planning worked, or that I was thorough when doing my design and planning. I prefer to pick the last one.

Parts used

I AM going to make a complete BOM (Bill Of Material). I had created a parts list, on my open builds page, but it disappeared since I worked in 2 tabs at the same time, which isn’t working for that site.

I am going to fill it in again when I find the time to do so 🙂

I did create a small  youtube video when unpacking the big box of goodies from RobotDigg, where I bought most of the parts aside from alu-extrusions and metal rods.

Z-stage parts

Here you can see the incredible nice hollow Nema 17 motors along with the bespoke 1204 300mm ballscrews and BF10 part used to fixated the ballscrews in the top. I don’t need support block near the motor, as the shaft goes through the motor and is fixated in the bottom, as you can see from the images.

Z-stage Gantry plate.

This is one of the few custom items I’ve had made for this project. I simply just had no way of making this myself, but was lucky I found someone who could manufacture it for me.

I learned a lot doing this project. Not least that it’s important to mark it m3 and not ø3 when I wanted a hole with threadding. Meaning mark endresult and let the professional figure out the hole-size, unless you want to do the threadding yourself.

After recieving it, someone asked me if I wanted to use motor-alignment on z-axis! Uhh? I talked some to the maker of RepRapFirmware and was told he planned to add this in a later firmware version, so I decided I’d make mine compatible for such a day, which meant I had to make a hole for an additional long m3 screw to hit a second z-max limit switch to facility this motor-alignment thing.

I carefully measured up, used some painters tape, and then drilled a 2,5mm hole and then tapped m3 using my trusty Makita hand tool. First time I use powertool for this, so was pretty exciting. Remember to use some cutting-lubrication if you do this kind of thing 🙂

I had one last thing I needed modifying, as the hole for the ballsc were 21,5mm and the ballscrew actually ways 22mm, so had to enlarge it slightly.

You can see how it doesn’t fit in the hole. I carefully used my dremel and a small file. Was actually pretty easy to do 🙂


This is the second custom item for the BeTrue3D Printer build. I had a PEI-coated, black oxidized plate made with a “logo” lasered onto it by
Note: Price is much higher as soon as you move away from natural color. Lasered logo is only like €3 though! He makes custom sizes at no extra charge, so it’s perfect for any printer project. He also offered to make the z-lift plate at a resonable price, which I would had taken if I hadn’t found one nearby who could do it for me, so this is a nice source for custom aluplate work.

It looks absolutely awesome! unfortunately the rear hole was not completely centered. My plate is 29cm long and the hole should be at 14,5cm, but was placed at 15cm. Guess the mechanic just had a 30cm plate in mind, when he ‘centered’ the hole.

While I was rather bummed by it, Frank from set right out and made me a new one without complaining, which is incoming now.

I did not have to return the faulty plate, as some shops insist on doing, which is a huge bother.

Building the BeTrue3D Printer

In my last blog post I talked a lot about dimensions and why I did what I did. One thing I didn’t talk much about was the reason for the 2 layers of alu-extrusion bars at either end, up top. I did it in order to maximize the XY plane, as the sliders can slide in over the mechanics of the Z-stage.

Doing it like this also ensured I had some flexibility on the placement of the bars fixing 16mm rods in place, without compromizing the rest of the structure, as these rods might vary a bit in length.

I have used 12mm rods for the X-axis to avoid any bending. I can bend the 8mm rods in my Ultimaker 2 machines using a finger deemed 8mm too small for longer runs. I couldn’t be sure about 10mm so went with 12mm.

I’ve used 2x SCS12UU with bushings for each side. They each have a selfgraphite block instead of ballbearings to reduce noise and to raise accuracy as well.


I’ve heard this quite a few times. And yes, you can say it is. I’ve done it for a reason though, which is an attempt at ensuring squareness and rigidity. I’ve had multiple checks build in, meaning if one thing doesn’t fit, it means something is wrong in a differnet place.. meant a lot of time putting it together, but also that I had some “early warnings” if I had done something wrong, and could fix.

If you are a professional mechanic with relevant skills, I’m sure all this precation is unnessary, but for me, as a novice-builder, it has proven quite usefull 🙂

Lots of extra alu-extrusions?

Even aside from the build in “fail-safes” I’ve added a lot of extra aluminium bars. To be more exact, I have 4 extra at the “floor” and 1 extra at the top almost- rear.

Alle these bars are put in place to mount panels and electronics on, and also to hide facility the wiring in an orderly fashion. I used the bars, as it was a cheap and easy way to do it since I was ordering a lot anyway.


I originally planned to have some acrylic plates lasercut, but I decided to cut some costs and make some myself. While browsing for material to use, I stumbled across some nice “hobby plate” made of 5mm thick white paper material. It’s pretty sturdy, but very easy to cut and much cheaper than anything else I looked at.


Mounting electronics

The big job of mounting electronics started. I had the PSU placed in the center, but since the GND on the Duex5 to psu must not be longer than 100mm, I moved it to the side, for shorter wirering.

I also modified the space between the Duet WiFi and the Duex5 in order to accomodate the wide connector cable between the two.

I didn’t use the ferrules that came with the board as I simply just couldn’t get them right.

I even bought a special tool for it, but didn’t get good results. I know ferrules are the professionals’ choice, but I just couldn’t get it to work.

I used some basic clamp on metal pieces instead. I really don’t know what they are named, but for the PSU end I used the O-ring style and straight pin for the terminal end on the electronics parts. I used some heatshrink on each end.

I did this using some basic tools. The crimp tool was bought in a local hardwareshop for $12 or so.

You can see the DC-AC Solid State Relay next to my PSU. I’m going to use this for my AC Silicone heater for the heated bed. I have a small fuse between the PSU and SSR in case something goes bad.

Next photo shows how I’ve mounted my 5 extruder-bar (albit mounted wrong here), and also done some of the back paneling, including power connector and off/on switch. It has build in fuses. AC earth is connected to the frame of the printer as well in case some short is happening.

Extruder connector panel

I rather don’t like hard-wiring my external components to internal parts, as it is really hard to remove or repair parts, so I set out to make a panel with connectors for each of the extruders.

You might spot I have moved up the extruder-bar. I had to do this, or the bowdne output would interfere with the belt running for the CoreXY mechanics. I had planned this, but didn’t look at my plans while executing.. that’ll teach me. Need to find a fitting piece of material for the gap now!

The connectors are 4-pin Mini-molex 3.0


In case you wondered what kind of extruders I’m using. I’m using Belted Extruder V3 1,75mm which I desinged myself.

I designed them after I tried a wealth of different extruders, but most required special parts, which only the designer sold, or other exotic hard to come by parts.

Every single extruder I could find contained printed gears, which I came to dislike, after using them for a while, as they do deterioate, so they must be replaced. Replacing them is not as easy as it sounds, as it really takes some skill and effort to get them perfect. I usually had to print at least 3 to get 1 perfect gear. And my printers are calibrated well.

In other words, I wanted to design an Extruder everyone could build. The printed parts are very forgiving if the printer used to print them aren’t perfect, and the other parts are easy to come by and of good quality, like the E3D hobbed bolt, instead of some generic bad quality hobbed bolt, without being overly expensive.

I wanted a geared extruder to make it more powerfull and accurate while at the same time having the option to use a small motor to save space and weight.

I did not want gears grinding at each other, as it makes noise and are more prone to backlash than aluminium GT2 Pulleys and belts.

Why not use E3D Titan Extruders? They are smaller, true. But they weight twice as much, unless you don’t use their recommended motor, and have gears instead of belts. While gears instead of belts might not mean a lot, for most people, the price of Titan is double that of the one I published. Times 5 and it means a lot.

I also created mine before Titan was published 🙂 Titan has a genius tract for the filament though, which is awesome!


I just have to have some lightning in my printers, so LEDs it is. Some years ago I bought a big roll of leds, which this is the last I’m now using. Really nice to just cut it into fitting pieces, solder them together and attach to your printer or similar.

I cleaned up the alu-extrusions using Acetone first before attaching the Leds.

Front LCD planning.

I sort of forgot it at first, but remembered I needed some wiring for the planned Panel Due 4.3 touch screen, which I want mounted up top right-side.

Using my trusty dremel to cut out a hole for the connector in the panel and also had to cut away small bit of the alu-extrusion to make room for it in there. I used some shielded 4-wire cable I had, which were perfect for this.


You might noticed it above – handles!

After adding the extruders the BeTrue3D printer got rather heavy but was ok to lift.. untill I put on sidepanels, which left me nowhere to to grab onto it.

I sawed a handle on each side, and aligned the holes up with the lower top-alu extrusion to give me a good grib. The panels holes are 1mm above the alu-extrusion and I’ve rounded the cut to make it comfortable to use.


I’m waiting for the new printbed from, and also the Y sliders. I am also waiting to recieve the 5 new heatsinks from, which I hope to get any day, so I can plan a carriage for it.

Last but not least, I need to setup the RepRapFirmware, which I’ve also had time to make a new blogpost about 🙂

That’s it for now, so have a good one untill next time.

Posted on Leave a comment

Duet WiFi – Intro & Explained

We have previsously gone through the Getting Started and Update Firmware.

In this part, we are going to focus some on the layout of the board for basic setup and usage, but primarily we are going to look into the fundamental differences from how other boards and firmwares are put together.

It took me a while to figure it out. The differneces that is. And not talking about the quality and features, as the Duet WiFi is the undisputed winner on this point at the moment.

What I’m talking about is the differnece in how the approach is made to connect hardware and firmware. It is really obvious once you are pointed towards it, but it’s simply just a new way to approach the setup of firmware when working with RepRapFirmware, than any other firmware (that I know).

At first I was mostly just focused on the usage of Gcodes to setup everything, but that is really just the half of it, or rather, a means to an end.

No Pins, but assigned functions

In all other firmwares we have a lot of pins assigned to different functions. Some are obscured like in Marlin, where the pins’ files are mostly off limit to the normal users, over to Smoothieware, where you directly use the pins to create functions for the controller to use.

When working with RepRapFirmware for Duet WiFi, we are working with Gcodes which we use to specify different setup tasks, where the available options are predefined and non-changeable, like FAN0, Fan1 and Fan2.

Example: To setup a fan from the the FAN0 connector, we first need to know and use the Gcode corresponding to FANs, which is M106. After stating M106 we then use the parameter “P” to define the variable (number) at the end of our FAN. In this case 0.

Note: These are what I called the “predefined non-changeable options” -> 0, 1 and 2. By using the M106 Gcode we have allready stated we are working on setting up one or more fans, and we simply use the parameter “P” to define which fan on the system we want to setup.

So, in order to activate our fan to cool our printed object, we need to put this Gcode into our config file, where M106 starts the setup of fan/s and P0 defines we are settin up FAN0:
M106 P0

We can specify (many) more parameters like temperature (thermostatic) controlled and so on.

All clear then? Ok, maybe not yet, but we’ll go through it one step at a time. I’ve marked up the parts, on the photo of the Duet Wifi, we are going to touch on, in future posts in this series, which is going to be plenty for a basic setup for a Cartesian and CoreXY printer.

Summing up

I hope you found the post usefull. I know I learned a lot while figuring out the differneces of this board and firmware compared to the other models I’ve worked with previously.

I originally wanted to also expand on the actual configuration in this blog-post, but it has been moved to a later post due to time constraints (working hard on my BeTrue3D Printer)

Next post

In the next post, we are going to take a step back before we continue with all the setting up of firmware, and start by wiring up our controller instead, which means we start by taking a look at what’s in the pack when buying Duet WiFi.

Posted on Leave a comment

BeTrue3D Printer build part 2

A lot has happened since I first posted about this project, so it’s time for an update! It’s actually past time, but as you will see, I have had my hands full 🙂


  1. Decided to build instead of buying a frame
  2. BeTrue3D Printer – The Final design for “production”.
    1. My initial requirments were.
  3. Result
  4. Dimensions
    1. Outer dimensions
    2. Printbed
    3. Projected printarea
  5. Z-Stage
    1. Heating the printbed
  6. CoreXY
  7. Parts
  8. Electronics
  9. That’s all for now

Decided to build instead of buying a frame.

I had my eyes set on the Folkertech FT-5 case without all the internals, but I opted to design my own case to get it just as I liked – and to achieve a smaller footprint.

I’m using Autodesk Fusion 360 which is free as long as you are a private person, or a small startup. The Trial description for the download is rather misleading.

Most of the parts I needed was free for download, so it was a lot like playing with Lego.. and yet not at all. It took a lot of trying out, measuring and planning.

4 major iterations later, and I have my finished case designed. Just as Autodesk introduced branches and sandboxing in the workflow… could have used that!

BeTrue3D Printer – The final design for “production”

I have had quite a few requirments for the build, which has had an impact on the final result.

My initial requirments were:

  • Printarea using the Diamond hotend must be over um2 size (21×22 ish) but well under 30x30cm – I didn’t want a huge printer. I learned the Fokertech FT-5 is in the “huge” category.
  • Internals must be highly optimized, as I do not want a huge printer. Outer dimensions as small as possible.
  • Extremely stable Z-stage.
  • An XY system which optimizes area usage and a system which must be able to provide a sturdy platform for the big Diamond hotend – CoreXY system.
  • No belts or systems running on the outside of the printer – to avoid accidents with small fingers and because of how it looks.
  • No, or very few, custom parts.
  • No printet parts for any load bearing or mechanic solution. Can be used for things like standoffs for electronics, or mount for PSU and such.
  • I wanted to enclose the printer to be able to make heated chamber (passively heated from heatbed).
  • Duet WiFi must be placed in a manner where the (short) WiFi antenna reaches the outside – and to give access to usb and sd on the controller.


It resulted in the renderings you can see here. Click for large image – opens new tab/window.

First image is without any paneling done, but with the supports intact. You can see the extra crossbeams in the bottom easily, which are purely for the plating.

Second image is to show the electronics compartment in the rear. The right-side panel is set to see-through for our use. I’ve made cut-outs for the Duet WiFi board. You might be able to discern the discreet limit-switch I’ve place under the bottom plate, to use for Z-max in Ultimaker 2 style. Matching m3 is made in the Z-gantry plate.

I’ll be using 3mm thick white acrylic plates for alle panels.


Outer dimensions: Width 46cm (50cm including top mounted motors for XY, which might be moved inside).
Depth 42cm and height 43cm

Printbed is sized 29cm x 26cm
Projected printarea using Diamond hotend: 24cm x 22cm x 29cm for Z. Add 1-2cm on each axis for normal hotend.


The Z-stage is moved up and down using 2x hollow nema 17 motors with 2x bespoke ballscrews, which are inserted through the hollow motors, and attached to the motors using small screws.

I’m using a 16mm diameter 325mm long precision steel shaft in each corner of the gantry, for a total of 4 overly thick shafts, which is used to make the z-stage as stable as possible. Hopefully even when using normal flanged bearings, instead of the long variant. I’m not using long variant in order to get maximum out of the Z-axis.

The Z-gantry is being milled from a 6mm thick aluminium plate. I’m not making this myself.

The printbed itself is 29cm x 26cm and 5mm thick. It’s going to be a black PEI-Coated aluminium plate with lasered on logo, made by

They can make all kinds of custom sizes and holes for screws as you wish. Note the price is much steeper if you choose a colored model rather than the natural.

Heating the printbed

As for the heating of the printbed, I am going to use a quality solid state relay in order to use a 500W AC Keenovo silicone heater, which is taped under the printbed. I have one of these on one of my printers, and it’s absolutely awesome having the bed go up to 100c in around 6 minutes (+ a few to make sure it actually is 100c)


The XY axes are using standad CoreXY mechanics.

It might look like I’m using dual-axes but I’m not. I just opted to use 2 sliders (SCS-12UU) on each 12mm precision shafts for the X axis to give a wider contact area to make it more stable.

A couple of 8mm 310mm long precision shafts are spanning over to the other side, making up the Y axis. There is 1 long SCS8LUU slider on each of the 8mm rods where the Diamond hotend is going to be mounted between them.

All sliders are using selpgraphite bushings instead of ball bearings for lower noise and less maintenance needed. It does require perfect square of my axes though.

I hope I can fit the Diamond 5way Hotend in between the SCS8LUU and only have the nozzle below. Due to the construction of my printer, I might have to lower it a good deal farther, which in turn is going to pull the sliders farther apart (which means less actual print area available) as the Diamond hotend is much wider the farther up we go.

I have considered placing the Diamond hotend below and between the sliders, which could be a very good compromise between X, Y and Z spaceusage.


I have ordered most parts like motors, brackets etc from RobotDigg while all the 2020 aluminium extrusions (the metal bars I use to build the case) and precision shafts have been ordered from Motedis.

I spent around $200 + shipping from Robotdigg and €100 or so from Motedis.

As you can see it is a lot of metal!

I’ve been working on my build on OpenBuilds, as they have a nice Parts option, but after spending over an hour adding everything, writing comments and links, the list stayed a few days and then disappeared…

I am going to type in all parts again, so please check back over there.


I recently recieved the biggest expansion board for the Duet WiFi -> the Duex5 which is just awesome! It came with the small 100-pin ribbon cable and lots of connectors. It comes fully featured with 5x TMC2660 drivers, output for 5 hotends and much much more. Head over and read all about it.

One thing I really love about, which isn’t something I’ve seen on any other controller out there:

Build in 12v switching when using power other than 12v. Most people are using 24v powersupplies when building new modern printers, but much of our asseccories like LEDs and FANs requires 12v.

I’ve previously used either a seperate 12v psu or a DC-DC convert to convert 24 to 12v. But that was not enough, I also had to find a mosfet board to do the actual switching, which makes for a lot of wiring and extra parts.. All this is taken care off in this one brilliant addition!

Very nice, and very well thought out!

While modelling the case I looked for and found a model of the Duet WiFi on GrabCad. I used his model and created my own 3D version of the Duex5 on GrabCad. All credit goes to the original maker, as I really just moved stuff around. You’ll notice the textures are missing from my model, but there are photos included.

That’s all for now

That’s all for now. While I can’t expect you to be as excited about the project as I am, I surely hope you find it interesing and maybe even inspiring. You having read all the way down here is a good indicator 🙂

While waiting for my parts to arrive and I can start assembling, I am going to work on getting to know the RepRapFirmware on the Duet WiFi controller.

So far I have made a blog post about getting started and blog post about updating the firmware.

Next couple of posts are going to consist of wiring up the Duet WiFi and configuring the firmware basics. As you might know, there ARE posts relating to these items. A lot of them actually, but I’ll try to keep it way down basic in tune with my previous Instructables for everyone.

Untill next time, you might want to look in on my BeTrue3D Facebook page, where I post short updates.

Morten – aka BeTrue3D

Posted on Leave a comment

Duet Wifi – Update Firmware

Download and update new firmware

Download new firmware

If you do not allready have the newest firmware, head over to the Github repository containing the RepRapFirmware.

Here we click on Clone or download and then Download Zip.

Take the downloaded file, which is about 10MB, and extract it to a practical location.

Note: Here’s a direct link to the latest stable files.

Update firmware

  1. Open your webinterface and go to Settings and General tab.
    Here we can see our current version of the 3 different firmwares running on our board.
    Click on Upload File(s) to upload our firmware files.
  2. Filenames and matching name on Web InterfacE:
    DuetWiFiFirmware :: Firmware Version
    DuetWiFiServer :: WiFi Server Version
    DuetWebControl :: Web Interface Version
  3. Browse to the place you extracted the files and find the subfolder:
    Release -> Duet-WiFi -> StableNote:When everything is working and you need some option only available in Edge, you might want to use that one, but for now, we want to use the Stable version. Edge basically means Beta.
  4. Browse to our files and dobbelt-click on our DuetWiFiFirmware file
    You need to press YES for each of the update notifications in order to get all of them updated.

    1. Note: I had some faded error messages, about failing to create/rename a folder, but everything turned out fine anyway.
  5. Now upload our DuetWiFiServer file.
  6. Finally upload the largest file for the Web Control DuetWebControl
  7. When pressing Yes, it takes a while to finish.
  8. When done we get a confirmation dialogue along with a prompt to reload.
  9. We now have the newest firmware installed for all 3 areas:

Duet Wifi official information on firmware:


Posted on 2 Comments

Duet Wifi – Getting started

This post is pretty old, so please go to the new post on the same subject:

Note: There is some usefull information in this post as well, but it’s important not to use Pronterface for your WiFi setup, as Pronterface converts all characters to CAPs.Welcome to the very first post in a long serie about the Duet Wifi controller.

This first Blog post contains:

  1. Download and install drivers
    1. Installing USB drivers
  2. Activate WiFi
    1. Download Printrun/Pronterface
    2. Activate WiFi using Pronterface
  3. Duet WiFi web interface
    1. Log on to the web interface for the first time
    2. Set WiFi to enabled automatic on startup
  4. Setup IP Address and name of controller
    1. Setup IP Address
    2. Specify a Name and password

Looking at the Duet Wifi Controller, we can see how it has a micro USB connector

A nice subtle usb cable is included with out Duet Wifi, which we’ll use to get started.

Download and install drivers

Before we do anything we head over to the Github repository cotaining the RepRapFirmware.

Here we click on Clone or download and then Download Zip.

Take the downloaded file, which is about 10MB, and extract it to a practical location.

Installing USB drivers

In order to use the Duet Wifi via USB we need to install some drivers. My windows 10 laptop actually installed some drivers on it’s own, and listed the device as generic COM port.

I didn’t test wheter communications worked ok or not, as I proceeded to install the drivers from Github.

Locate your drivers, which are located in RepRapFirmware-dev – Driver

Right-click the Duet.inf file and click Install

Now you say yes and accept any windows popping up on your screen untill it is done installing.

When finished you can see your Duet Wifi listed as Duet 3D printer control electronics in your device manager. Note the number listed after COM. In this case 3. We are going to use this in future steps.

Activate WiFi

Download Printrun/Pronterface

In order to activate WiFi, which we need in order to update firmware, we are going to use Printrun/Pronterface.

Note: You can use Repetier host, or any other host software you might like. I just like to use Printrun/Pronterface as it is extremely light and starts up very fast, so very usefull for faultfinding.

Click the Get it icon in the first box, or just click download in the top menu.

Now click the Windows & OSX binaries and find the newest file for Win or Mac, as fits your system. In my case I download the file and unzip it somewhere practical.

You do not need to install it, and just start it by double-clicking pronterface.exe, which we do now.

Activate WiFi Using Printrun/Pronterface

  1. Plug in your USB cable to the Duet Wifi and to your computer. Do not turn on your main power source yet.
  2. Open Pronterface and check COM port. It should automatically choose the COM port available. Select manually if needed. In Baudrate you can just select the fastest option and then click Connect.
  3. In the right-hand window you can now see that your printer i Connected / Online.

    Printer is now online.

  4. Optional: Use the Gcode M503 to get a read out of your config.g file. This file is located on the SD card, so a readout means success.
  5. Enable WiFi by issuing the Gcode command: M552 S1
  6. After up to 30 seconds, you get the following message:

    Now you can see the Duet Wifi access point on your computer.
  7. If you are connected to your network using network cable, you need to disconnect this before connecting to the DuetWiFi network.
  8. Now connect to the DuetWiFi network and go to address in a browser.
    1) Select your Wlan and type in the password for the network.
    2) Specify a hostname, if you want a different name than duetwifi.
    3) Hit Save and reboot button.

  9. Don’t reboot by unplugging USB, but instead issue M552 S0 to turn off Wifi and then M552 S1 to turn it on again.
    You can see how my Duet WiFi were assigned the IP

    1. Note: If you need to check the status of the WiFi you can just issue the M522 Gcode command without parameters.
      Here we can see wifi is disabled and our IP address is right now.
    2. Lets turn on the WiFi by issuing the M552 S1 Gcode command.
      The WiFi is now turned on and IP changed to – IP changed as I haven’t yet defined a static IP address.
      Note: It is not possible (as of january 2017) to define a staic IP on the device. You need to assign a static IP via your router

Duet WiFi web interface

Logging on to the web interface for the first time

Now we log onto the Web GUI using the IP address assigned to our Duet WiFi

Here we can see the aweseome web gui of the Duet WiFi from where you can setup and control all aspects of the controller!

Set WiFi to enabled automatic on startup

In order to configure our WiFi to be enabled every time we power up the Duet WiFi we need to edit some config files. Instead of the “usual” way of doing it by editing files in a compiler, like Arduino IDE, and then spend a lot of time compiling and uploading it, we can edit the files directly from Web Gui and just apply the changes without any compiling taking place. Nice ehh? 🙂

  1. Click on Settings -> System Editor and the Pencil in the config.g file row.
  2. Find the line containin ; M552 S1 and remove the ;
    A semicolon in the start of a line means it is uncommented. This means the line isn’t executed. When we remove the semicolon we changed the uncommented state and enabled the line.
    Note: We can see which file we are editing in the top left corner. In this case config.g
  3. Click Save Changes when done.
  4. Go back to the General tab and click Apply Settings.

Setup IP address and Name

Setup IP Address

Setting up a static IP address using the M552 Gcode command, or any other way, is not possible with the current firmware:  Known firmware issues

Only way to fix the IP is to setup a static DHCP address in your Router, based on the MAC address of your Duet WiFi Controller.

If you setup a static IP address and do a readout, you will see something like this message, where .100 is the IP I specificed, and .19 is the actual one issued by the DHCP server in my Router.

If specifying static IP worked

When the firmware it fixed you can setup the IP by editing the config.g file, as we did above.

Then insert the following data marked up with the square.

Specify a Name and password

By editing the config.g file, as we allready did a few times above, you can change the name of your machine.

  1. Machine name is defined using the Gcode M550 Pxxxx. It is important to remember to use the P.
    1. Changing machine name is actually the Netbios name and also the name displayed at the top center of the web interface.
  2. While at it, you might also want to change the password to something only you know.
    1. Using the Gcode M551 I have changed it to mypassword – again, you need to remember to use the P for parameter.
    2. By changing the password you will now be met with a password dialogue if you want to manage your printer using the webinterface.
      This is not a high level security measure and should not be used as such. Users are going to have access to the interface but just can’t modify anything.
    3. Change password back to reprap to avoid the security popups like this: M551 Preprap
  3. Now just Save Settings and Apply Settings in the General Tab.

Posted on Leave a comment

New build – BeTrue3D Printer

Build: BeTrue3D Printer

I’m in the process of planning building a new printer using high quality parts. This post is the first step into that, and I hope you’ll stick around to follow it.
My definition of high quality in short: High quality for me means no printed parts in the moving mechanics parts. Also using quality parts, but not overdoing it, like using ballscrews instead of lead-screws, unless I can get them very cheap.

Case / Cabinet

I have looked at Folkertech FT-5 case, but am still looking for options. I hope the next post can shed some light on my decision.

Previous builds:

I have previously build several Ultimaker 2 clones, and they do print very well. For the new build I also want the bed to go up and down and the XY to go around up top.

But I have some additional requirments for this new build:


The Z-axis must have threads and rods on two sides for more stable bed.
Maybe even on 3 sides to adjust bed using the motors! I know nothing about this method though, so I have to look into this.

Z axis

Z-motors must be linear steppers – meaning build in leadscrew (or ballscrew), so no flexible couplers.
The screws must be fixed up top.
I want to use back-lash nuts, or some Delrim nuts.
Effective Z height doesn’t need to be more than 20cm or so.

XY axes

The XY must be more sturdy than the 6mm rods on Ultimakers.
I know I can use thicker rods by buying special rods, but the XY area must also be somewhat larger, as the new printer is going to be using Diamond hotend and still have 22cm x 22cm print area or a bit more. I do not need 30cm x 30cm or something like that.

Purpose and Goals

This is a machine going to test the Diamond 5way hotend – still prototype where I am allowed to talk and post some about it 🙂

It’s also going to be working test for several writeups on Duet WiFi controller, Duex5 expansion board and DuePanel touch screen.

Heated bed:

I am going to use a 5-6mm milled aluminium plate or PEI coated aluminium plate.
Am going to put a DC or AC silicone heater from Kenovoo under it.

Electronics being used:

I’m using Duet Wifi + Duex5 + PanelDue 4.3″
PSU: Meanwell SP-480-24 480W 24V/20amp.



Hey all, welcome to my first post here on BeTrue3D.DK website.

I’m in the process of planning building a new printer using high quality parts. This post is the first step into that, and I hope you’ll stick around to follow it.
My definition of high quality in short: High quality for me means no printed parts in the moving mechanics parts. Also using quality parts, but not overdoing it, like using ballscrews instead of lead-screws, unless I can get them very cheap.

Case / Cabinet

I have looked at Folkertech FT-5 case, but am still looking for options. I hope the next post can shed some light on my decision.

Previous builds:

I have previously build several Ultimaker 2 clones, and they do print very well. For the new build I also want the bed to go up and down and the XY to go around up top.

But I have some additional requirments for this new build:


The Z-axis must have threads and rods on two sides for more stable bed.
Maybe even on 3 sides to adjust bed using the motors! I know nothing about this method though, so I have to look into this.

Z axis

Z-motors must be linear steppers – meaning build in leadscrew (or ballscrew), so no flexible couplers.
The screws must be fixed up top.
I want to use back-lash nuts, or some Delrim nuts.
Effective Z height doesn’t need to be more than 20cm or so.

XY axes

The XY must be more sturdy than the 6mm rods on Ultimakers.
I know I can use thicker rods by buying special rods, but the XY area must also be somewhat larger, as the new printer is going to be using Diamond hotend and still have 22cm x 22cm print area or a bit more. I do not need 30cm x 30cm or something like that.

Purpose and Goals

This is a machine going to test the Diamond 5way hotend – still prototype where I am allowed to talk and post some about it 🙂

It’s also going to be working test for several writeups on Duet WiFi controller, Duex5 expansion board and DuePanel touch screen.

Heated bed:

I am going to use a 5-6mm milled aluminium plate or PEI coated aluminium plate.
Am going to put a DC or AC silicone heater from Kenovoo under it.

Electronics being used:

I’m using Duet Wifi + Duex5 + PanelDue 4.3″
PSU: Meanwell SP-480-24 480W 24V/20amp.