Fab@Home:Using Model 1

From Fab @ Home

Jump to: navigation, search


Video Guides

Fab@Home Quick Start User Guide

Step 1: Make Connection

1.1 Simply plug the USB cable from an available USB port on your PC to the USB connector on the LPC-H2148 microcontroller board on the back of your Model 1.

1.2 You should see 3 LED's light up on the LPC-H2148 board:

  • the red LED indicates that the board has power from the USB port
  • the yellow LED indicates that the USB bus is connected
  • the flashing green LED indicates the status of the firmware running on the microcontroller via the pattern of flashing; 1 second on, 1 second off indicates healthy status

Step 2: Install Drivers

2.1 If this is the first time you have connected your PC to the Fab@Home, you will need to install the drivers.

Step 3: Run Application

3.1 Start the Fab@Home application by double clicking the Fab@Home.exe icon in the application folder you downloaded.

3.2 If this is the first time you have run the Fab@Home application, you may see an "Unidentified Publisher Warning"

3.3 If this is the first time you have run the application, or you have changed your printer definition file, you will need to load a printer configuration file, using the "Printer->Load Configuration..." menu item.

3.4 You should see a graphical display which resembles your Fab@Home Model 1.

Step 4: Initialize Hardware

4.1 Select the "Printer->Initialize Hardware" menu item to begin communicating with the Model 1

4.2 Verify communications by examining the Status display (accessed via CTRL+U, or "View->Show Printer Status"); if connected, "Elapsed Time (ms)" should be incrementing, and "COM Port Handle" should be a positive number.

4.3 If not communicating, see the Application Troubleshooting page.

4.4 The software has a rudimentary "Hardware Emulation" mode, which allows you preview the fabrication process without being connected to an actual Model 1. This mode is enabled by default, and must be disabled to build an actual object. Simply uncheck the "Printer->Emulate Hardware" menu item.

Step 5: Power On

5.1 Plug in the power cord of your Model 1 into any standard outlet. The power supply is international (50-60Hz, 100-240VAC), and should work in any country provided an appropriate power cord or plug adapter.

5.2 A red LED should light up on the Xylotex board to indicate that it is receiving power.

Step 6: Verify Motion

6.1 Bring up the Jog Tool (CTRL+T or "Tool->Jog Tool") and Jog Carriage (CTRL+J or "Printer->Jog Carriage") dialogs.

6.2 Using the up/down arrows at the right edges of the dialogs, test that all of the axes are moving. You should see both the graphical display in the application and the actual Model 1 axes moving in the same directions by the same amounts.

Step 7: Adjust Motor Current

7.1 If this is the first time you have run your Model 1, you will need to adjust the motor current to ensure that the motors do not overheat, but are getting enough current for good acceleration.

Step 8: Define Tool/Material

8.1 If you are using a material and/or syringe needle/tip combination that you have not used before, you will need to define a new .tool settings file and add the tool to the .printer printer configuration file.

The following info should get you started: When you are setting up your new materials, it’s good to start from a tool file for a material that is similar to the one you are working with. Save a copy with an appropriate descriptive name, then edit the file: Change the comment at the top Change the name and description fields to match your material and syringe tip You should then tune certain parameters so that you get desirable results when building some small test part (e.g. a small thin rectangle).

The main parameters to tune are:


DESCRIPTION is for you to keep a brief note of distinctive features of the tool and material.

TIPDIAM is the internal diameter in mm of the actual syringe needle or tip you have selected to use, and is used by the software in estimating the volume of material required to build a path, layer, or complete object.

The PATHWIDTH and PATHHEIGHT (both in mm) tell the path planning algorithms the distance between the horizontal slices/layers of your model (PATHHEIGHT) and the separation between the paths within a layer (PATHWIDTH). Start out by making these both roughly the internal diameter of your needle/tip. For runny materials, the PATHHEIGHT should be made smaller and the PATHWIDTH larger based on your intuition.

PUSHOUT and SUCKBACK are both delays for the starting and stopping of the syringe motor relative to the motion along a path. They are defined in seconds. When both values are positive, the syringe motor will start driving the syringe plunger to extrude material PUSHOUT seconds before the XY motors begin to traverse the current path, and the syringe motor will transition to full reverse SUCKBACK seconds before the XY motors reach the end of their current path to stop the flow of material from the syringe. The goal is to adjust both of these parameters so that your material deposition starts and stops precisely at the beginning and end of the desired path without pooling, dripping or stopping too soon.

