Wednesday, April 13, 2016

Building a second 3D-printer - electronics



I want a 32-bits controller board for the printer. One on which I can choose my own motor driver boards. I found RAMPS-FD 1.0, a cheap RAMPS-based board that can be piggybacked on a 32 bits Arduino Due board. You can not use a normal RAMPS board with an Arduino Due, because the Due runs on 3.3 instead of 5 volt. After buying the RAMPS-FD I found out that this 1.0/1.2 version of the board is not safe to use. More information here: Because now that I have the Arduino Due, I started looking for another board that piggybacks the Arduino Due. I found the RADDS (RepRap Arduino-Due Driver Shield) 1.5 board.

Figure 2: RADSS wiring

Power supply unit (PSU)

Because of the heated bed, a beefy PSU is needed that can provided enough amps. I choose a 24 volt, 15 ampere LED strip PSU (360 Watt). 24 Volt because it does heat up the hotend and bed faster. Connect the PSU to the two print screw terminals of the RADDS board in the upper right en left corner, see figure 2.

Mounting the PSU to the frame

Looking for a way to mount the PSU, I came across these brackets on thingiverse to mount the PSU inside the base triangle, underneath the heated bed. After printing the brackets and mounting the PSU I found out that there is not much room left. I started looking for designs that keep the PSU on the outside of the printer frame. These brackets were just what I was looking for. Too bad they did not fit my PSU. I designed a parametric version of these brackets using OpenSCAD. You can create your own version of it in Thingiverse Costumizer.

The PSU mounted to the Z-tower of the frame

Closeup for the PSU mounted to the frame

Wiring the PSU to mains and adding a switch and fuse

To wire the PSU to mains I found a PSU inlet and switch on thingiverse that I liked, but it needed some adjustments. Luckily the OpenSCAD files were provided, so I was able to do that. The good thing about this mains inlet unit, is that it also contains a switch and a fuse.

PSU inlet and switch


Normally closed

I have the wires mounted such that the circuit is closed when the switch is not pressed. Pressing the switch opens the circuit. The advantage of this solution is that in the event of a broken wire/connection the motor won't move, because the controller detects an open circuit. When I had chosen the other option, in case of a broken circuit, the motor would run, but won't stop at the endstop switch. My switch has the outer most connections for normally closed.

Figure 4: endstop switch on endstop holder

Endstop wiring

Connect the endstop wires to the controller board between Signal and GND. Make sure to enable the pull up resistors on the controller board. In the drawing below you find the position of the X, Y and Z endstops. Connect to X, Y and Z-max on the controller board.
Figure 5: position of the X, Y and Z-endstop.

Endstop configuration in the firmware

I use Repetier firmware. The endstops can be configured using the Repetier webpage:

Figure 6: Repetier endstop configuration. Click to enlarge.

Endstop tesing

After everything is connected and the firmware uploaded, the endstops can be tested:

  • Connect to the printer (using Proterface for example)
  • Send M119 command.
  • Firmware should report back status "0" or "open".
  • Engage the endstop by pressing the switch.
  • Send M119 again.
  • Firmware should report "1" or "triggered" or "closed".


Twist the endstop wires (as well as the motor wires) to reduce crosstalk. Crosstalk can cause false readings of the endstop data.



X,Y and Z motor

I bought Wantai 42byghw811 stepper motors at RepRapWorld.
The order of connecting the wires for the Wantai motors is (figure 7):
  • Black
  • Green
  • Blue
  • Red
Twist the motor wires to reduces crosstalk.

Microstep configuration

Figure 7: connecting the X, Y and Z stepper motor

Extruder motor

Motor drivers

My Prusa I2 has motor drivers based on the A4988 chip. This board has a maximum microstepping resolution of 1/16-step.

For this printer I bought stepper drivers based on the DRV8825 chip. That has a maximum microstepping resolution of 1/32-step.
Note that the X, Y and Z stepper driver boards have to be mounted with the potentiometer on the left for the A4988 based boards, and on the right for the DRV8825 based boards.
The board for the extruder has to be paced 180 degrees rotated on the RAMPS FD.

Figure 8: steppers divers based on DRV8825 chip


All extruder outputs (D9, D10 and D11) on the RAMPS FD are inverted in the firmware. That is why you cannot use them easily for a cooling fan. Use the extra MOSFET outputs (D12 and D2 for that purpose).
More information in these posts:,459760

Hotend fan 

The hotend always needs to be on. So connect it PSU.

Object fan

