From RepRap
Revision as of 06:06, 23 September 2021 by Qrp-gaijin (talk | contribs)
Jump to: navigation, search
Crystal Clear action run.png

Release status: Working

Printrbot variant that could be packed in a laptop bag
Printrbot variations
CAD Models
External Link

The Portabee is a Printrbot / Wallace variant which was designed to be able to be packed into a laptop bag. It has a 3mm FR4 matte black heated longbed, and uses default gen6.d electronics which allows direct SD card printing, use of heated longbed as well as a channel for a micro fan. The build area is 120mm x 120mm x 120mm.


  • Printed Parts: ???
  • Non-Printed Parts: ???
  • Printing Size: 12cm x 12cm x 12cm (apprx. 4.75"x4.75"x4.75")
  • Material Costs: ???
  • Precision: ??? (position), ??? (printing)
  • Speed: Positioning speed: ??? . Printing speed: recommended 40 mm/s, but up to 450 mm/s has been tested.

Design trade-offs

Portability of the Portabee is accomplished by a detachable Y-axis assembly (bed + Y-axis carriage + Y-axis motor), held in place only by two quick-release locking clips. With the Y-axis assembly detached and laid flat, the remaining printer frame has a shallow depth and can also be laid flat. A swivel connector for the electronics board allows the board to be rotated into the interior of the printer frame, so that the board does not occupy extra space when the printer frame is laid flat. With all of the parts laid flat, the printer can then fit inside a large laptop bag for transport.

  • Because the Y-axis is easily detachable for portability, the Y-axis may suffer from unwanted movement over time.
    • It is a good idea to level the bed before each print, since removing a print from the bed may slightly shift the tilt of the Y-axis. It is also a good idea to adjust and confirm the physical position of the Z-axis limit switch after each print.
    • Over time, if the plastic clips become worn, the Y-axis attachment to the frame may become loose, which requires printing new clips.
    • If the horizontal threaded rods, upon which the Y-axis rests, become bent (due for instance to crashing the toolhead into the bed with a too-low Z value), then the Y-axis plastic mounting piece may no longer firmly rest on the supporting horizontal rods.
  • The extruder is a direct-drive extruder based on the Wade's geared extruder design, using 3D-printed plastic gears. The motor is mounted on the extruder block. The placement of the motor, and the overall geometry of the extruder block, allow a slim profile for the printer when it is laid flat for transport. A more modern extruder (made from machined metal parts) is probably smaller than the Portabee's default 3D-printed extruder.

Building Documentation

as looked up at RomScraj.com (if documentation links are outdated, look up again new links).

Where To Purchase

Where To Get Source Files

Updated information for 2021

This somewhat older printer unfortunately seems no longer to be available, making it hard to find relevant information. This section will summarise relevant information that is still available on the web as of 2021.

Latest corporate homepage from 2018


Official setup page


This page includes:

  • Assembly manual
  • First print using Pronterface and Cura software
  • STL files for printer parts
  • Upgrades for the printer such as:
    • Y-axis brace
    • Filament guide
    • Fan frame



slic3r settings

The following recommended settings are mostly from the file https://github.com/downloads/Lunavast/Portabee/config_300_portabee_2.ini, with some minor corrections (see below). Save this file and then import it into slic3r via File->Load Config.

Note (corrections): the original file had a mistaken "M1140 S0" command. This should be "M140 S0", to turn off the heated bed.

acceleration = 0
bed_size = 120,120
bed_temperature = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 40
brim_width = 0
complete_objects = 0
cooling = 0
disable_fan_first_layers = 1
duplicate = 1
duplicate_distance = 6
duplicate_grid = 1,1
end_gcode = M104 S0 ; turn off temperature\nM140 S0\nG28 X0  ; home X axis\nM84     ; disable motors
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extrusion_axis = E
extrusion_multiplier = 1
extrusion_width = 0
fan_always_on = 0
fan_below_layer_time = 60
filament_diameter = 3.0
fill_angle = 45
fill_density = 0.2
fill_pattern = rectilinear
first_layer_bed_temperature = 0
first_layer_extrusion_width = 0
first_layer_height = 100%
first_layer_speed = 36%
first_layer_temperature = 0
g0 = 0
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 50
infill_every_layers = 1
infill_extrusion_width = 0
infill_speed = 40
layer_gcode = 
layer_height = 0.36
max_fan_speed = 100
min_fan_speed = 35
min_print_speed = 10
notes = 
nozzle_diameter = 0.5
output_filename_format = [input_filename_base].gcode
perimeter_acceleration = 25
perimeter_speed = 36
perimeters = 2
perimeters_extrusion_width = 0
post_process = 
print_center = 60,60
randomize_start = 1
retract_before_travel = 2
retract_length = 1
retract_lift = 0
retract_restart_extra = 0
retract_speed = 10
rotate = 0
scale = 1
skirt_distance = 3
skirt_height = 1
skirts = 1
slowdown_below_layer_time = 15
small_perimeter_speed = 36
solid_fill_pattern = rectilinear
solid_infill_speed = 40
solid_layers = 3
start_gcode = G28 ; home all axes
support_material = 0
support_material_angle = 0
support_material_pattern = rectilinear
support_material_spacing = 2.5
support_material_threshold = 45
support_material_tool = 0
temperature = 0
threads = 2
top_solid_infill_speed = 38
travel_speed = 128
use_relative_e_distances = 0
z_offset = 0

Maximum print speed

The above settings file sets the maximum print speed to 40 mm/s. Maximum print speed may be around 450 mm/s. See https://reprap.org/wiki/Portabee#Speed_limitations.


The above settings file sets retraction distance to 1 mm, with retraction speed of 10 mm/s.

Retraction speed of 15 mm/s was also confirmed to work in practice.

However, retraction speed of 100 mm/s was too high, and caused the extruder motor to slip during retractions. Retractions, which ordinarily result in a large rotation (tens of degrees) of the large 53-tooth extruder gear, resulted in only a small rotation (a few degrees) of the gear, plus a loud whining sound from the extruder motor. The final result was extreme stringing on the print, because retraction was effectively not working. Probably, the Portabee extruder motor is not capable of providing the required high torque to retract the filament at 100 mm/s.

In the above test with failed high-speed 100 mm/s retraction, a modified extruder block was used that had a somewhat loose grip on the hobbed bolt (because the extruder block was printed with larger holes using slic3r's "xy size compensation" parameter set to -0.15 mm). It is possible that an extruder block with smaller, tighter holes, and a tighter grip on the hobbed bolt and hence a tighter grip on the filament, might be able to perform retractions at higher speed.

Detailed review and usage guide

Includes images of sample prints from the Portabee, troubleshooting guide, and tips about what to expect.


Alternate URL: https://forums.vrzone.com/chit-chatting/2904838-review-portabee-3d-printer-the-most-afforable-singapore.html

Portabee print troubleshooting guide


Basic configuration

Basic hardware configuration

Insert filament
  1. Fully loosen the 4 nuts on idler block until the nuts are at the end of their respective screws, but do not remove the nuts from the screws. This step is easier if you replace the original hex nuts (which must be adjusted with a tool) with finger-adjustable knurled nuts (https://en.wikipedia.org/wiki/Knurled_nut).
  2. Pull idler block away from the extruder so that there is a clear path from the filament feed hole at the top of the extruder, all the way down to the hot end. The path for the filament should not be obstructed by the extruder bearing (because the idler block has been pulled away from the extruder so as not to block the filament feed path).
  3. Heat the hot end to the desired extrusion temperature (180 degrees for PLA).
  4. Push the filament all the way through the extruder hole, all the way down until it reaches the end of the hot end. The filament should be unobstructed by the extruder's internal bearing. As you push down on the filament, it should melt and ooze out of the hot end.
  5. Tighten the 4 nuts on the idler block, so that the extruder's bearing now grips the filament (by pressing it against the extruder's internal toothed brass gear).
  6. Clean the tip of the hot end.
Remove filament
  • Fully loosen the 4 nuts on idler block until the nuts are at the end of their respective screws, but do not remove the nuts from the screws.
  • Pull idler block away from the extruder, so that the extruder no longer grips the filament.
  • Set the hot end to 90 degrees (for PLA) to soften, but not melt, the filament, and wait for the temperature to stabilize.
  • After the temperature stabilizes, pull the filament out vertically from the filament feed hole.

Basic firmware configuration

Temperature setting, PID tuning

If, after setting the desired temperature in Pronterface, the hot end or the heated bed cannot reach the desired temperature, then PID tuning is necessary. See https://reprap.org/wiki/PID_Tuning.

Calibrate E-steps
Updating the firmware
  • warning: multiple board variants

Basic software configuration

Speed limitations
  1. Limit speed to less than 40 mm/second, or else print quality may suffer.
    1. Reference 1: Initial slow speed for test prints is recommended as 30 mm/second. https://web.archive.org/web/20180919005414/http://portabee3dprinter.com/support/portabee-kit-docs/
    2. Reference 2: slic3r configuration file at https://github.com/downloads/Lunavast/Portabee/config_300_portabee_2.ini limits maximum print speed to 40 mm/second.
    3. Reference 3: Portabee review at https://reprap.org/wiki/Portabee#Detailed_review_and_usage_guide states that print quality suffers above 40 mm/second.

A Youtube video exists (https://www.youtube.com/watch?v=hRRoJJtF4qM) showing the Portabee printing at 450 mm/s. In practice, it was observed that high-speed printing seemed to lead to a complete loss of extrusion after a few minutes; the hobbed bolt was no longer able to grip the filament and drive it forward (for extrusion) and backward (for retraction) at the required high speeds; filament movement and extrusion then stopped. It is possible that tightening the idler block nuts for a very tight grip on the filament might allow high-speed filament motion and high-speed printing. This likely also requires that the holes in the extruder block itself should tightly fit the hobbed bolt and bearings; any looseness caused by oversized holes in the extruder block might reduce the ability of the extruder to drive the filament at high speed. It may be necessary to print a couple of replacement extruder blocks, with varying hole sizes, to find the smallest hole size that ensures the tightest fit.

Temperature configuration

It seems to work better if you manually heat the nozzle and confirm good filament flow, instead of allowing the slic3r-generated gcode to automatically heat the nozzle and wait for the nozzle to reach the appropriate temperature. (However, see later note below about untested "Method 2" for ensuring good filament flow before the print.) The reason is that the slic3r-generated gcode, which attempts to control the nozzle temperature, may wait unpredictably long before starting the print, and this unpredictable wait may lead to poor flow and insufficient extrusion at the beginning of the print.

  1. In slic3r, enable printing one skirt around the object.
  2. In slic3r, set temperature settings to zero, meaning the generated gcode will ignore the temperature.
    1. Warning: this means it will be possible to start the print from the generated gcode instantly, even if the nozzle is cold. This could damage the extruder gears. Always heat the nozzle to extrusion temperature before starting the print.
  3. In Pronterface, manually set the nozzle temperature to extrusion temperature, before the print.
  4. Manually extrude enough filament before the print to ensure it flows smoothly.
  5. As soon as smooth filament flow has been confirmed, immediately start the print (with the gcode file from step 1 that ignores temperature settings).
  6. The printer should immediately start printing and the first skirt should be drawn. The skirt should show perfectly smooth and continuous extrusion, leading to a clean and unbroken skirt line that adheres well to the print bed.
    1. Abort the print immediately if the skirt shows gaps or other signs of poor extrusion. Then, increase the Z height to about 4 cm, and again manually extrude a few cm of filament until the flow again becomes smooth. Also, check the bed level and home Z height to ensure good adhesion of the initial skirt and first layer.

Tips on using and printing with Portabee

Before moving the printer

  1. Confirm all screws and belts are tightened appropriately. Items prone to come loose due to vibration in normal use are:
    1. The set screw on the plastic drive gear on the extruder motor shaft
    2. The set screws on the Z leadscrews
    3. The screws holding the smooth Z rods in place
    4. The bolts securing the Y-axis support rods to the plastic base -- when leveling the bed, turning the nuts may instead turn the bolts themselves, which will loosen the bolts and loosen the plastic base's grip on the Y-axis rods.
    5. The screws holding the motors (X, Y, and Z) in place

When moving the printer

  1. Confirm all screws and belts are tight.
  2. Use two hands, one to grasp each z stepper motor. Be careful not to twist the assembly.
  3. Do not grasp the Z rods (either the Z leadscrews, or the smooth Z rods), because this may cause them to become loose and/or misaligned.

Before turning on the printer

  1. Confirm all screws and belts are tight.
  2. Prepare an emergency-stop switch to cut the power to the printer immediately (or be prepared to yank the power cord if needed).
  3. Confirm the end stop switches are physically mounted so that they will activate when the print head reaches the start of each axis. If the switches are wrongly mounted so they do not activate, then the motors may try to drive the print head past the physical dimensions, causing a crash into and physical damage of plastic parts securing the X, Y, and/or Z axes.
    1. The Z end stop switch is the most problematic and will require the most frequent adjustment. If incorrectly adjusted, the print head will crash into the bed before the Z switch triggers, causing possible breakage of plastic parts and/or deformation of the horizontal, 6-mm threaded rods supporting the print bed. Therefore, before turning on the printer, it is strongly recommended to adjust the Z end stop switch to a very high position, where it is sure to trigger before the print head can crash into the print bed. The end stop can then be physically moved downwards in small increments to adjust the exact Z-home position.
  4. Ensure all wires (especially long, thin wires such as those leading to the hot-end's thermistor) are neatly bundled together and have no possibility of getting caught on the spinning threaded Z rods. By bundling related wires together, a thick and neat wire bundle is formed, which is easier to route away from the spinning threaded Z rods. Also, a thick bundle of wires, even if it does brush accidentally against the spinning threaded Z rods, will not get caught on the rod due to the thickness of the bundle. On the other hand, isolated thin wires may catch on the spinning threaded Z rods, which can violently yank the wire as it is rapidly spun around and wrapped around the threaded Z rod. In particular, homing the Z axis is a dangerous operation, because it spins the threaded Z rods for several seconds. It is imperative that no loose wires can get caught on the spinning Z rods.

After turning on the printer

  1. Turn on the extruder barrel fan with M106. It should always be on.
  2. Ensure the Z end stop switch is at a very high position where the print head cannot crash into the print bed. You will adjust the exact position later.
  3. Using Pronterface software, move the print head to the home position on the X, Y, and Z axes. Be prepared to cut power instantly (via the emergency-stop power switch) if the print head crashes into the printer sides or the print bed.
    1. The Z axis home position, due to the excessively high position of the Z end stop switch, will be resting several mm or several cm above the print bed. Next, incrementally adjust the end switch to slightly lower positions, until the Z-home position brings the print head to the appropriate distance (about the thickness of one sheet of paper) above the print bed. Make these adjustments in very small increments to avoid overshooting and crashing the print head into the print bed.
  4. Calibrate the E-steps.
    1. Recommended starting value is 514 (reference: https://web.archive.org/web/20180919005414/http://portabee3dprinter.com/support/portabee-kit-docs/).
    2. Should be possible to set via M92 command (reference: https://marlinfw.org/docs/gcode/M092.html).
    3. Actual value of 1190 has been used in practice. This was confirmed by marking the filament in 1 cm increments, instructing the printer to extrude 5 cm of filament, and confirming that the exactly 5 cm of filament has been fed into the printer. An easy way to test this is to disconnect the hot end completely, so that the extruder is simply pushing the filament from the spool into empty air (instead of into the hot end).

Before starting the print

  1. Level the print bed. The Portabee's Y-axis is removable and hence may shift slightly when you use force to remove objects stuck to the print bed. Therefore, it is recommended to level the print bed before every print. Using stiff springs to support the print bed makes bed leveling much faster.
  2. Ensure there is about a 1 mm air gap between the base of the 9-tooth drive gear and the metal housing of the motor. The base of the 9-tooth drive gear should not be flush against the motor housing. This is also indicated in the Portabee assembly guide. If the necessary 1 mm air gap is not present, then the 9-tooth drive gear seems to form a very tight seal against the motor housing, which prevents air from escaping and may lead to motor overheating. After prolonged operation without the necessary 1 mm air gap, a buildup of black grease powder forms around the motor shaft and the base of the 9-tooth drive gear. This may be a sign of overheating, possibly caused by the air-tight gap when the 9-tooth drive gear is incorrectly positioned flush against the motor housing.
  3. Ensure the lock screw (grub screw), that holds the 9-tooth drive gear onto the extruder motor's shaft, is very tight (though over-tightening may break the 9-tooth plastic gear). This screw may gradually come loose during a print due to vibration. If the lock screw gradually loosens during a print, then gradually the motor will start to slip, and extrusion will suddenly stop in the middle of the print. Also see https://reprap.org/wiki/Portabee#Preventing_slip_of_the_extruder.27s_9-tooth_drive_gear
  4. Load your gcode file (created with your slicer software, such as slic3r) into Pronterface.
  5. Ensure the print dimensions do not exceed the print bed size (12cm x 12cm x 12cm), or else the motors may try to drive the print head past the physical dimensions, causing a crash into and physical damage the X, Y, and/or Z axes and/or the print bed.
  6. Ensure that filament flows freely.
    1. Method 1, manual adjustment (easy)
      1. Confirm the extruder barrel fan is always on; if not, turn it on with M106.
      2. Manually heat the hot end to desired temperature.
      3. Manually set Z to 4 cm above the print bed, and repeatedly extrude filament until it flows smoothly.
      4. After the filament flows smoothly, immediately (within a few seconds):
        1. Clean the excess filament from the print bed.
        2. Clean the nozzle of excess filament (e.g. wipe it quickly with a thick paper towel, taking care not to get burned by the hot end!).
        3. Start the print. If you wait too long (a minute or more) after the smooth filament flow begins, then the flow may again become poor, requiring re-extrusion to get the filament flowing freely again.
    2. Method 2, fully automated (advanced)
      1. Mount the print bed on springs as described later in this page.
      2. At the end of each print, use custom gcode to execute a large retraction (15 mm may be a good starting point). This should reduce, but cannot completely prevent, excess filament from oozing out of the nozzle at the end of a print. Example ending gcode:
        M104 S0 ; turn off extruder temperature
        M140 S0 ; turn off bed temperature
        G28 X0  ; home X axis
        M84  ; disable motors
        M106 ; keep barrel fan on
        G92 E0 ; reset extruder
        G1 E-15.0 F1200 ; retract 15mm
      3. At the end of each print, after the nozzle cools, remove any hardened excess filament that may have oozed out of the nozzle.
      4. At the beginning of each print, with the nozzle cold, ensure that no hardened filament is stuck to the outside of the nozzle. Remove any such filament from the outside of the nozzle.
      5. At the beginning of each print, level the bed and adjust the Z limit switch to its optimal position.
      6. At the beginning of each print, use the (default) gcode to home all axes, including the Z axis. This will place the clean and cold nozzle directly against the bed.
      7. At the beginning of a print, use the (default) gcode to heat the nozzle and wait until it reaches extrusion temperature. Thanks to the clean nozzle, practically no filament should ooze out of the nozzle, and the nozzle should remain clean. Furthermore, because the nozzle is pressed right up against (or almost against) the print bed, this will also minimize filament oozing. The result should be that the nozzle stays almost completely clean as it reaches extrusion temperature. Example starting gcode:
        M104 S175 ; set temperature
        m106 ;turn barrel fan on
        G28 ; home all axes
        M109 S175 ; wait for temperature to be reached
      8. Use (default) gcode to print several skirts around the object, before printing the object itself. Due to the end-of-print retraction, the first few skirts will suffer from under-extrusion. Therefore, it is important to print several skirts to ensure that enough filament is extruded to ensure a good flow, before the main object itself is printed. The slic3r software has an option to guarantee that the skirts extrude a certain user-specified length of filament. For an end-of-print retraction of 15 mm, a beginning-of-print skirt using 35 mm of filament might be good -- the 35 mm of filament extrusion should be enough to (a) compensate for the end-of-print retraction and (b) to start a consistent and smooth flow of molten filament before the print.

During the print

  1. Confirm the extruder barrel fan is always on.
    1. If the fan stops when the print starts:
      1. Abort the print -- in Pronterface, press "Pause", then "Reset printer".
      2. Turn on the fan with M106.
      3. In slic3r, check the option to turn the fan always on.
      4. Re-slice the 3D model, re-import into Pronterface, and try printing again. This time, the fan should be on.

After the print

  1. Confirm the extruder barrel fan is still on after the print, to prevent heat from creeping up the hot end and possibly clogging the hot end.
    1. If the fan stops when printing stops:
      1. Manually turn on the fan with M106.
      2. In slic3r, add custom gcode at the end of the print to turn the fan always on, with M106.

Printing replacement parts for the Portabee

The below notes apply to using PLA filament at 190 degrees.

  1. Printing the small 9-tooth gear (9-tooth-drive-gear.stl)
    1. This gear cannot be printed by itself. The small gear teeth layers print so quickly that they are still hot when the next layer is printed on top of them. This leads to overheating and deformation.
    2. Method 1: Print one copy of the gear with a very high (1000 layers) skirt placed at 3 cm distance from the object. While the large skirt is printing (for every layer), the printed gear teeth layer has time to cool. This seems to give the best quality. The printer does very few retractions, and the flow of filament is fairly constant, leading to a solid appearance of the gear teeth.
    3. Method 2: Print 2 or more copies of the gear, separated by some distance on the print bed. While the next gear's teeth are printing, the previous gear's teeth have time to cool. However, this method seems to give slightly lower quality (than the tall-skirt method above), with the gear teeth showing signs of underextrusion and weakness. The printer does many retractions when moving between the print areas for each copy of the gear, and after the retraction, the filament flow is probably insufficient when the printing starts again for the small gear teeth. This might be fixed with careful tuning of retraction parameters.
  1. Issues with too-small hole diameter
    1. For parts that must slide onto a motor shaft (like gears, or the Z-shaft couplings for the Z-axis threaded rods), or for parts that must accommodate bolts (idler block, extruder block, etc.), the default print settings will likely lead to holes that are too small to allow the motor shaft or bolt to pass through the hole.
    2. The slic3r setting for "xy size compensation" (Print Settings -> Advanced) can make holes bigger by moving all perimeters towards or away from the infill. Moving all perimeters towards the infill (with a negative value for xy size compensation) will make the hole bigger. A value of -0.15 mm could be a starting point.
    3. Do not use "xy size compensation" for gears. Although it conveniently makes the center hole of the gear larger, it also shrinks the outer gear teeth perimeters inwards, meaning the gear teeth are smaller. This could affect fit of gears. In this case, it is better not to use xy size compensation in slic3r, and instead to alter the original 3D model to make the center hole slightly larger (perhaps 0.4-0.6 mm larger in radius). This can be done on STL files, for example, by creating a cylinder object to represent the larger hole, and then "subtracting" the cylinder geometry from the original object with a Boolean modifier, thus creating a larger hole with the cylinder's diameter. Blender is one software that can do this.
    4. For small gears like the extruder's 9-tooth drive gear, enlarging the center hole may cause the slic3r software to eliminate the central supporting wall, which would cause the small gear teeth to become individual, disconnected teeth with no central support. This is because slic3r detects that the central supporting wall is thinner than can be created with a single string of filament, and therefore slic3r removes this thin central supporting wall. The solution is to disable "detect thin walls" in slic3r, which forces slic3r to print the thin structural wall, even though the printed wall width will be thicker than specified in the 3D data.

Maintenance, Repairs, and Improvements

Symptoms of trouble and their cause

  • Symptom: When leveling the bed, the nozzle is at the proper distance (approximately a sheet of paper's thickness) from the bed at X=0 and X=12 cm. However, after adjusting the Z-position upwards, then re-homing the Z position, one side of the bed (the X=0 side, or the X=12 cm side) is no longer the proper distance from the nozzle. Cause: the two Z-axis motors are not moving in sync, causing different Z-axis motion on each side of the bed. One or both of the Z-axis shaft couplers may be losing grip on the Z-axis motor shafts, thus failing to transmit the motor's motion onto the Z-axis threaded rod. The lock screw on the Z-axis shaft coupler may need to be tightened. However, eventually, repeated tightening of the lock screw will cause the Z-axis shaft coupler to break, so eventually the Z-axis shaft couplers must be replaced.
  • Symptom: Bed will not stay level. Cause: Broken Y-axis clips leading to insufficient ability to hold the Y-axis (and the bed) in its original plane, especially at the extremes of Y-axis motion.
  • Symptom: Bed will not stay level. Cause: the entire Y-axis assembly may be loose, due to the Y-end pieces losing grip on the steel rods of the Y-axis carriage. Confirm that the Y-end pieces are gripping the steel rods properly, tightening the screws as needed. However, repeated tightening will lead to breakage of the Y-end pieces, at which time they will need to be replaced.
  • Symptom: Bed will not stay level. Cause: bent horizontal support rods are preventing all four corners of the Y-axis base from resting on the support rods; the undesired curvature of the support rod only allows three, not four, corners of the Y-axis base to be supported, causing the bed to rock back and forth. Wrap some paper or tape around the appropriate section of the horizontal support rod, to allow supporting all four corners simultaneously of the Y-axis base.
  • Symptom: Sudden loss of extrusion. Cause: The 9-tooth drive gear has lost its grip on the extruder motor's shaft. Tighten the lock screw on the drive gear, and/or replace the 9-tooth drive gear.
  • Symptom: Sudden loss of extrusion. Cause: Filament slippage along the hobbed bolt. Tighten the idler block more firmly against the hobbed bolt.
  • Symptom: Clicking sound during extrusion. Cause: The 53-tooth driven gear may be cracked. Or, the support arm on the extruder block, that supports the extruder motor, may be cracked. Or, the extruder motor may be skipping steps, due to a filament jam.
  • Symptom: Z-axis limit switch will not stay in place. Cause: The plastic clip is broken and cannot hold the Z-axis limit switch rigidly in place. Or, the Z-axis smooth rod, on which the Z-axis limit switch is attached, may be loose and moving slightly due to insufficient grip by the plastic base that holds the smooth rod in place.
  • Symptom: Z-axis smooth rods are loose. Cause: The plastic base pieces may be broken where they grip the smooth Z-axis rod.
  • Symptom: Printed circular shapes appear distorted and non-circular. Cause: inaccurate motion of X-axis and/or Y-axis. For X-axis, confirm the belt is tight. For Y-axis, confirm the belt is tight, and also confirm that the Y-axis bearings are not slipping out of the Y-axis bearing holder. Because the Y-axis bearings are located beneath the bed, they are usually out of sight and difficult to observe. During Y-axis motion, it is possible that the bearings occasionally slip out of the bearing holder during certain Y-axis motion in one direction, and when the Y-axis moves back in the other direction, it can drag the bearing back into the cavity where it should normally be. Such unwanted slippage of the bearing in and out of its plastic holder can lead to erratic Y-axis motion. Wrapping the bearing in tape (to increase its diameter and hence its friction fit inside the plastic holder), and re-tightening the screws of the plastic part that holds the bearing, can prevent the bearing from slipping out of the plastic holder.

Plastic parts likely to break

  • Part: 53-tooth extruder gear. Reason for breakage: normal wear and tear, or exceptionally poor alignment with the driving 9-tooth gear. Poor alignment may be caused by heat deformation of the plastic mounting bracket for the motor on the extruder block. In case of poor alignment, the extruder gears can rapidly self-destruct, especially during quick extruder moves such as retraction.
  • Part: 9-tooth extruder gear. Reason for breakage: normal wear and tear, or repeated over-tightening of the lock screw, or exceptionally poor alignment with the driven 53-tooth gear. Poor alignment may be caused by heat deformation of the plastic mounting bracket on the extruder block. In case of poor alignment, the extruder gears can rapidly self-destruct, especially during quick extruder moves such as retraction.
  • Part: Extruder block. Reason for breakage: Heat deformation of the plastic mounting bracket for the motor on the extruder block, leading to extruder gear misalignment, which in turn exerts high stress on the relatively thin mounting bracket.
  • Part: Y-axis locking clips securing the Y-axis assembly to the printer's frame. Reason for breakage: Placing heavy objects (like your hand, or the extruder motor) on the print bed.
  • Part: Y-end pieces holding the Y-axis steel rods. Reason for breakage: Adjusting the bed leveling nuts may accidentally loosen or tighten the screws instead of the nuts. Adjusting the screws (instead of the nuts, as desired) will cause the Y-end pieces to lose grip on the Y-axis steel rods. Repeatedly loosening and tightening the Y-end pieces can lead to breakage.
  • Part: Y-end piece's small plastic tab to activate the Y-axis limit switch. Reason for breakage: A malfunctioning Y-axis limit switch can force the Y-axis motor to move past its limit and cause the plastic tab to shear off as it is violently rammed against and dragged across the limit switch and the horizontal rods on which the limit switch is mounted.
  • Part: Z-shaft coupling. Reason for breakage: Repeated over-tightening of the lock screw, or inherent structural weakness where the coupling grips the Z-axis hex nut. An alternative design attempts to fix the structural weakness by making the entire part geometry more smooth and unified to reduce the risk of breakage.
  • Part: Z-axis bearing holders. Reason for breakage: Crashing the extruder past the maximum or minimum X-axis positions into the Z-axis bearing holders, or repeatedly loosening and tightening of the plastic holder around the bearing.
  • Part: Plastic base, where it grips the smooth Z-axis rods. Reason for breakage: Normal wear and tear, or repeated undue stress on the top of the Z-axis smooth rods (such as bumping the top of the rod with your arm, which will place great stress on the plastic base that attempts to hold the bottom of the steel rod rigidly in place).
  • Part: Z-axis limit switch holder. Reason for breakage: Normal wear and tear due to repeated and required adjustment of the position of the Z-axis limit switch.

Gantry (X-Axis)-related maintenance

  • The gantry (X-axis assembly) can be removed by increasing the Z position until the nuts in the gantry reach the end of the Z-axis threaded rods and disengage from the rods, allowing removal of the gantry from the Z-axis rods.
  • Before removing the gantry (X-axis assembly), disconnect the wires going to the Y-axis limit switch and the Z-axis limit switch. Otherwise, the short length of these cables may prevent the Z-axis from rising to its full height (sufficient to disengage the gantry), or these short cables may be damaged as the rising gantry forcibly tries to pull these cables beyond their length, resulting in forcible disengagement of the connectors or other mechanical damage.
  • Proceed slowly, raising the Z-axis 1 cm at a time via the control software (e.g. Pronterface). Carefully observe the printer as the Z-axis rises and ensure no cables are being pulled beyond their lengths.
  • As the Z-axis bearings (one on each side of the gantry) are removed from the Z-axis smooth rods, small ball bearings may fall out of the Z-axis bearings due to low quality of the bearings. As more and more ball bearings fall out, it can be expected that the Z-axis motion of the gantry on the Z-axis smooth rods will become noisier and/or rougher due to increased friction. It is recommended to buy replacement Z-axis bearings.

Bed-related maintenance

  • Never place anything heavy on the print bed. In particular, during maintenance of the direct-drive extruder, it may be necessary to remove the extruder assembly by unscrewing it from its mounting bracket on the gantry. In this dismounted state, due to the short length of the connecting cables, it may be tempting to lay the extruder (with its heavy motor) on the print bed temporarily. Temporarily placing heavy objects like the extruder onto the print bed may break the y-axis locking clips. Because the Portabee print bed is easily removable, the rigidity and strength of the print bed's mounting assembly are not high. At the extreme ends of the y-axis motion, a heavy object on one extreme end of the print bed can exert high stress on the locking clip at the other end of the bed, due to leverage. In the particular case of extruder maintenance, it is recommended to remove the cable ties that wrap all of the extruder-related cables, so that all extruder-related cables are dangling freely. Then, disconnect all extruder cables from the controller board. Finally, remove the extruder, and while working on it, place it somewhere other than the print bed.
  • Confirm that all four corners of the y plate make contact with the threaded rods. If all four corners do not make contact, then the y plate is unstable and can rock back and forth from one corner to another. This in turn means that the entire bed is unstable. To fix this, wrap some paper or thin cardboard around the threaded rods at the contact points to prevent rocking of the y plate and the bed. Lack of contact at all four corners of the y plate indicates that the horizontal threaded rods (that support the y plate and the bed) are bent, possibly due to a head crash that applied excessive downward force on the bed, bending the threaded rods that support the y plate the the bed.
  • Confirm that the locking clips are not broken and firmly lock the bed against the supporting, horizontal threaded rods. Manually push the y axis (the bed) to both extremes of its possible motion, place slight pressure on the bed, and ensure the locking clip prevents rocking of the bed, especially at the extreme ends of the y-axis motion. It is possible for the locking clips to appear to be fine but actually to be be slightly broken, which results in slight rocking of the bed when the y-axis is moved to the extreme ends of its motion (due to the off-center weight of the displaced bed placing extra stress on the locking clip). It is best if the filament used to print the locking clip is not extremely brittle; a brittle filament will cause the clip to break too easily. You can test this by flexing the filament before printing.
  • Confirm the tightness of the screws that hold the y-axis assembly (the y end pieces and the y-axis steel rods) together. These screws can unintentionally come loose when leveling the bed; attempting to adjust the nuts to adjust the bed leveling can in fact turn the screws instead of the nuts, which then results in the plastic y end pieces becoming loose and no longer gripping the y-axis steel rods.
  • Confirm the y end pieces (that grip the y-axis steel rods) are not broken. Even if they visually appear to be fine, they still might in fact be cracked, leading to insufficient grip on the y-axis steel rods.

Z-axis related maintenance

  • Confirm the z-axis straight steel rods are firmly gripped by the base pieces. Attempt to rotate the z-axis steel rods; it should not be possible due to the firm grip by the plastic clamping section on the base piece. If the plastic clamping section on the base piece has become cracked, it can lose its grip on the straight steel rod. In this case, the base piece (which includes the plastic clamping section) needs to be reprinted and replaced. Then, a z-axis alignment (as described in the Portabee manual) should be performed to ensure that the z-axis straight rods are perfectly vertical.
  • Confirm the Z-axis shaft couplers are tightly connected (via the lock screw) to each respective Z-axis motor's shaft. If one or both Z-axis shaft couplers are slightly loose, this will result in unpredictable and likely unbalanced Z-axis motion between the two Z-axis motors due to slippage of the shaft coupler (and hence reduced rotation of the Z-axis threaded rod). Over time, the Z-axis shaft coupler may fracture due to high stress from the tightened lock screw. In this case, tightening the lock screw further may temporarily reduce slippage, but will accelerate the fracturing of the shaft coupler. In this case, a new shaft coupler should be printed as soon as possible.

Replacing the hot-end heater

The hole in the heater block to accommodate the heater is 5 mm in diameter. The following 3 watt, 5 ohm, 4.7 mm diameter, silicone-coated, wire-wound resistor (Vishay RS series, RS02B5R000FE12) has been confirmed to fit into the Portabee's heater block and has been confirmed to function properly as a heater. WARNING: more testing reveals that this resistor fails after around 30 hours of printing. It should be considered a temporary solution.

Datasheet: https://www.mouser.com/ProductDetail/Vishay-Dale/RS02B5R000FE12/?qs=SpUj42xpVX7gyt57C8gJVQ== , https://www.mouser.com/datasheet/2/427/rsns-1762136.pdf

Image: https://www.newark.com/productimages/large/en_US/65K2685-40.jpg

To improve heat transfer from the resistor to the heater block, a bit of aluminum foil can be wrapped around the center of the resistor to make it thicker (being careful not to allow the foil to touch either of the resistor's conductive leads). With a few turns of aluminum foil, the resistor will fit snugly into the 5 mm-diameter hole in the heater block. When first activating the heater, there may be some some smoke as some insulation or other materials burn off. After a minute or two, the smoke stops, and the resistor functions normally as a heater.

Replacing the entire hot end

A modern V6 or V6 clone hot end will allow the use of modern 1.75 mm filament. Furthermore, a modern V6 or V6 clone hot end will also use a ceramic heater, which is faster and more reliable than a wire-wound resistor. A ceramic heater, however, is perhaps a slightly greater fire hazard, so make sure thermal runaway protection and related parameters are set to sensible values in your Marlin firmware configuration.

Using a V6 hot end with 1.75 mm filament requires a major redesign of the extruder plate (bracket) to hold the hot end in place. Also, because the Portabee was originally designed for 3 mm filament, a slight redesign of the extruder block is also required to accommodate 1.75 mm filament -- some parts of the extruder block need to be shaved off, so that the idler block can press more tightly against the extruder block, which in turn allows a tighter grip on the thinner 1.75 mm filament.

It is mandatory to always enable the barrel fan with M106 before heating up the hot end to extrusion temperature. Failure to do this, especially with 1.75 mm filament, will lead to difficult filament jams which will require complete disassembly of the hot end to clear. See for example https://reprap.org/forum/read.php?1,759059 for advice on clearing a jam. To ensure the fan is always on, it is recommended to connect the fan to a constant supply voltage that cannot be switched off by software. For example, the MKS GEN L v1.0 board has a "fan" connector that is switchable via software, and also has a "12V" connector that supplies a constant 12V as long as the board is switched on. By connecting the fan to the 12V connector instead of the fan connector, it is guaranteed that the fan will always be on whenever the board is on.

The Marlin firmware will need to be reconfigured after installing a V6 hot end. Consult the V6 hot end documentation for the appropriate settings such as thermistor settings.

Leveling the print bed

  • Replace the upper locking nuts with wing nuts or thumb nuts for easier adjustment by hand.
  • Replace the lower locking nuts with springs.
  • Take care when adjusting the locking nuts that only the nut, and not the screw, is being rotated. Accidentally rotating the screw will cause the Y-axis assembly (the plastic end pieces that grip the steel rods) to become loose.
    • Adjustment procedure: When adjusting a particular nut, first pinch the bed towards the supporting Y-axis end piece, compressing the spring and releasing all pressure from the nut. Then, the adjustment nut is free to rotate. Rotate the nut slightly, release the spring, and again confirm the nozzle height with respect to the bed. Repeat the procedure for all nuts in sequence.
  • After manually leveling the bed, additionally use Marlin's manual bed leveling (G29 gcode command: https://marlinfw.org/docs/gcode/G029-mbl.html) to compensate for any remaining small irregularities in the bed height.
  • Clip a glass pane on top of the print bed for a flatter surface (since the original print bed, with 4-point leveling, may warp and become uneven)

Releasing the idler block

  • Replace the M4 nuts with M4 knurled nuts (thumb nuts) that can be gripped and loosened or tightened by hand.
  • This makes it much easier/faster to loosen the idler block to enable removal or insertion of filament.

Preventing slip of the extruder's 9-tooth drive gear

Replacing the electronics board

The gen6.d board used in the original Portabee is no longer available for purchase. Other electronics boards can also be used. The MKS GEN L V1.0 board has been confirmed to work; it is essentially an Arduino + RAMPS shield combined into one circuit board.

The original Portabee 4-wire connectors and 2-wire connectors will not fit into the MKS GEN L V1.0 board. The MKS GEN L V1.0 board uses 4-pin female DuPont connectors for motors, and 2-pin female DuPont connectors for fans, thermistors, and end stops. To connect the MKS GEN L V1.0 board to the Portabee's electromechanical hardware (motors, end stops, etc.), perform the following steps.

  • Buy several 4-pin and 2-pin DuPont cables with female connectors on each side.
  • Connect each 4-pin DuPont cable coming from the MKS GEN L V1.0 board to the corresponding 4-pin Portabee cable (such as a motor cable) coming from the Portabee's electromechanical components. Repeat for each 2-pin cable. Note that the original Portabee hot end uses a 4-pin cable to carry heater and thermistor wires to the hot end, but the MKS GEN L V1.0 board uses 2 separate 2-pin cables for this purpose. Also, note that the Portabee uses 4-wire cables for the endstops, but the MKS GEN L V1.0 board uses 2-wire cables.
  • To connect a female DuPont cable to a female Portbee cable, a makeshift male-male adapter is needed, consisting of four male-male pins. These male-male pins can easily be fabricated from a short length of stiff and uninsulated copper wire (approximately 0.1??? mm diameter and 4??? cm in length). Each thusly-created pin (a short piece of uninsulated copper wire) can be inserted with needle-nose pliers (do not use fingers due to injury hazard) into each hole in the DuPont connector, leaving four protruding wires extending out from the DuPont connector. Finally, the Portabee cable (e.g. motor cable) can be plugged into the four protruding wires. The end result is that the 4-pin female DuPont connector has been "bridged" by means of the 4 uninsulated copper pins onto the 4-pin female Portabee cable connector. The Portabee cable female connector should be pushed up flush against the corresponding DuPont female connector, so that the four bridging wires are not exposed; exposed wires present a short-circuit hazard. The mechanical connection thus formed is not extremely stable and should not be subjected to mechanical stress. If the motor wires become disconnected during operation, this will likely destroy the corresponding stepper motor driver (which, however, can easily be replaced, as the drivers are plug-in modules onto the MKS GEN L V1.0 board). Furthermore, the careful experimenter will want to verify that the makeshift male pins can carry sufficient current in this application, by considering the wire gauge, current flow, and temperature limits.
  • Carefully observe the polarity of motor connections and fan connections, since the DuPont connectors can be inserted in either of two orientations into the MKS GEN L V1.0 board.
  • Connect one Z motor to the Z motor connector on the MKS GEN L V1.0 board, and connect the other Z motor to the second extruder motor connector. Then, configure the Marlin firmware to use the second extruder motor as a second Z-axis motor.
  • The state of the endstops (open or closed) will also likely need to be reversed in the Marlin firmware.

If the original 12V Portabee power supply is used to power the new MKS GEN L V1.0 board, including the bed heater, then the bed heater will only be able to reach about 45 degrees maximum. Attempting to heat the bed to 50 degrees results in a very slow rise of bed temperature between 45 and 50 degrees, likely due to insufficient current. If the bed heater fails to reach the target temperature in a reasonably short time, the Marlin firmware will assume a hardware fault has occurred and will halt the printer. A higher-voltage 24V power supply might solve the problem. Alternatively, a separate power supply for the bed heater only might also solve the problem.