DEPOSITIONRATE (a dimensionless ratio) determines the linear distance moved by the syringe tool plunger per linear distance (along a deposition path) moved by the X and Y axes – basically how much material to deposit per unit length of a tool path. A high DEPOSITIONRATE will try to push a large amount of material out along the path, tending to make the deposited strand of material wider, taller, and typically messier. A small DEPOSITIONRATE will tend to push insufficient material from the syringe, and the strand of material will typically be broken, tend to adhere to the syringe tip rather than the part or build surface. Try to adjust the DEPOSITIONRATE until the flow of material leaves the tip of the syringe at the same rate that the XY motors traverse along the path. Ideally, DEPOSITIONRATE should simply be (Cross-section area of Syringe Needle)/(Cross-section area of Syringe Piston) = ((Needle ID)/(Piston OD))^2. It is recommended that you start by calculating this value, then adjust it slightly as necessary.

CLEARANCE is how far the table will move down when the XY-carriage is moving from the end of the current path to the start of the next one. Small clearance values will result in faster build times, but may increase the chances of material dripping onto undesirable locations of the object being built. We recommend 2mm for the clearance.

PATHSPEED is the speed of motion along deposition paths. Large path speed will result in faster build times, but increased chance of position errors, end hence lower quality parts. Speeds below 12mm/s are generally ok, but on more complicated parts with fine details, speeds of 5-8mm/s may be necessary to achieve good results.

PAUSEPATHS is the number of deposition paths the machine will complete before automatically moving to the safe position to calibrate (check for position errors). Using a lower value of pausepaths will improve build quality, especially for tall objects, and can somewhat offset the negative consequences of using higher path speeds. We have found PAUSEPATHS between 10 and 60 to reasonable.

Starting with version 17a of the Fab@Home application, you can update several of the tool parameters “online” - meaning while a build is underway. This enables you to start building an object with your best guess for parameters, then tune some of them while the build is underway, so you can see the effect quickly. To change parameters online, simply edit the .tool file and save it, then in the Fab@Home Application, use “Tool”->”Refresh Parameters”. You should see a change on the very next path (after completion of the current path). The parameters that can be changed online in this fashion are PUSHOUT, SUCKBACK, DEPOSITIONRATE, CLEARANCE, PATHSPEED, and PAUSEPATHS. Changes to the PATHWIDTH and PATHHEIGHT parameters will not affect a build that is already underway – they only affect the processing (path planning) steps, prior to the commencement of fabrication.

Step 9:Load and Manipulate STL File(s)

9.1 Using the "Model->Import Geometry..." menu item, navigate to the .STL file(s) which describe(s) the geometry of the part you would like to build, and open the file(s). You can select up to 5 files to open simultaneously, which simplifies building objects composed of many parts.

9.2 The geometry should be displayed on the virtual build surface in the graphical display of the application.

9.3 The geometry can be translated, rotated, and resized as desired using the "Model->Translate", "Model->Rotate", and "Model->Scale" menu items, respectively. It is generally recommended that you always select all (CTRL-A, or "Edit->Select All") of the geometry (all parts) before manipulating them with these tools in order to ensure that relationships between multiple parts are preserved.

Step 10: Assign Properties to Part Geometry

10.1 Bring up the Chunk Properties dialog box by double clicking on the part geometry, or by using the "Model->Properties..." menu item.

10.2 This dialog allows you to tell the Fab@Home system what material and tool settings you would like to use to build each of the parts you have imported, what priority you would like to use to build each part, and also to modify the color and transparency of each part in the graphical display. Use the "Part Name" dropdown list to select the part to be modified, then select a "Tool/Material" to build that part, and/or a color, and/or a transparency, and/or a "Priority" - then hit "Apply" or "OK" (use "Apply" if you will be making other changes to other parts).

An aside on "Priority": sometimes, in particular when building objects which will have multiple materials in them, it is desirable to build certain parts of the geometry to their full height before building other parts. Parts which have been assigned a higher priority will be built to their full height before parts of lower priority are even started - regardless of their relative positions in space! This can reduce the number of tool changes required to build a multi-material object enormously, and can also allow you to build a mold out of one material, then have the machine go back down into the mold and deposit other materials into it. Creatively splitting your object into multiple parts and giving them carefully selected priorities can greatly reduce build times and enable you to build much more complicated multi-material objects. It is strongly recommended that you test out the priority feature in emulation mode ("Printer->Emulate Hardware" checked) so that you can observe the effects before trying it on the physical hardware. One obvious limitation to the use of priorities is that objects must be supported while they are built, and the machine cannot reach underneath an object after it is built - for example, when building a stack of two identical blocks, assigning a higher priority to the top block will result in a failed build - the machine will attempt to deposit material in mid-air to build the top block (resulting in a pile of garbage on the table), then try to build the bottom block (adding to the garbage on the table).