The object fan needs to be on for materials like PLA, except for the first layer. This fan needs to be managed be the controller board.

M106 Set Fan Speed to S and start <PWM Value[S 0-255]>
M107 Turn Fan off

#define FAN_BOARD_PIN -1

#define FAN_BOARD_PIN 10

Fan for the controller board

For now I don't have a fan for the controller board itself. The motor driver board get hot, I have read that this is normal.



The hotend is connected to D9

Heated bed

I have an solid state relais (opto 22) in my salvaged parts box which I plan to use for the heated bed. Not yet connected.

Saturday, March 26, 2016

Building a second 3D-printer - arms, hot end and extruder

I have created and mounted the arms, the hot end and the extruder motor.

Printer after mounting the arms, hotend and extruder motor
The arms
Six arms are needed. The arms consist of carbon tubes and tie rod ends on both sides.

Tie rod ends and carbon tubes

Rod inserted on both ends during curing of the glue to make sure all arms have the same length
I have used Bison two component epoxy glue to glue the parts together. It is important that all arms are exactly the same length. That is why I inserted a rod during curing the of glue on both ends.

Parts for the arms:

The end effector is the part in the middle, on which the hot end will be mounted.

Hot end

Parts for the hotend
I have chosen a 1.75 mm E3D-v6 bowden hot end with vulcano heater block and 0.4 mm (for precision) and 0.8 mm (for speed) nozzles. With 24 volt fan and heater cartridge. I followed these assembly instructions: E3D-v6 Assembly.

Parts for the hot end:

Extruder motor

Extruder motor mounted to the frame
I designed and printed a part to mount the extruder motor to the printer frame. This extruder motor has a gearbox for extra power. The bowden extruder head is attached on top of the gearbox.

Parts for the extuder motor:

Saturday, February 27, 2016

Building a second 3D-printer - rails, belt and motors

Time for an update about the 3D-printer build.
What the printer looks like now

Two of the lineair rail carriages were not running smooth.

One of the new linear rail carriages

After receiving a new pair and the M3 T-slot nuts, I could continue the build with mounting the lineair rails to the frame.

The top idler

After mounting the lineair rails, I mounted the top idlers. Two flanged bearings (F623ZZ) make them run smooth.

End stop switch
I designed and printed a small part to hold the end stop switch. Good to have a my Prusa Mendel i2 3D-printer still up and running for that!

Carriage for open ended belt
The carriage for open ended belt is mounted to the lineair rail carriage. The printer arms will be mounted to the two parts sticking out. The screw at the bottom can be used to tension the belt. There is also a screw on top (not visible on the photo), that screw touches the end stop switch and is used for calibration.

Rubber motor mounts to dampen the noise

Motor mounted to the frame.
After mounting the motors the belt can be mounted. I used hex screws and an allen key to fasten the screws.

Parts used

Saturday, January 23, 2016

Building a second 3D-printer - the frame

It has been three years, since I built my first 3D printer. The Prusa Mendel i2. I have been thinking about building a new printer for some time now. Compared to my current Prusa Mendel i2, I want:
  • more build volume;
  • more speed;
  • heated bed;
  • probably switch to 1,75 mm filament.
I liked the Mendel Max 2, but once I saw a delta printer, I was sold. I wanted to build a delta.
I do not buy a kit, because I do want to select all the parts myself:
  • 2020 aluminium instead of 15 mm;
  • metal corners instead of printed once, for better rigidity;
  • 24 volt power supply, for higher speed;
  • 32 bits processor for higher speed;
  • lineair rail instead of wheels for better stability;
  • 0.9 degree stepper motors, for more precision. I will start by using normal steppers;
  • Raspberry Pi with OctoPrint to control the printer;
  • big LCD12864 display;
  • a heated bed.
So I want a delta with a big build plate. That is why I choose to build a Kossel XL. I want 2020 aluminium for the frame. I went looking online for metal corners, because that would give the printer more stability. I found those at They also have metal versions of the carriages and end effector.

The downside of selecting all parts myself will be that:

  • I probably have to buy the parts at different stores;
  • and because of that, I won't be sure the parts will fit together;
  • and because of that, have to buy more parts.
  • which will take time. But hey, I still have my trusty Prusa i2.
That was what happend when the first parts arrived. It turned out, that I needed M3 T-slot nuts to mount the sliders. I had only ordered M5 T-slot nuts.

The first two packages did arrive
The parts next to my Prusa i2 spread on the table

The frame
Cutting thread for the feet

Feet attached

Parts used so far