Focus, an Experimental Powder Printing Platform





Introduction: Focus, an Experimental Powder Printing Platform

3D Printing Contest

Second Prize in the
3D Printing Contest

In this instructable I am going to explain Focus, a functional experimental powder printing platform.

Focus started of in October 2012 when I asked myself, how hard can it be to SLS nylon powder. To answer this question I built Focus. I have designed Focus to be experimental, All parts can be swapped for different parts and there is a lot of adjustments in most parts.

I myself have configured focus as a SLS/SLM printer right now. I have had the best results with laser melting Nylon 2201 powder. you can follow updates on focus at it's blogspot page. Focus is still a work in progress so expect parts and software to change.

In this instructable I have included everything needed to build the basics of focus. This includes:
  • Schematics
  • Wiring diagrams
  • Technical drawings
  • Bill of material lists
  • Firmware
I also maintain a complete buildpackage which can be found at my thingiverse page or in the attachments in step 2. In this package you will find all the most recent files in one neat package. Be sure to download the newest one.

With this you can build the printer. The toolhead will have separate lists in their respective steps.

Sadly there are no step by step building pictures of Focus. Focus has changed a lot since I started work on it. I have tried to compensate the lack of step by step pictures with good technical drawings.

If you still have questions after reading this instructable, feel free to ask them in the comments.

Step 1: What Is Focus

Focus is an open source experimental powder printer capable of printing in every powder technique available. It can also be used for most other 3D printing applications and laser engraving. Focus is open source, reprap based and can be built for under €600,- (around $800) if you source the parts right.

Focus is built around simple wooden and 3D printed parts. No complex tooling is needed for any of the parts. Most of the frame is constructed from 15mm MDF that has simple cuts. The moving parts are 3D printed in either PLA or ABS (preferably PLA) using a simple 3D printer. All of the parts are supportless and easy to print. The remaining parts are easy to obtain from a hardware store or from the internet. All of the used parts are also used in most standard 3D printers and easy to obtain.

Focus uses a gantry with the Y-Axis stacked on the X-Axis. This has the disadvantage that the axes move relatively slow, but because Focus is experimental, not a lot of speed is required. Focus can still comfortably reach speeds of 30mm/s. The toolhead is large and can support large weights.

Focus can be used for a wide variety of techniques. 
  • It can be fitted with a laser, using it for Selective Laser Sintering, Selective Laser Melting and laser engraving/ laser cutting.
  • It can be fitted with an inkjet nozzle to print binder on powder, or print with heated waxes or resins directly.
  • It can be fitted with a standard FDM nozzle to print in a conventional way.
Even combinations should be possible, like printing ceramic slurry with powder support. The possibilities are endless.

Precise values are not known for Focus, since it is still experimental. All figures are estimates and minimum values (followed by +)

Max gantry Speed:         30+ [mm/s] (capped in the firmware to 30mm/s or 1800mm/min for safety)
Max piston speed:          4+ [mm/s]
Buildbox:                        130x117x80+ [mm]
Gantry travel:                 150x280 [mm]
Electronics:                    RAMPS 1.4
Firmware:                       Beta 0.02
Motors:                           5x NEMA17

  • Focus is one of the few functioning powder printers available for hobbyist;
  • Focus is under $1000, inexpensive to 3D printer standards, very cheap to powder printer standards;
  • Focus is versatile, It can hold nearly any tool and can print in a lot of techniques;
  • Focus is easy to build, with simple wooden parts, easy 3D printable parts and standard hardware used in 3D printes;
  • Focus is slow, a new layer takes quite some time to deposit and gantry speeds are relatively low due to heavy carriage;
  • No usable prints yet, Not enough experiments have been done to make usable parts yet, this is a WIP;
  • Focus is not very accurate, especially in the Z axis (relative to 3D FDM);
  • Focus lacks more advanced functions needed for high quality printing, such as heated buildbox or inert gas chamber;

Step 2: What Will You Need for the Basics

To build focus you will need several things. For starters, time, when you finally have all the parts together, you will still need a long weekend just to assemble the printer and wire it.

I have included a detailed material list in the buildpackage at my thingiverse page and in the attachments below. For convenience, and to prevent this page from being awfully empty, I have a rough list below.