Note that the "Part Name" dropdown list can be used to select a part for other manipulation (scale, translation, etc.) when that part is difficult to select via mouse clicking - just open the "Model->Properties...", select the "Part Name", and then hit "Cancel" and the named part should be selected.

Step 11: Inserting/Removing Syringes and Changing Materials

11.0 Prepare your syringe barrels, pistons, and tips 11.1 At this point, you should load a syringe barrel with the material you are going to use to build the particular part. See Material Handling Tips for some suggestions on how to do this.

11.2 Whether or not a syringe is currently in the tool, you need to retract the tool shaft to provide clearance to insert/remove a syringe. If a syringe is inserted, use the handle on top of the tool motor shaft to unthread the shaft from the syringe piston until it

11.3 Now either by manually turning the motor shaft, or by using the Printer->Jog Tool dialog box in the Fab@Home Application, retract the motor shaft until the lower shaft end is clear of the syringe barrel and near the bottom of the motor body.

11.4 To remove a syringe, slide it straight upward until the top of the syringe hits the underside of the plate on which the motor body is mounted. Tilt the tip of the syringe out toward you, and unsnap the syringe barrel from the upper restraint.

11.5 Insert the new syringe by snapping the upper part of the barrel into the upper restraint of the tool body, then sliding the syringe as high as possible, then tilt the tip away from you into the tool body, and slide the syringe downward until seated all of the way down into the tip restraint.

11.6 Insert the motor shaft by manually turning it or by using the Jog Tool dialog box until the lower tip of the shaft is in contact with the syringe piston.

11.7 Manually turn the motor shaft until the tip of the shaft threads into the nut inside of the syringe piston.

Step 12: Cover Build Surface

12.1 Many materials will adhere to the build surface, so it is recommended that you cover the build surface with a thin disposable or washable material, such as waxed paper, aluminum foil, plastic wrap, etc. We recommend Cut-Rite waxed paper, which can be clamped to the table using large "binder" type paper clips, or Glad Press-N-Seal plastic wrap, as it is slightly stretchy, but adheres to the Z-table, so that you can stretch all of the wrinkles out and secure it without using adhesive tape. Waxed paper makes removing your part from the table much easier, as most materials will not adhere to it, while some materials (epoxy and silicone) may be difficult to peel off of the plastic wrap.

Step 13: Set Positions

For safe operation, and to ensure that graphics and the physical system are coordinated, the system needs to have 3 positions set using the "Printer->Jog Carriage" dialog box - two of them are found automatically (Home and Safe) using the limit switches, and the third (Origin) must be set by you. Note that these steps must be performed, even if you are running in emulation mode ("Printer->Emulate Hardware" is checked).

13.1 The Home Position

  • The Home Position defines the orgin of the coordinate system used by the Fab@Home. When facing the front of the Model 1, the home position is with the build surface at its lowest point, against its bottom limit switch, and with the tool head at the left rearmost position, against the left and rear limit switches.

13.2 The Safe Position

  • The Safe Position provides a safe and convenient place for the carriage to move to when paused, e.g. to change material syringes, to wipe the syringe tip clean, and to prevent accidental dripping of material onto the part being built. The safe position is at the front, right, bottom limit switches, and is found automatically by the machine. The safe position is also visited automatically and periodically during a fabrication process to ensure that the machine has not lost track of its position - we call this "calibration". The frequency of calibration is based on the value of PAUSEPATHS in the toolfile for the currently mounted tool. PAUSEPATHS is the number of deposition paths after which the machine will automatically visit the safe position. During all tool changes for a 1-syringe tool system, the machine will wait indefinitely at the safe position for you to tell it to resume from an automatic calibration (by using "Fabrication->Resume Printing"). On a multitool system, you can prevent trips to the safe position during changes between simultaneously mounted tools by unchecking "Fabrication->Pause at Tool Change". You may want the machine to resume automatically when it visits the safe position for calibration - to do this, check "Fabrication->Auto-resume".

13.3 The Build Origin

  • The Build Origin defines the starting point for deposition of material - your part will be built starting at this location. The build origin is up to you, but it is recommended that you use the center of the build surface (roughly (x,y,z)=(100,100,117)), then carefully adjust the z-height until the syringe tip just touches the build surface. Using this location for the origin will cause parts to be built more or less where they are positioned on the virtual build surface in the software - you can translate your model on the virtual build surface by selecting your model (in general, use CTRL-A or "Edit->Select All") and then using "Model->Translate".

13.4 The standard Model 1 includes limit switches which allow it to automatically find the home and safe positions. If you not emulating the hardware ("Printer->Emulate Hardware" is unchecked), then make sure that nothing is blocking the motion of the XY-carriage or the Z-table. On the "Printer->Jog Carriage" dialog box, hit "Find Home", okay the dialog that pops up, and wait for the motion to stop and/or a confirmation "Hardware Successfully Homed" to pop up. Repeat this for "Find Safe". If this is the first time that you have set the origin since starting the software, then hitting "Goto Origin" will automatically move to "100,100,50", then prompt you to move the Z-carriage to set the proper Z-height. Don't forget to hit "Set Origin" when you have positioned the table just touching the syringe tip. If you have previously set the origin during this session with the software, the "Goto Origin" will move the machine to that origin. You can always set a new origin by manually jogging to that location, and hitting "Set Origin".

Step 14: Plan Process

14.1 Use the "Fabrication->Plan Process" menu item to generate toolpaths for the part you are building.

14.2 You can use the "View" menu to examine the paths without the shaded model rendering. Use the mouse wheel to zoom in and out - the zooming is roughly toward the position of the mouse cursor. Note that the mouse wheel will cause carriage jogging if the Jog Carriage dialog is the frontmost window! On a 3-button mouse/mouse with clickable mousewheel, clicking the middle button/mousewheel and dragging on the main view will rotate the view. Left clicking and dragging will pan the view. Whenever "View->Show Paths" is checked, you can use the "View->Show Layers" submenu or key shortcuts to view the paths that the machine will follow. The "Home" key shows the current layer being built; all layers can be seen via the "End" key, and "Page Up"/"Page Down" will move up or down through the layer stack.

Step 15: Verify Material Flow / Flush and Wipe the Nozzle

15.1 Bring up the Jog Carriage and Jog Tool dialog boxes. Using the Jog Carriage dialog, go to the safe position by hitting the "Go to Safe" button.

15.2 Once at the Safe position, use the Jog Tool dialog to feed some material out of the syringe by advancing the motor position VERY GRADUALLY, until you see a small amount of material emerge from the tip.

15.3 Using the Jog Tool dialog box, reverse the motor position slightly to stop the material flow.

15.4 Wipe the tip of the syringe clean.

Step 16: Execute Process

16.1 Use the "Fabrication->Start Printing" menu item to commence the fabrication process.

16.2 Follow any requests made by the software during the process, including changing materials.

16.3 If at any time you need to interrupt the process momentarily, e.g. to replace a nearly empty syringe, or to wipe the tip, use the "Fabrication->Pause Printing" menu item. Pausing will cause the Model 1 to move to the Safe Position.

16.4 To resume after a pause, use the "Fabrication->Resume Printing" menu item, and the system should resume building where it left off prior to the pause.

Step 17: Power Off

17.1 Once the part is completed, be sure to send the Model 1 back to the Home Position using the Jog Carriage dialog, and unplug the power supply.


  • Application runs, but hardware is not responsive at all

Open the "View->Show Printer Status" dialog. If the "Firmware Elapsed Time (ms)" value is not changing, then the application is no longer communicating with the microcontroller. Use "Printer->Shutdown Hardware", then disconnect the USB cable from the Model 1, then reconnect, wait for 10 seconds (for the drivers to reload) and hit "Printer->Initialize Hardware" and check the "Show Status" dialog again. If the problem persists, disconnect the USB cable, and reboot your PC, then reconnect and restart the Fab@Home application

  • Application runs, hardware is initialized, but axes will not move

Power off your machine, and move the motors by hand so that none of the limit switches are being hit. Now power it back on. With your hardware initialized, open up the “View->Show Status” dialog. The LIMIT SWITCHES should all read ‘1’, indicating that they are not being hit. Try hitting each one and make sure it changes to a zero. If any of them are not switching on and off correctly, then you might have a wiring fault/short in the switches. If the microcontroller thinks a limit switch is being hit, it prevents the axes from moving.


  1. Buy tools required for assembly
  2. Choose your style options
  3. Buy the parts for the Model 1
  4. Build the cables and subassemblies
    1. Cables
    2. Machine Base
    3. XY-Carriage
    4. Z-Carriage
    5. 1-Syringe Tool
  5. Assemble the subassemblies into the complete Model 1 System
    1. Assembling the Chassis
    2. Mounting the 1-Syringe Tool
    3. Preparing and mounting electronics
  6. Program the LPC-H2148 with the Model 1 Firmware
  7. Install the Fab@Home Model 1 Application
  8. Commission the Model 1
  9. Use the Model 1
Personal tools