For electronics you will need:
  • 1 Arduino Mega 2560;
  • 1 Ramps 1.4 3D printer controller;
  • 1 4x20 HD44780 compatible lcd screen;
  • 1 Ramps 1.4 keypad or compatible clone;
  • 1 Ramps Micro SD card holder of similar part (all sd's use the same pins)
  • 5 NEMA17 stepper motors;
  • 4 Pololu stepper motor drivers or compatible clone;
  • at least 2 optical endstops, preferably 4. (For when I add piston endstops);
  • Plenty of wiring, headers, heat shrink and tie rips .
  • A way of powering an Arduino (I used a 5V USB charger and an Arduino USB cable)
  • A beefy 12V power supply (4A or more)
Also you will need mechanical parts:
  • 1-1.5kg of printing material, preferably PLA;
  • 1100mm x 1200mm 15mm MDF
  • 9 LM8UU linear bearings;
  • 2 8mm smooth rod 500mm;
  • 2 8mm smooth rod 315mm;
  • 3 M8 threaded rod 340mm;
  • 4 M6 threaded rod 200mm;
  • 2 M4 threaded rod 270mm;
  • 2 M4 threaded rod 130mm;
  • 35 624 radial bearings;
  • 3 T2.5 pulleys attachable to NEMA17 axles (5mm);
  • T2.5 timing belt (2x 1.2m, 1x 1m); (or optionally T5)
  • Lots of nuts, bolts and washers, specified in the detailed lists;
  • Wood screws of your choice for building the MDF frame;
  • 4 corner brace;
  • Small magnets for the maglocks.
Materials needed for toolheads are described in:
  • Step 8: Selective Laser Sintering/ Melting;
  • Step 9: 3DP Inkjet Printing.

Tools needed:
  • drill;
  • 2mm drill; (for predrilling for the wood screws)
  • 3mm drill;
  • 4mm drill;
  • 6mm drill;
  • 8mm drill;
  • countersink drillbit; (for countersinking holes in the wooden frame)
  • 25mm hole saw; (or as close as possible)
  • files;
  • soldering iron;
  • (optional(ish)) Circular saw;
  • jigsaw;
  • spanners for (M3) M4, M6 and M8;
  • Allen key for M3 and M4;
  • Pliers
  • Small screwdrivers

Step 3: Printing the Parts

It's best to start with printing the parts early. None of the parts are that complex but some parts are large and printing all of the parts will take quite some time. I myself had at least 40 hours of printing (It was printed on a mendel V2, they are not that fast). You will need around 1-1,5kg of printing material to print this at a low (40%) density.

At this point it is also worth noting that I do not advise to print this printer in ABS. ABS has a huge amount of shrink and most of the parts have large surfaces and should not warp. PLA shrinks way less and thus makes parts with less warp.

All of the parts are available from my thingiverse page or in the attachments below

You will need the following:
  • 2 Carriage belt clamp
  • 1 Carriage carrier
  • 1 Carriage hookup
  • 1 Carriage Laser  Mount 
  • 9 Carriage LM8UU holder
  • 24 Piston bearing plate
  • 2 Piston Endstop Holder
  • 2 Piston Motor cover
  • 2 Piston Motor Mount NEMA17
  • 4 Piston Lead Screw holder V1
  • 2 Piston Nut trap
  • 2 Piston Screw holder
  • 4 Piston wallguide 4
  • 1 Roller V3 pivot block driver
  • 2 Roller Holder V2
  • 1 Roller Hookup V2
  • 1 Roller V3 pivot block
  • 1 Roller V3 pivot block mirror
  • 2 Roller Maglock
  • 1 Tray Handle
  • 1 X Bar Clamp Endstop
  • 5 X Bar Clamp
  • 2 X belt Clamp
  • 2 X Driven Clamp
  • 2 X Driver Guide
  • 1 X Idler Clamp Mirror
  • 1 X Idler clamp
  • 2 X Maglock
  • 1 X Motor Mount mirror
  • 1 X motor Mount
  • 1 Y Axis Idler
  • 1 Y Axis motor holder

Step 4: The Wooden Frame

Once you started printing the parts, you can start with assembling the frame.

The frame is made from 15mm MDF. MDF is strong, cheap, easy to work with and doesn't warp much. It is therefore the ideal material to make an open source printer. All wooden parts only require simple cuts and holes.

While most cuts don't need to be accurate, but they do need to be straight. You can cut them yourself using a circular saw or a table saw, or you can let the hardware store cut the parts for you. Here in the Netherlands they are happy to cut the parts for you if you provide them with clear drawings (which I included).

Some parts need to be equal in size. This can be done by cutting them in one pass, cutting them all the same length. There are two cuts that need to be accurate. The most important cut is mentioned on the drawing, The other I marked in the cut list in the pictures above.
  • The first cut is the cut with the hopper walls and both pistons. By cutting this in one go they are all the same width. This way you only need some minimal sanding to make the pistons fit snugly.
  • The second important pass is for the supports. When all of these are equal, the top cover is level.
Slots and holes
In the hopper top cover there is a large rectangular hole (you really can't miss it) where the hopper is attached. Try to make it with an as little as possible gap between the hopper and the top. The bigger the gap, the more the printer will leak material. The tray collects most of the material but it leaves a huge mess.

In some of the parts there are some slots. These are used to attach the printed parts to the wooden parts. Most of these cuts don't really need to be cut accurately. Use a drill to cut some holes along the slot, then use a knife of a saw to cut everything between the holes.

In the sides of the hopper there are also some large holes. These are used to see the piston lead screws and for wiring the endstops. These holes will make your life a whole lot easier. They do not need to be round or 25mm, they just need to be big enough to see through and for a screwdriver to fit through.

The hopper is the most complicated part, not only because it has the most holes, but also because it needs to be the most accurate. When it is put together, you need to take extra care to make the corners as perpendicular and the opposing walls as parallel as possible. There is a simple way of doing this: measure, measure and measure some more. Then test fit and then measure some more. If this part is skewed, the hopper will either jam or leak, both are really bad.

Next just follow the diagrams to assemble the frame. All of the parts that need to be accurate have been mentioned. With the rest of the parts you can be as much as a few millimeters of and it will not do anything harmful, though it does look bad.

The frame is assembled with wood screws. Simply predrill and countersink every connection to prevent the wood from cracking. You want to be able to take some pieces apart later on to make adjustments.

The hopper is attached to the frame using four corner braces. (see pictures)

Powder barriers
At the sides of your hopper, there should be some small pieces of wood to keep the powder contained withing the build surface. These small barriers only have to be several millimeters high. My barriers are too far apart, they need to be narrower (closer to the hopper).

Step 5: Assembling the Printer

With the wooden parts cut and the 3D printed parts printed, it is time to assemble the machine. It was not designed as a super simple to build kit, but it is not that hard to build. Now as I said, I have no step by step pictures of how to build this. For one I could fill an entire instructable just with that. Secondly I didn't take any pictures when I was building it, sorry. What I did do however was produce detailed schematics on how Focus is put together. Just follow the drawings to assemble all the parts.

Notes for all parts: use washers wherever possible and try to follow bolt orientations as good as possible. Also don't tighten the LM8UU bearing clamps too tight. Keep them loos(ish) until final assembly and then tighten them until the don't give anymore. Don't tighten them too much because this will give a lot of unwanted resistance on the axes.

Don't tighten any smooth rod or M8 threaded rod before you put the gantry on the frame. The exact lengths of all rods are dependent on where you put the slots. Once you have placed the gantry on the frame you can adjust all lengths and tighten everything.

Assembling the carriage
The first part to assemble is the carriage. There are holes to attach the tool to, but there are no special parts to attach tools. The holes are designed around a allow laser holder, but I stopped using that after only a few days. I now use some aluminum profile with holes drilled to attach my laser diode housings. (you can find this mount here)

Assembling Y-axis
The Y-axis has one part that requires some caution. The smooth rods are clamped by the X driver guide. The holes in the driver guide will most likely be printed too small. To make these holes to size, first install the screws that clamp the rod without the clamp flexing. Then carefully drill the holes with an M8 drill bit, and file the holes until the smooth rods fit without jamming.

Be sure to add the Carriage to the Y-axis before all the parts are on.

Assembling depositer
Most parts of the depositer are mounted on the M4 threaded rod. Because these parts need to be tightened from both sides, it is not possible to use self locking nuts. To solve this a pair of ordinary nut is used. By tightening them against each other, then can be secured at any point without clamping down on parts.

There are several small parts on the depositer that need to move freely. All of these parts are connected to the aluminum strip that does the actual depositing. It needs to be able to rotate and raise the aluminum profile a bit, to have some clearance over the freshly deposited layer.

Assembling X-axis
Before you attach the motors and the bearings to the X-axis, add the 8mm smooth rods and place all the bolts. After attaching the motor and the bearings, there is hardly and space left to place the bolts. You can clamp the M8 rods after you positioned the gantry on the frame.

Assembling pistons
The pistons are partially made of MDF. The screw holes in all printed parts are easily found. Measure out the center, place the parts, predrill and use small screws to attach these parts to the wood. There are some extra drawings and a render for the lead screw holder. I myself had a lathe available when I built focus, so I used that. I designed a printable part that does the same job.

No flags are needed at this point. All piston positioning is still done manually.

Assembling piston holder
The piston holders holds the adjustable nut trap the pistons use to move. Assembly all of the printed parts first. You can add the M6 threaded rod when you mount it in the slots in the hopper. Clamp the walls of the hopper on both sides. When you only clamp on the outsides of the hopper, it might bend inward and jam the pistons.

The endstop holders with the springs are not yet needed because the printer cannot use these endstops. To safe parts and time you can skip adding these.

Timing belts
Next you need to install the timing belts. For the X-axis, clamp the belt in the middle with the belt clamps. Then use tie rips to joint both ends together and tension the belt. The Y-axis needs both ends attached to the carrier. I cut my belt in halve and joined them with tie rips so I could tension them, but you can also tension the belt on the carrier.

Put gantry on axis
The complete gantry is attached to the frame with four M8 bolts. These fit through the slots in the top. At this point you need to adjust the gantry so it is parallel to the buildbox. After this adjustments need to be made to the depositer so it barely makes contact with the hopper.

The endstop flags need to be mounted when assembling the Y-Axis. I have included pictures of my flags. You can use any material that is stiff and bendable, but iron or aluminum are the best choices.

Magnets in maglock
The maglock holds the depositer in place when it is not used. It is a fairly simple system that uses magnets to hold the depositer to the X drivers. The magnets simply pull the depositer toward the driver when it is close enough.

Step 6: Wiring the Printer

At the core of Focus lies what powers most open source 3D printers. A RAMPS 1.4 breakout board powered by an Arduino Mega 2560. All component and connectors are on this board. Information on RAMPS can be found here.

Most components are mounted to the board by wires with female headers at the end. For wiring I suggest using ribbon cable. It looks nice and doesn't tangle.

I am not going to explain how to install the LCD screen, Keypad and the SD card reader. There are plenty of instructions on installing these. Follow the following links:
  • Information on the keypad can be found here.
  • Information on installing the SD card reader can be found here.
  • Information on installing the LCD screen can be found here.
There are 5 motors to install on this printer. Two for the X axis, one the Y axis, one for the build piston and one for the feed piston. The X motors need to be wired as a group, while both motors go in opposite direction. This is done by attaching the motor wires in reverse: 1A to 2B, 1B to 2A, 2A to 1B and 2B to 1A. All the other motors don't require any extra work attaching them.

The X and Y motor go to the X and Y port of the RAMPS. The feed and build motor go to the E0 and E1 ports in that order.

Only the X and Y endstops are really needed. The is currently nothing the firmware can do with the B- and F-endstop. The X-endstop goes to the X-min port and the Y-endstop goes to the Y-min port.

Power supply for Motors and laser
The motors and printing systems are powered by 12V. To supply this you will need a DC power supply that produces at least 12V. This needs to be connected to the right terminal block, the left is used for heating the printbed of FDM printers and only supplies one mosfet. The right block supplies motors and the other mosfets.

Power supply for Arduino
The Arduino itself needs power too. For this you either need another power supply of at least 6V, connected to the arduino power jack, or a 5V USB power supply. I advice a USB charger with an Arduino USB cable. There are a lot of 5V systems on the board (LCD, future inkjet systems, keypad) and the Arduino's on board voltage regulator could be drawn to it's limit. A USB charger supplies a lot more than any computer or the voltage regulator can.

Step 7: Uploading Firmware

latest version: Beta 0.02

To make the printer work, you need to upload the Beta 0.02 with all of it's tabs to the Arduino Mega 2560. You can find this firmware in the buildpackage or in the attachments below. If you don't know how to use an Arduino, I would like to redirect you to this page.

This firmware was scratch built because Focus used to be very different to FDM printing. The firmware is working, all the prints you see are printed using this firmware, but it is by far void from bugs and there are some things that only work on a very basic way, simply because I do not posses the skill to make it any better.

One of the most obvious things anyone will see is on the top level. Print files can only be sent to Focus by SD card, and only with the name "print.txt". This is far from elegant, but using the SD card was the simplest way of making this printer work.

With Beta 0.02 some of the most troublesome problems have already been fixed, but minor bugs and glitches still remain. The firmware will be constantly updated when I encounter solvable problems, but a new, more stable version still needs to be written.

When Focus is powered, a opening screen appears. Press any key to continue. There are 8 buttons that control the printer. Up (^), Down (v), Left (<), Right (>), Enter (o), Menu1, menu2 and menu3. Back light is automatically turned on when you press any button. It automatically turns off when no button is pressed for several seconds.

Menu 1
Menu 1 is used for direct movement and control of the printer. It is split into three parts: Gantry control, Piston control and Laser control. Each of these menus can toggled by repeatedly pressing the Menu1 button.

Gantry control gives control over the X and Y axes. There are three modes that are controlled using the Enter (o) button. It toggles from Off, to Slow, to Fast and returns to Off again.
  • While in off mode, the stepper motor drivers for the gantry are not powered and you can move the gantry by hand.
  • While in Slow mode, the stepper motor drivers for the gantry are powered. By pressing directional buttons you can move the gantry in the X and Y direction at a speed of 500mm/min.
  • While in Fast mode, the stepper motor drivers for the gantry are powered. By pressing the directional buttons you can move the gantry in the X and Y direction at a speed of 2000mm/min.
Piston control lets you adjust the piston height. By pressing the directional buttons you can make the pistons move. You only have to press the buttons briefly, the piston motors will continue running until you press the enter button. You can switch menus while the pistons are running, but this is not advised. Before changing direction of the piston motors, you need stop the piston motors by pressing Enter.

Laser control is used to manually power the laser (if you use one). The laser is turned on by pressing Up and Down at the same time. This action powers the T0 Mosfet that normally powers the hotend heater.

There is also a bit of remnant control left in the laser control menu to make a roller move. On my old electronics was a motor driver that could power a roller motor. I replaced the roller with a depositer and never removed the code.

Menu 2
Menu 2 is used to control automatic movements. It is used to home the printer, deposit a new layer (0.2mm) and move to predefined positions. All functions start working AFTER the printer has been homed. You can toggle between preset positions with the Enter button.

The first Menu 2 Menu contains: 'Home', 'New L'(ayer) and 'To 0'.
  • Home homes the X and Y axes. A conformation menu asks you if you are sure. Then press Left (Yes) to confirm and the printer will start homing. You can interrupt the homing by pressing the Down button. (Note, If Focus is homed and menu asks to confirm, by pressing no, the printer will deposit a new layer. This is scheduled to be fixed)
  • New L will deposit a new 200 micron layer. It is a non interruptible sequence so be sure before you press this button.
  • To 0 moves the carriage to the theoretical center of the buildbox. With this you can confirm if the center is where it should be.
The second Menu 2 Menu contains: 'TL' (Top Left), 'BL' (Bottom Left), 'TR' (Top Right) and 'BR' (bottom Right). All functions will move the printer to the four edges of the buildbox. This is a great way of confirming if your printer has been properly set.

Menu 3
menu 3 is used to start a print. When the SD card is inserted, you can start a print by first pressing the Up and Down button at the same time, then press the Left and Right button to confirm or the Enter button to go back to Menu 3. Once the print has started (after the homing), you can interrupt the print by pressing Down, Right and Enter at the same time.

Step 8: The Problems With Beta 0.02

This step is mostly information. It is needed to understand some of the problems, but is not needed for building focus. If you want, you can just skip over this part, no hard feelings.

I was going to add this information to the Uploading the firmware step. When you start scrolling down, you will see why it has it's own step.

Firmware was built by myself and has a lot of bugs and small problems. I am going to fix this but I will need time for that.

Why it is so buggy
The firmware is scratch built. When I started, RAMPS didn't have the functions I needed, so I built my own electronics (as seen in the pictures). If I would have know that I would end up using Ramps, I would have converted a piece of firmware, but everything seems a lot clearer in retrospect. With my limited programming skill and limited time, I ended up with firmware that has still got some bugs in it. Some of these bugs are just theoretical, while others are real problems that I don't know the exact source of.

I am planning on spending a long weekend to fix some of these problems some time, but since I can print, there is no real incentive for me to fix it anytime soon. Also, I will just fix something that will never be as good as it should be. Someone really good at programming could do more in weeks than I could in months. Anyone up to the task?

Axes and endstops are hard to invert
My firmware was written step by step to make it function. I have sometimes used the simple way to invert axes that were moving in the wrong direction. This has resulted in there being no simple way of inverting axes. The simples thing is to manually invert axes by flipping wires. No fixes planned here for some time, sorry.

Step movement
The way I know it, most firmware uses pwm timers that are finely adjusted to make the right speed. Not Focus. Focus uses the micros() timer to determine when it is time to take a new step. I didn't have time to teach myself how to set these timers, so I took a shortcut and made movements using the micros() timer and set targets. This system functions perfectly, but there are some problems.

71 minute glitch
After 71 minutes the micros() timer resets itself to zero. If this happens when Focus is printing, minor loss of steps might occur. I have never printed for that long so I have never experienced this first hand. It is however an option and it needs to be fixed on the long run.

Buffer being overtaken
To keep a steady print, The beta uses a buffer with a size of 10 steps that runs in circles (filling from one to ten, the going to one again). When the buffer is not full, the firmware reads one character of Gcode after each step and when there is time left until another step. When a full line has been read, the buffer will be refreshed with a new coordinate. This process has already been improved with the update to 0.02, but in theory, at high speeds with tiny steps, it is still possible for the buffer to deplete and repeat.

No acceleration
The firmware uses on acceleration. It just goes to full speed directly. I have tried to make it so that it does accelerate, it failed, dramatically, then I gave up and made it so that it doesn't use it. The printer moves slow enough that it isn't really a problem and it needs to accelerate very quickly to give a smooth print anyway.

Unreliable print end
When the printer is done with the Gcode on the SD card, it should stop printing. It does not always do this. There are basically four things that can happen. it can either:
  • Stop printing after the SD card was empty but the buffer was not, skipping the between one and five last lines;
  • Jam on the end, keeping the laser burning while not moving and not responding to any input;
  • Both of the above;
  • Stop printing as it is supposed and go the the end of print menu;

Only print.txt
The firmware only looks for "print.txt" on the SD card. I myself found no simple way to read all possible files from the SD card in a away I could use. Also I could not find a way to read Gcode, I only found a way to read .txt. Since Gcode is only a glorified text file, I decided it would be easiest to just run Gcode from a text file. This will not be fixed since I do not have the skills to make this the way it should be.

Step 9: Final Adjustments

By fine tuning you adjust the set distances and speeds to match your own printers' specs. This is an important step that cannot be rushed. Without fine tuning, the printer will not print in the right scale and will most likely jam while depositing the first layer.

Add pistons
Now that the motors have power, you can insert the pistons. They should have enough clearance to move freely, but not so much that powder can leak at the gap. When you are sure the piston fits, you can connect the piston wires to the RAMPS and activate the motors so that they move down. If you did well the pistons should move down straight and smooth. If not, sand the edges of the pistons some more or adjust the wallguides.

Tweaking firmware values
For all following tweaks, you need to open the Beta 0.02 sketch and go to the 'movement' tab. At the top you will find all adjustable values relevant to the movement.

steps per mm for all axes
First you need to calculate the amount of steps per millimeter. For the Gantry, this can be approximated with this calculator. Fill in the amount of steps per mm at 'XY_steps_per_mm'.

The threaded rod is trickier. You have to find the pitch of the thread you are using. In case of M4 this is 0,7mm. With 16x microstepping and 200 steps per rotation, you get (200x16)/0.7 = 4571 steps per mm. If you use something different, recalculate and fill in at 'Z_steps_per_mm'.

Buildbox size
The firmware needs to know what the size of your buildbox is. Measure the size of the buildbox in mm and adjust the values of 'X_printbed_size_mm' and 'Y_printbed_size_mm'.

Set center
To set the center, you need to adjust the offset values 'X_endstop_offset_mm' and 'Y_endstop_offset_mm'. This is the distance between the homing position and the center position. The center does not have to be exactly in the middle, but the more accurate, the better.

Set hookup distance
To deposit a new layer, the carriage needs to grab on to the depositer. This value is fine tuned by trial and error, seeing how much it is off and adjusting it to compensate. The only value that is adjustable is the X distance, with 'X_hookup_offset_mm'. This is the distance between the center and the hookup. The other value is not adjustable because the hookup should be in the center.

The hook should be mounted in such a way that when the depositer is depositing, The carriage is only grabbing the stationary hook. After the depositer reaches the end, it will go sideways a bit and also grab the moving hook that lifts the depositer. Adjust these distances until it deposits and lifts the way it should.

Step 10: Selective Laser Sintering/ Melting

SLS/SLM uses high powered lasers that can do huge amounts of damage in no time at all. I am in no way responsible for any harm or damage done to you or your surroundings. While working with lasers, laser safety glasses need to be worn at all time. You have a brain, use it.

Seriously, The kind of lasers used for melting or sintering powders are extremely high powered and mostly invisible. If you do not know what you are doing, I would please like you to do something other than SLS/SLM. If you are not scared by lasers, you should not be using them. (I know I am)

What is SLS/SLM
SLS/SLM uses a high powered laser to locally sinter or melt the powder. Each successive layer is fused to the layer below. SLS is used a lot with Nylon, where it produces strong and flexible parts. Higher end machines are capable of sintering steel or even titanium. Sintering usually uses a heated buildbox to lessen shrinkage and an inert environment to stop the powder form burning (which most powder, even metals, do).

Laser mount
To attach the laser, you can either print a mount, or build something yourself. I have not included any parts for mounting a laser because I don't know what kind of mount you will use. I have made my mounts out of aluminum profile and tie rips.

Laser driver
I have included the laser driver I am using. This laser driver uses 2 LM317's to regulate the voltage and the current. There might be better ways to build a laser driver, but this way works, is cheap and fully adjustable (both voltage and amps). This double LM317 laser driver has a 12V input and is capable of supplying 1,5A at 2V (completely regulated) for long periods of time. The voltage drop is 10V, so if you need more than 2V, you will need a higher supply voltage. For this laser driver you will need:
  • 2x LM317;
  • 2x 0.39Ω resistor 3W;
  • 1x 220Ω resistor;
  • 1x 50Ω 3W+ potmeter;
  • 1x 5kΩ potmeter;
  • 1x 1N4007 diode;
  • 1x 100nf capacitor;
  • 1x 47µF electrolytic capacitor;
  • 1x 10µF electrolytic capacitor;
  • 1x PCB terminal block double;
  • 1x Header male 3 pins;
  • 1x Header female 3 pins;
  • 2xTO220 heat sink;
  • 1x 60mm fan;
  • Either the pcb or a 60x60mm experimental circuit board.
  • (Optionally an ammeter to measure the load)
I have also added the files to make your own pcb. I have not yet tried this circuit myself, so I'm not entirely sure if it works, but it should.

To use this circuit, first install a laser dummy load to the driver and use a voltage meter to adjust the voltage. By rotating the small potentiometer (R1) you can adjust the voltage to what you need. Next install an ammeter between the laser and the driver and adjust the large potentiometer (R2) until you get to the required current. When you have an ammeter installed like me, the last step can be done while printing with a laser.

laser possibilities
There are several possibilities when it comes to lasers. I will offer no links to anyplace that sells lasers and any laser you buy and use is at your own risk. Some of the option are:
  • 808nm Diode: These lasers are cheap and powerful. The strongest ones I could find are 1,5W, but even stronger ones are available.
  • 950nm Fiber: These lasers are harder to come by, use, and more expensive, but very powerful (they can even be coupled). 9W is not rare for these lasers.
  • 10600nm CO2: Expensive, hard to use and crazy powerful and fully absorbed. they usually start at 20W and are very dangerous. They can print material in any color or transparency, but are less efficient.
  • Other diodes are usable too, but anything other than (near)infrared is extremely hard to come by and very expensive in the powers needed for SLS/SLM.
- - -Important- - -
Whenever you buy a laser, be sure to buy a pair of laser safety goggles matched for the bought laser's wavelength. Laser are extremely dangerous at these powers and it takes only milliseconds to do damage that will last a lifetime.

Materials you can print
White powders don't absorb enough light of a 808nm or 950nm laser so something needs to be added to absorb the heat. Carbon powder is a great absorber of heat and it is very cheap. I added a <1% carbon impurity it the material which was enough to print. CO2 lasers don't have this problem and can print in white and even clear materials without need for impurities.

Be aware that materials in powder form behave differently than solid versions of the material. For instance, most metals burn when in powder form. To print these, you will need to provide an inert environment to print in, otherwise the material can catch fire.

Roughly speaking, if it melts, you can print it. To print great however you need to sinter, since this has less shrink. Sintering occurs at temperatures just below the melting point and fuses the walls of granules together. Materials I have considered or used:
  • Nylon. Nylon is used by a lot of the industry because it produces strong parts relatively cheap and fast. It needs to be sintered for the best results, for which you will need a N2 (pure nitrogen)  environment. All I have done so far to nylon is melt it. I do not know if carbon works negatively on sintering yet. melting Nylon does get the job done, but has HUGE amounts of shrink.
  • candelillawax. The idea for this came from this guy. He managed to build a working candelilla wax printer in a timetable that would make an average person cry. I have tried but not yet managed to replicate his results.
  • Brass/bronze. Should work, bronze is sintered for bearings. I do not know anything about this but I am going to do experiments.
  • Titanium. Used in expensive metal printing machines. Titanium needs an inert environment because it burns.

Step 11: 3DP Injet Printing

What is 3DP Inkjet printing
3DP inkjet uses a liquid binder to locally bind powder. 3DP printing produces parts with a higher surface quality than SLS but needs steps after printing to make the part strong. Zcorp uses 3DP printing to print full colored models in gypsum.

3DP inkjet printing has not been done a lot yet by hobbyists (like all powder printing applications). The only group I know that has published their results openly is pwdr. I haven't had any time myself yet to
make anything, so I'm going to give some options an links to people that have had success this either inkjet printing in general or real inkjet 3D printing.

There are roughly two ways to get a inkjet nozzle. Buy one or make one.

Bought inkjet nozzle
HP has C6602 cartridges that are mighty easy to hack. They have 12 nozzles and there even are complete arduino shields to use these cartridges. You can manually trigger each nozzle by giving it a (very) short pulse of 18,5V. This will trigger a heater that expels a minute drop of ink.

DIY inkjet nozzle
The other option is to build a piezo inkjet nozzle yourself. It might seem a bit harder than just buying one and it does have some drawbacks, but there are some good reasons to make one yourself. Several people have already managed to build one:
johnrpm, martino and Adrianbowyer.

Bought cartridges are mostly bubblejets. They heat some of the ink to expel the rest of the ink. While this works for ink, not all substances can be printed using this method. A homebuilt inkjet nozzle is a piezo inkjet. This uses a piezo element to mechanically pump the liquid and expel it from a nozzle.

My own attempts at building a piezo inkjet have failed so far. I can make the piezo move, but I haven't gotten time to make a nozzle small enough to not leak when the printer is not printing. I am going to make it work though cause that would make Focus a lot safer to use and make it more versatile.

Materials you can print
There is a endless amount of materials you can print using inkjet. Some of the most used are:
  • Zcorp gypsum. This is gypsum with PVA and sulfate salts. It is bound with a mix of water, glycerol and some other chemicals. Datasheets for these materials have to specify whats in it. You can buy this stuff, or try making it yourself.
  • Ceramics + binder. This has already been done and someone has been nice enough to post recipes here.
  • Sugar. This stuff is supposed to be hell to print, but it leaves edible products. Binding it with water alone will cause sugar to melt. I am going to look into this.

Step 12: How to Use It

Printing with Focus is sadly not easy. I managed to get it working, but you will need to follow specific steps. Below I have all the rules and steps needed to make Focus print.

To print from Gcode, you first will need to create the Gcode. This Gcode needs to conform to a few rules.
  • The 0 of the buildbox is in the center, keep this in mind when slicing.
  • Try to have as little comment lines as possible. Comments should be ignored, but they will take up processing time.
  • Have as little clear lines as possible in the Gcode. The firmware should ignore it, but no promises.
  • Prevent small lines. Anything shorter than 0.1mm will deplete the buffer in no time. Above 0.2mm should be ok at lower (<10mm/s) speeds;
  • Gcode needs to be in millimeters.
  • The Z-axis should only move up, not down. The firmware deposits a new layer when the Z goes up, but does nothing when Z goes down. leaving downward Z movements in the firmware might result in unexpected results.
  • Z-movements should not be too big, at most a few millimeters. Focus just does. If the Z axis moves up by centimeters, Focus will just deposit an new layer of several centimeter, probably ruining the print.
  • If you don't want to start the print with depositing a new layer, let the Gcode start at Z0.00. If it starts at Z0.15, Focus will deposit a 0,15mm layer before starting to print.
  • Make sure that there are no speeds above 1800mm/min (30mm/s). Focus will approach limits at those speeds and the safeties are not reliable yet. (speeds are capped at 1800mm/s in the firmware, but no guarantees);
  • Focus might skip 1 to 10 lines at the end of the print. End of print very buggy and sometimes Focus will stop printing before the buffer is empty, skipping all lines left in the buffer. If you need all of your Gcode, add at least 10 G1 + movement commands at the end of your code.
  • Gcode time estimates are way off. After each layer, Focus will have to deposit a new layer. Focus will not win any competitions in speed, current layer record is 35 seconds, but I am working on improving that time.
  • (Sometimes Focus does not notice that the print file is done, not enabling you to go back to the main menu)
Sending the Gcode
If your Gcode conforms to these rules, it is time to move on the the next step. Sending a printable Gcode to the printer. For this you will need to add the right type of file to the Sd card. There are two ways of doing this.

Method 1:
  1. Open your Gcode in notepad or some other program in which you can copy your Gcode.
  2. Select all the lines you want to print.
  3. Put a SD card in your computer and open the SD card folder.
  4. Create a txt file called "print.txt" in the top folder of the SD card and open it.
  5. Paste the lines copied from your Gcode to the txt file. Try not to leave any blank lines.
  6. Safe "print.txt".
  7. Insert the SD card into the printer and start printing

Method 2:
  1. Put a SD card in your computer and open the SD card folder.
  2. Copy the Gcode you want to print to the top folder of your SD card.
  3. Rename the Gcode on the SD card you want to print to "print.txt". Be sure to change the extension as well as the name. Gcode is nothing more than glorified txt file anyway.
  4. Insert the SD card into the printer and start printing
preparing the printer
With the Gcode ready, you will need to fill the feed hopper and deposit the first layer.
  1. Manually lower the feed piston to a level where you can fill it with all the material you want to use.
  2. Fill the feed hopper to the level you require. Smooth out the material in the feed hopper.
  3. Raise the Build piston to the starting level.
  4. raise the feed piston.
  5. Use the depositer to deposit a smooth layer in the build hopper.
  6. Repeat 4 and 5 until the build hopper holds a smooth layer.
  7. For safety, let the printer deposit a layer automatically by manually selecting New Layer from menu 2.
Because it needs to be somewhere, Focus depositing a new layer:

Now you are ready to start the Gcode file and start printing. The printer should take over from here. To manually stop the print, press down, enter and right at the same time or press the Ramps' reset button. There is currently no way of pausing the print.

Step 13: Final Thoughts

In the first place, Focus was built to answer a question that I asked 10 months ago, how hard is it to build an SLS printer. 10 months later I can give everyone the answer:

very, Very, VERY HARD.

Luckily my goals reach further than only answering seemingly simple questions. I designed Focus around standard open source parts and electronics, so it would be easy to build. I kept other printing techniques in mind and I kept most of the parts modular, so adjustments can be made easily.

I think I have made an open source powder printing platform that should be very capable of helping everyone that wants to start experimenting with powder printing. Focus is still far from complete and a lot of work still needs to be done before Focus is easy to work with for everyone. However Focus is at a stage that people can start contributing to it, I am sharing all of my work so people can get a better start at powder printing.

Anyone that wants to improve on the design, go ahead. As long as you also credit to the source, you are free to use all the parts, plans and schematics and improve on them.

Step 14: Using Focus As a Laser Engraver

When you have all the hardware available (and the Instructable is entered in a laser cutter contest) it is hard not to laser engrave things. When Focus is configured for SLS, all the parts are there to laser engrave. There is:
  • A powerful laser (quite important for laser engraving);
  • A gantry to move the laser;
  • A movable Z-axis.
The top two parts are necessary, but the movable Z is also extremely handy. Without it, you need to manually focus every new part you want to engrave by tweaking the laser. The movable pistons make it easier to focus quickly and more accurate.

In the video below Focus, laser cutting black paper with two 1,5W 808nm lasers.


Step 15: Links to Everything

I have included several links throughout the instructable. These links are to additional information or certain groups or people that have had results in relevant technologies. Below I have compiled list of ever link in this instructable.

My pages:

Other 3D printers, toolheads, parts and materials

Information on sintering

Candelilla wax printer

Arduino inkjet

DIY piezo inkjet heads

Printing in ceramics

pwdr 3DP inkjet printer

Reprap and RAMPS parts

Steps per mm calculator



    • Epilog Challenge 9

      Epilog Challenge 9
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Pro Tips Challenge

      Pro Tips Challenge

    We have a be nice policy.
    Please be positive and constructive.




    Amazing effort !!

    Here's a link to my home made SLS 3D Printer

    Hello i have questions

    1.with wire laser have + Positive(RED) & - Negative(Black) input connect to pin Heatbed on ramps board ?

    2.i can switch from pin heatbed to use pin Extruder Nozzle Heat ?
    (can tell me about edit line firmware ?)

    have driver laser board ? on ramps board if change input to new connect
    with Solid state relay DC/AC for control external Laser ? (such High
    Voltage Laser 220v)

    4.i can use new BIG LCD smart,SD card & keyboard all in 1 ?

    5.can tell me where edit line in firmware all (feature maybe import code to new version board RAMPS i see new RAMPS v1.5)

    Thanks you very much.


    1: This really depends on your laser. If it takes 12V, then yes, but that is only if it has an integrated driver rated for 12V. Normally laser diodes operate at a different voltage. I made my own laser drivers

    2: Focus firmware is something I wrote a very long time ago, and since then Plan B was made. I really don't know that much about the Focus firmware any more. I guess in the main firmware tab, there is a section where all pins are declared.

    3: Again, depends on your hardware.

    4: Not without a massive firmware overhaul.

    5: ?

    sorry i'm not good english

    1.The pin heatbed it fast sensitive laser on/off working with stepper motor XY in g-code ?

    2.possible use pin stepper motor extruder filament or E0 (4 Wire) convert to 2 (Wire) for laser head ?
    please see image

    Thank you dragonator for answers


    You and your project are both awesome :).
    Dear @electrcBlue
    Printing with steel (any kind of..) is way way way expensive and it's not Eco.
    Felamint is better choice :)

    Can you print and sell me the plastic parts ( not yet but sone ) ????/ how much will thay be? ????

    Sadly, if this was capable of printing in steel, I would not have to work a single day anymore by now, so no.

    ok well i`m going to work on that ( ill ceap you informed ) / what software did you use?