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.
- 1 Specifications
- 2 Design trade-offs
- 3 Building Documentation
- 4 Where To Purchase
- 5 Where To Get Source Files
- 6 Updated information for 2021
- 6.1 Latest corporate homepage from 2018
- 6.2 Official setup page
- 6.3 Firmware
- 6.4 slic3r settings
- 6.5 Detailed review and usage guide
- 6.6 Portabee print troubleshooting guide
- 6.7 Basic configuration
- 6.7.1 Assembly
- 6.7.2 Disassembly
- 6.7.3 Basic hardware configuration
- 6.7.4 Basic firmware configuration
- 6.7.5 Basic software configuration
- 6.8 Tips on using and printing with Portabee
- 6.9 Maintenance, Repairs, and Improvements
- 6.9.1 Symptoms of trouble and their cause
- 6.9.2 Plastic parts likely to break
- 6.9.3 Gantry (X-Axis)-related maintenance
- 6.9.4 Bed-related maintenance
- 6.9.5 Z-axis related maintenance
- 6.9.6 Replacing the hot-end heater
- 6.9.7 Replacing the entire hot end
- 6.9.8 Leveling the print bed
- 6.9.9 Releasing the idler block
- 6.9.10 Preventing slip of the extruder's 9-tooth drive gear
- 6.9.11 Replacing the electronics board
- 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.
Portability vs. stability
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.
- To minimize size and improve portability, the main structure of the Portabee is implemented as a Printrbot-style "two sticks" arrangement, which results in some possible unwanted motion such as Z-wobble. See discussion at https://reprap.org/wiki/User:Spiritdude#Two_Sticks, from which the following image is taken.
Intentionally separable coupling to hold Z threaded rods
The threaded rods, that implement the Z-axis motion, rest via gravity in a recess on each Z-shaft coupler. This allows the threaded rods to disengage vertically from the couplers if the Z-axis is moved too low, causing the hot end to crash into the bed. When the hot end crashes into the bed, and as the threaded rods attempt to move the hot end even lower, the hot end will resist the downward motion (because further downward motion is prevented by the bed) and in turn cause an upward force on the entire gantry, which in turn pushes the threaded rods upwards and allows them to disengage from the Z-shaft couplers. This helps limit the possible damage to the hot end or the bed; if, in contrast, the Z-shaft couplers tightly gripped the threaded rods and prevented easy vertical disengagement, then a mistaken and excessive downward Z-axis motion could drive the hot end relentlessly into the bed, quite possibly deforming or cracking the bed, the hot end, the extruder assembly , or other parts.
Some modified Portabee designs use a metal shaft coupler that in turn uses two lock screws to inseparably secure the coupler to the Z motor and the coupler to the threaded rod. Such a lock-screw arrangement prevents the threaded rods from disengaging in case of invalid Z-axis motion and can cause damage in case of operator error.
Under-powered heated bed
The 12V, 10A (120W) power supply provided with the Portabee cannot heat the heated bed to more than about 58 degrees Celsius, and reaching this temperature may take up to 30 minutes. Lower temperatures such as 42 degrees C can be reached more quickly, in a few minutes. The measured resistance of the heated bed is about 10 ohms, which allows only 1.2A to flow through the bed, for a power of only 14.4W to heat the bed. The RepRap forums and wiki recommend around 120W for a heated bed.
As an experiment, connecting only the heated bed directly to a 19V, 6A power supply allowed the bed to reach 98 degrees in about 15-20 minutes. Probably, a 24V power supply for the heater would allow reaching higher temperatures. Therefore, a higher voltage for the heated bed is recommended. This can be accomplished by connecting a relay or similar switching circuitry onto the heated bed terminals on the electronics board, then wiring the heated bed to go through the relay to connect to the higher-voltage power supply. This allows running the main electronics off of 12V, while powering only the bed heater from 24V.
Alternatively, the entire electronics can be reworked to run off of a single 24V power supply, but this requires verification of the voltage requirements and current requirements of each part of the entire system. For example, a 12V hot-end heater is probably not safe to run at 24V due to the increased power consumption. Also, if powering both the bed and everything else (motors, electronics, hot end) from a single 24V power supply, it must be ensured that the power supply can provide enough current for both the bed and the rest of the system.
Another possibility is to buy a small 150x150mm 12V bed heater and to mount that underneath the Portabee's bed. However, one such 12V bed heater that is currently available (as of 2021) requires 150W of power. The Portabee's standard 12V power supply can only supply 120W (12V x 10A).
Unfortunately, most modern replacement heated beds that are available for purchase currently (2021) are too large to fit the Portabee. Modern heated beds are usually at least 200mm or wider, whereas the Portabee heated bed is only 140mm wide (measured). Anything wider than about 150mm cannot be accommodated by the standard Portabee frame. See https://github.com/romscraj/Portabee/blob/master/printbed-simple.png for the specified dimensions of the Portabee bed (130mm x 222mm).
as looked up at RomScraj.com (if documentation links are outdated, look up again new links).
Where To Purchase
- http://romscraj.com - USD 490 unassembled, USD 640 assembled
- http://portabee3dprinter.com - USD 499 unassembled, USD 699 assembled
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
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.
Slower speeds and quieter operation for non-printing moves
Reducing speed for non-printing moves to between 40 and 60 mm/s can reduce the noise and rattling motions of the printer. Because the Portabee's maximum printing speed is generally about 40 mm/s, the default speed for non-printing moves (128 mm/s) causes a sudden jerky movement when the printer shifts from 40 mm/s printing moves to 128 mm/s non-printing moves. A lower speed for non-printing moves results in less jerking and quieter operation.
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.
Portabee print troubleshooting guide
See the assembly manual at https://web.archive.org/web/20180919005414/http://portabee3dprinter.com/support/portabee-kit-docs/ .
Suggested changes to the assembly procedure:
- When aligning the Z-axis smooth rods to be vertical, the manual recommends filing down one side the base piece to allow the smooth rod to tilt slightly in the desired direction. This is time consuming and tedious. Instead of filing down the plastic, a much faster method is simply to slide in a tightly folded piece of paper, acting as a shim, underneath the desired side of the base piece, lifting that side of the base piece and achieving the desired tilt of the Z smooth rod. Add or remove folds from the paper until the shim has the required height, then secure the shim in place with tape.
The following procedure is recommended for disassembly and maintenance.
- Power on the printer.
- Remove the Y-axis assembly including the print bed, by unclipping the two lock clips. Set the Y-axis assembly aside. The print bed need not be removed from the Y-axis assembly, unless desired.
- Disconnect the wires to all limit switches. Be careful not to send any commands to the printer that might attempt to move any axis to its home position.
- Raise the gantry (X-axis assembly) in the Z direction to maximum Z height until the nuts on the Z threaded rods disengage from the threaded rods and the gantry stops rising, with the nuts finally resting via gravity on the very top edge of the threaded rods.
- Power off the printer.
- Disconnect all wires from the control board, and unbundle all cables. This then allows each electrical component on the Portabee printer to be individually dismounted and laid aside.
- Remove the extruder motor from the extruder by loosening the 3 horizontal mounting screws, and set the extruder motor aside.
- If using an easily-removable hot end, then remove the hot end from the extruder while leaving the extruder block and extruder plate in place. If the hot end is not easily removable (such as with the original Portabee hot end), then remove the entire extruder block from the extruder plate, by unscrewing the 2 vertical mounting screws. Set the hot end and/or the extruder block aside.
- Remove the X-axis motor from its mounting bracket by loosening the 3 horizontal mounting screws. After loosening the motor, the taut X-axis belt will automatically loosen, since the motor, which was holding one side of the belt taut, can no longer hold the belt taut. Set the X-axis motor aside.
- The gantry (X-axis) now has no heavy components mounted on it and has no wires to get tangled, so it is very easy to remove the X-axis. Simply lift the gantry vertically off of the Z threaded rods. (Note that some ball bearings may fall out of the LM8UU bearings as they disengage from the Z smooth rods.) Set the gantry aside.
- Remove the Z-axis threaded rods from their couplings. Assuming you are using the original Portabee Z-axis couplers, the threaded rods simply rest via gravity on top of the couplers. Therefore, to remove the Z threaded rods, simply pull them vertically, and they will disengage from the couplers.
- What remains is the minimal Portabee base with only: 2 vertical Z smooth rods, 2 horizontal rods separating the base pieces, and 2 plastic base pieces, each containing one Z-axis stepper motor.
After the above disassembly, maintenance can easily be done on any part of the printer.
Reassembly is done in reverse order, and/or following the Portabee manual. The only caution is that when remounting the X-axis motor, it will be necessary first to introduce additional slack into the belt by unscrewing the clip that holds the belt and pulling the belt a few centimeters in the slackening direction. Then, mount the X-axis motor, and pull the slack belt over the motor shaft, and at the other end of the gantry pull the slack belt over the pulley. Finally, with the belt now routed correctly over both the motor shaft and the oppositely-sited pulley, pull the belt taut again, and tighten the clip that holds the belt in place.
Basic hardware configuration
- 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).
- 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).
- Heat the hot end to the desired extrusion temperature (180 degrees for PLA).
- 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.
- 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).
- Clean the tip of the hot end.
- 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.
- Recommended starting value is 514 (reference: https://web.archive.org/web/20180919005414/http://portabee3dprinter.com/support/portabee-kit-docs/).
- Set the value in Marlin source code by editing the appropriate header file, or set at run-time via M92 command (reference: https://marlinfw.org/docs/gcode/M092.html).
- 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 physically remove the hot end completely from the extruder, so that the extruder is simply pushing the filament from the spool into empty air (instead of into the hot end).
Updating the firmware
- The gen6.d controller board used in the Portabee is very old. It is theoretically possible to upgrade this board to use new firmware such as a self-compiled Marlin firmware. See https://web.archive.org/web/20160604072127/http://portabee3dprinter.com:80/portabee-firmware-guide/ for the latest information.
- However, there were multiple board variants distributed by Portabee, and there were some custom changes to the Marlin firmware that were needed to run Marlin on the Portabee board. Because the Portabee gen6.d board is so old, it is hard to find information on it, and it is not guaranteed that modern (2021) firmware will work with it.
- It is recommended to update the controller board to a more modern one such as MKS GEN L V1.0, which has been confirmed to work. See https://reprap.org/wiki/Portabee#Replacing_the_electronics_board .
Basic software configuration
- Limit speed to less than 40 mm/second, or else print quality may suffer.
- 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/
- 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.
- 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.
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.
- In slic3r, enable printing one skirt around the object.
- In slic3r, set temperature settings to zero, meaning the generated gcode will ignore the temperature.
- 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.
- In Pronterface, manually set the nozzle temperature to extrusion temperature, before the print.
- Manually extrude enough filament before the print to ensure it flows smoothly.
- As soon as smooth filament flow has been confirmed, immediately start the print (with the gcode file from step 1 that ignores temperature settings).
- 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.
- 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
- Confirm all screws and belts are tightened appropriately. Items prone to come loose due to vibration in normal use are:
- The set screw on the plastic drive gear on the extruder motor shaft. A loose screw will lead to underextrusion or failed extrusion.
- The lock nut holding the 53-tooth extruder gear in place. A loose nut will allow the 53-tooth gear to slide along the mounting bolt, disengaging the 53-tooth driven gear from the 9-tooth drive gear, and leading to complete loss of extrusion.
- The set screws on the Z leadscrews. Loose screws will lead to inconsistent motion along the Z-axis.
- The screws holding the smooth Z rods in place. Loose screws will lead to an unstable Z-axis and cause excessive Z wobble and banded prints.
- The nuts holding the base pieces (the Z motors) at a fixed distance between each other. Loose nuts will allow the spacing between the Z motors to drift, altering the spacing between the Z-rods and affecting Z-axis alignment.
- The screws securing the Y-axis support rods to the plastic base -- when leveling the bed, turning the nuts may instead turn the screws themselves, which will loosen the screws and loosen the plastic base's grip on the Y-axis rods. Loose screws will lead to an unstable bed and/or erratic Y-axis motion.
- The screws holding the motors (X, Y, and Z) in place. Loose screws will lead to poor grip on the corresponding belts and erratic motion.
When moving the printer
- Confirm all screws and belts are tight.
- Use two hands, one to grasp each z stepper motor. Be careful not to twist the assembly.
- 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
- Confirm all screws and belts are tight.
- Prepare an emergency-stop switch to cut the power to the printer immediately (or be prepared to yank the power cord if needed).
- 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.
- 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.
- 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
- Turn on the extruder barrel fan with M106. It should always be on.
- 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.
- Ensure that the nozzle is clean and no old/hardened filament is hanging off of the nozzle. If there is excess filament on the nozzle, first ensure that the nozzle is cold (to avoid danger of burns), then scrape off or pull off the hardened filament with your fingernails. Do not use sharp objects to scrape off the hardened filament, because this can damage the precisely-shaped and precisely-sized nozzle hole, which would lead to poor extrusion.
- 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.
- 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.
- Alternate method: After confirming, in the excessively high position at first, that the Z end stop switch properly functions and will stop the Z-axis motion when activated, next move the Z end stop to a very low position so it will never activate even when the nozzle touches the bed. This is a dangerous and temporary configuration -- proceed with caution in this condition. Then, using the Pronterface control software, command the Z axis to move lower in small increments -- 1 cm increments when the nozzle is far from the bed, 1 mm increments as the nozzle approaches the bed, and 0.1 mm increments as the nozzle is almost touching the bed. When the nozzle just touches the bed, this is the proper home Z position, so now readjust the Z end stop switch's position, raising it from its too-low position, so that it just touches the X-axis gantry and activates. Re-home the Z-axis to confirm the Z end stop activates and stops the nozzle just as it touches the bed. Finally, level the bed and re-adjust the Z end stop position one last time.
- WARNING Rotating the Z end stop around the Z smooth rod on which it is mounted will cause a slight shift in the Z home position, as the rotation of the switch (which is diagonally-mounted piece of metal) alters the exact height at which the rising/lowering X-axis gantry will trigger the switch. This has the advantage that very slight adjustments in Z home position can be made by intentionally rotating the Z end stop switch. However, this also has the disadvantage that accidental rotations of the switch will cause unwanted alterations in the Z home position. Accidental rotations of the switch can be caused by a loose Z smooth rod (allowing the whole rod and switch assembly to rotate in the plastic base), an insufficiently tightened mounting screw for the Z end stop switch, and/or accidental motion of nearby connecting wires if the wires are pushed by the bed's motion. Always perform final confirmation of the Z home position with the X and Y axes also at their home position, because the print will start by homing the X and Y axes first, before homing Z. (If final confirmation of the Z home position is done with X and Y not at their home positions, then the start-of-print bed motion to home the X and Y axes may push some wires, which in turn may unintentionally rotate the Z end stop and causing the Z home position to shift from its original position.)
- 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.
- Calibrate the E-steps: https://reprap.org/wiki/Portabee#Calibrate_E-steps .
Before starting the print
- 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.
- 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.
- 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
- Load your gcode file (created with your slicer software, such as slic3r) into Pronterface.
- 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.
- Ensure that filament flows freely.
- Method 1, manual adjustment (easy)
- Confirm the extruder barrel fan is always on; if not, turn it on with M106.
- Manually heat the hot end to desired temperature.
- Manually set Z to 4 cm above the print bed, and repeatedly extrude filament until it flows smoothly.
- After the filament flows smoothly, immediately (within a few seconds):
- Clean the excess filament from the print bed.
- 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!).
- 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.
- Method 2, fully automated (advanced)
- Mount the print bed on springs as described later in this page.
- 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
- At the end of each print, after the nozzle cools, remove any hardened excess filament that may have oozed out of the nozzle.
- 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. If there is excess filament on the nozzle, first ensure that the nozzle is cold (to avoid danger of burns), then scrape off or pull off the hardened filament with your fingernails. Do not use sharp objects to scrape off the hardened filament, because this can damage the precisely-shaped and precisely-sized nozzle hole, which would lead to poor extrusion.
- At the beginning of each print, level the bed and adjust the Z limit switch to its optimal position.
- 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.
- 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
- 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.
- Method 1, manual adjustment (easy)
During the print
- Confirm the extruder barrel fan is always on.
- If the fan stops when the print starts:
- Abort the print -- in Pronterface, press "Pause", then "Reset printer".
- Turn on the fan with M106.
- In slic3r, check the option to turn the fan always on.
- Re-slice the 3D model, re-import into Pronterface, and try printing again. This time, the fan should be on.
- If the fan stops when the print starts:
After the print
- 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.
- If the fan stops when printing stops:
- Manually turn on the fan with M106.
- In slic3r, add custom gcode at the end of the print to turn the fan always on, with M106.
- If the fan stops when printing stops:
- Raise the Z position up by few centimeters to allow vertical space for removing the Y-axis.
- Remember that the nozzle may still be hot immediately after a print; do not allow your fingers, hands, or any body part to contact the hot nozzle.
- Unclip the 2 Y-axis clips (fastening the Y carriage and the print bed to the frame), lift the Y carriage assembly (including the print bed) off of the frame, and set it in front of the frame.
- With the Y carriage assembly removed from the frame and in an open area, pull the print off of the bed.
- It is dangerous to pull the print off of the bed without removing the Y carriage from the frame, because the limited space within the Portabee frame increases the changes for damaging the frame or for injury, if great force is used when pulling the print off of the bed. The sudden release of the print from the bed may cause the hand that is pulling the print to fly backwards and strike the printer frame.
- Scrape and/or wipe the print bed to remove any leftover filament from the previous print.
- Reattach the Y carriage.
- Ensure the nozzle is cold (safe to touch), and clean any excess filament off of the nozzle. Usually, some filament will leak out of the nozzle at the end of a print, then harden as the nozzle cools. After hardening, this can usually be removed by hand easily with the nozzle cold.
- Re-level the bed. If the Y carriage is carefully removed and carefully replaced, it is possible no bed re-leveling is needed. However, a slight adjustment of the Z-axis endstop position is usually needed after the Y carriage has been reattached.
Printing replacement parts for the Portabee
The below notes apply to using PLA filament at 190 degrees.
- Printing the small 9-tooth gear (9-tooth-drive-gear.stl)
- 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.
- 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.
- 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.
- Issues with too-small hole diameter
- 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.
- 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.
- 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.
- 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.
- Printing Y endstop holder
- Use a wide brim when printing this part. This is a tall part with a small "footprint" on the print bed, so it is prone to accidentally becoming detached from the print bed during the print, ruining the print.
- As with other small parts, print 2 or more copies at once, so that the first print has time to cool (passive cooling) as the extruder moves to print the second copy, and vice versa.
- Printing X end for the motor
- The X end that holds the X motor has a long and thin protruding arm, which is prone to separating from the bed and curling upwards (warping). To prevent this, use a large brim around the entire part. Also, print another object (such as the X-end-idler part, or a similar square part), with a brim, next to the long thin arm. The additional object should be located close enough to the long, thin arm, such that the brim on the additional object connects with the brim on the thin arm. This then creates a continuous brim connecting the long, thin arm with the nearby additional part. Such a structure creates a large "footprint" on the bed that helps prevent the long, thin arm from detaching from the bed and curling upwards during the print.
- Higher bed temperatures may also help when printing this part, to prevent excessive cooling and prevent warping. However, the standard Portabee electronics can only heat the bed to about 58 degrees C maximum.
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 broken, or 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. Also see https://reprap.org/wiki/Portabee#Preventing_slip_of_the_extruder.27s_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. Alternatively, the nozzle may be clogged, causing a filament jam.
- 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. Or, the screws on the base need to be tightened to improve the grip on the smooth rods.
- 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.
- Symptom: Banding or ribbing on prints. Cause: Z-axis wobble. The Z threaded rods are not perfectly in line with the axis of the Z motors. Or, the Z threaded rods are bent. Also, the Z smooth rods may be loose, allowing too-easy transmission of unwanted lateral motion from the threaded rod onto the smooth rod. See https://reprap.org/forum/read.php?151,291624,293344#msg-293344 for some ideas on fixing the problem. Also see https://reprap.org/wiki/Wobble/fr . The top of the Z threaded rods should not be constrained, as this will over-constrain the system and make Z wobble worse.
- Ensure the Z shaft couplers fit tightly around the Z motor shafts so that there is no play. Print out new Z shaft couplers and adjust the hole size to be small enough for a very tight fit around the motor shaft. An oversized hole in the coupling can lead to an off-center placement of the coupling as the lock screw is tightened.
- Alternatively, use flexible shaft couplings instead of rigid (plastic) shaft couplings. The flexibility of the coupling can absorb the unwanted wobbling motion and prevent transmitting it to the gantry.
- Alternatively, use a "Z isolator". Redesign the gantry support structure so that the gantry is separate from (isolated from) and resting on top of a small support platform, with the platform being driven by the threaded rod (https://reprap.org/wiki/Wobble/fr). Any undesired lateral wobble in the threaded rod will translate to lateral wobble of the platform, which will not be transmitted to the gantry because the platform will (ideally) simply slide laterally underneath the gantry at the support point, causing no lateral motion of the gantry (because the gantry is fully separated from and isolated from the support platform). However, the desired vertical motion be transmitted from the platform to the gantry as the platform's nut moves up and down the threaded rod. The Z isolator will help but may not be able to completely eliminate the ribbing due to inherent limitations of the frame design; see https://reprap.org/forum/read.php?262,725915 .
- Symptom: X axis belt keeps loosening. Cause: the X rod clamps (one at each end of the gantry) are worn out and are not properly clamping the X rods, allowing the oppositely-sited clamps to slide towards each other due to the inward-pulling force required to keep the X-axis belt taut. If the X-axis belt is again pulled even tighter to compensate, this actually worsens the problem, pulling the clamps again farther inwards towards each other. After the clamps have been wrongly displaced inwards due to the belt tension, the Z bearing holders (which are attached to the clamps) are also wrongly positioned, being too close to each other. This will then pull the Z-axis smooth rods inwards, which causes misalignment and undue stress on the base pieces where they grip the Z rods. The solution is to print new X rod clamps and ensure that they tightly grip the X rods. With a properly-sized clamp, it should be necessary to pry the clamp slightly open in order to insert the X rod. Then, when the clamp is screwed into place on the gantry, it will pull the clamp shut and tightly grip the rod.
- Symptom: Y axis belt keeps loosening. Cause: The Y end pieces (one at each end of the Y carriage) are worn out or broken, and are not properly clamping the Y axis rods, allowing the oppositely-sited Y end pieces to slide towards each other due to the inward-pulling force required to keep the X-axis belt taut.
Plastic parts likely to break
Anything that moves while printing:
- 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.
Anything that can be crashed into due to attempted motion outside of physically allowable limits:
- 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: Y-end piece's small plastic tab to activate the Y-axis limit switch. Reason for breakage: A malfunctioning or misconfigured Y-axis limit switch can force the Y-axis motor to move past its limit and cause the plastic tab (which is supposed to stop when it touches the limit switch) to shear off as it violently crashes against and is dragged across and beyond the limit switch.
Anything that is adjusted by hand:
- 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: 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.
- 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.
Anything holding a belt in place:
- Part: Y-end pieces holding the Y-axis belt. Reason for breakage: normal wear and tear due to the stress of holding the Y-axis belt taut, and due to the stress of transferring the belt motion to the bed. The plastic tab that grips the Y-axis belt may become brittle with age and fracture. Or, the round parts that enclose and grip the Y-axis rods may loosen or fracture, due to the continual stress of being pulled inwards by the taut Y-axis belt.
- Part: X-carriage, where it grips the X-axis belt. Reason for breakage: normal wear and tear due to the stress of holding the X-axis belt taut, and due to the stress of transferring the belt motion to the heavy toolhead. The plastic tab that grips the X-axis belt may become brittle with age and fracture. Or, the round parts that enclose and grip the X-axis rods may loosen or fracture, due to the continual stress of being pulled inwards by the taut X-axis belt.
Anything that grips and holds the X, Y, or Z smooth rods (guide rails) in place:
- Part: X rod clamps. Reason for breakage: Normal wear and tear can cause the X rod clamps to lose their grip on the X-axis rods. This will cause the X-axis belt to continually become loose over time, as the stress of keeping the belt taut will tend to pull the X rod clamps towards each other. New, properly-sized clamps will tightly grip the rods and resist the inwards-pulling force from the belt. However, if the clamps become worn out over time, then the interior hole becomes too large, and can no longer grip the rod tightly enough.
- 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: 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). Incorrect distance between the Z bearing holders on the gantry can also pull or push the Z smooth rods away from the vertical position, causing stress on the plastic base.
Anything subject to heat:
- Part: Extruder block. Reason for breakage: Heat deformation of the plastic mounting bracket for the motor on the extruder block, structural weakness stemming from poor print quality of the original extruder block, or wear and tear due to normal use. Breakage or deformation of the motor's plastic mounting bracket will lead to extruder gear misalignment, which in turn again exerts high stress on the relatively thin mounting bracket.
- Part: X end supporting the X motor. Theoretically, the heat from the X motor could deform this part, due to the constant pulling force caused by the tension of the X-axis belt. Such deformation has not yet been observed in practice.
- 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.
- 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.
- Confirm the Z-axis smooth 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 smooth 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 smooth rods are perfectly vertical.
- Avoid bumping the Z smooth rods, which will place undue stress on the plastic base where it grips the rod, possibly cracking the plastic base.
- When sliding the Z-axis limit switch vertically on the Z smooth rods to adjust the limit switch's position, use one hand to apply downward pressure at the top of the smooth rod, and use the other hand to push the limit switch's position upward or downward on the Z smooth rod. By using one hand to apply downward pressure at the top of the smooth rod, this reduces the likelihood of loosening or accidentally pulling the smooth rod out of the plastic base part that grips it.
- 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.
- Confirm that the distance between the smooth Z rods is the same as the distance between the Z bearing holders on the X-axis. The distance between the smooth Z rods is set by adjusting the distance between the two Z motors at the base. To confirm the distance between the smooth Z rods, one way to proceed is as follows:
- Remove extruder motor, extruder block, and hot end from the X-axis assembly. This leaves a very light X-axis assembly.
- Raise the gantry by moving the Z-axis to its maximum height. The Z-axis nuts, that are driven by the Z leadscrews, will disengaged when they reach the top of the leadscrews, and the entire X-axis gantry will simply resting on top of the tips of the leadscrews. WARNING: while moving the Z-axis upwards, confirm the wires (such as the Y-axis limit switch wires and the Z-axis limit switch wires) do not get pulled too tight. If they get pulled too tight, disconnect them to allow the Z-axis to rise freely.
- Use one hand to support the X-axis.
- Using your other hand, remove both Z leadscrews (threaded rods) from their plastic couplings and set them aside.
- With the leadscrews removed, the X-axis gantry is now only supported by your hand. Slide the gantry up and down the full length of the Z smooth rods.
- Carefully observe the top of the Z smooth rods. If they bow outwards or inwards as you raise and lower the gantry, then this means that the distance between the smooth rods is different than the distance between the Z-bearing holders on the gantry. To fix this, either adjust the spacing between the Z smooth rods (by adjusting the spacing between the two Z motors at the base), or adjust the spacing between the Z-bearing holders on the gantry.
- Note that with time, the X rod clamps may degrade and become unable to grip the X rods properly. In this case, the X rod clamps should be replaced as soon as possible, because without proper grip, the X rod clamps will continually be pulled inwards due to the tension of the X-axis belt. Eventually, the distance between the X rod clamps (and the Z bearing holders mounted on them) will decrease below the distance between the Z smooth rods. This leads to a mismatch between the distance between the Z bearing holders and the distance between the Z smooth rods.
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.
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
- Mechanical modifications for easy leveling
- 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.
- 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. The ideal hand position for pinching will place the thumb on top of the print bed, and the middle finger on top of the screw head at the bottom of the supporting Y-axis end piece. The thumb and middle finger are squeezed together to compress the spring; then, the adjustment nut is free to rotate. The index finger (on top of the bed) is now free to rotate the leveling nut slightly, taking care not to rotate the screw. Any accidental rotation of the screw will be detected by the middle finger that is pinching the screw head. After adjusting the nut, release the spring, and again confirm the nozzle height with respect to the bed. Repeat the procedure for all nuts in sequence.
- Overall leveling procedure
- Note: Because the Portabee uses 4-point bed leveling, the following compromise procedure may slightly twist the frame and/or the bed. Ideally, a perfectly-aligned, pefectly-rigid machine and a perfectly flat bed will require only 3-point leveling. The Portabee, being a portable 3D printer, is not a perfectly-aligned, perfectly-rigid machine. A quick experiment with 3-point leveling on the Portabee yielded unsatisfactory results compared with 4-point bed leveling.
- Place the Portabee on a flat, horizontal surface such as a table. Confirm the table is level by using a spirit level.
- Move the Z-axis to about 5 cm height.
- Adjust (one side of) the bed to be perfectly horizontal, as follows:
- Move the Y-axis to its maximum position (farthest away from the Y-axis limit switch).
- Place the spirit level on the bed, pointing along the X-axis.
- Adjust the two nuts on the Y-maximum side of the bed so that the spirit level becomes horizontal.
- Adjust the gantry to be parallel to the bed, as follows:
- Move the X-axis to its minimum position.
- Place a sheet of paper on the bed.
- Carefully move the Z-axis downwards in small increments (1 cm steps when the nozzle is very high above the bed; 1 mm steps when the nozzle approaches the bed; 0.1 mm steps when the nozzle is almost touching the bed), until the nozzle just touches the sheet of paper, causing slight resistance as the paper is dragged between the nozzle and the bed. This is the appropriate height.
- Turn off all motors by using the Pronterface button "Motors off" or by sending the appropriate gcode command.
- Gently, slowly, and manually slide the toolhead towards the maximum X-axis position, continually gauging the nozzle height above the bed by dragging the paper. If the paper becomes pinched too tightly between the nozzle and the bed, then stop pushing the toolhead, and manually rotate the Z-axis motor (located at the maximum X-axis position) to raise the tool head. Conversely, if the paper becomes too loose, then manually rotate the Z-axis motor in the other direction to lower the tool head. Perform final confirmation of the appropriate nozzle height at the maximum X-axis position. Then, slide the toolhead back towards the minimum X-axis position and adjust for appropriate height. Repeat the back-and-forth sliding of the toolhead along the X-axis a few times until the nozzle height is appropriate at both the X-minimum and X-maximum positions. It is expected that the nozzle height will be slightly too close to the bed at intermediate positions, so aim to optimize the height at the X-minimum and X-maximum positions. After this procedure, the gantry is now parallel to the bed, and because the bed was confirmed to be level with the spirit level, the gantry is now also level. Make no further manual adjustments to the Z-axis motors.
- Adjust the other side of the bed to be parallel to the gantry, as follows:
- Slide the bed towards the minimum Y-axis position (closest to the Y-axis limit switch). Adjust the two locking nuts on this side of the bed so that the nozzle is at an appropriate height both at the X-minimum and X-maximum positions. Again, make no adjustments to the Z-axis motors (because the gantry was already leveled in the previous step); only adjust the locking nuts on the bed.
- Check and re-adjust the initial side of the bed to be parallel to the gantry, as follows:
- Slide the bed back towards the maximum Y-axis position, and adjust the two locking nuts (not the Z-axis motors) so that the nozzle is at an appropriate height both at the X-minimum and X-maximum positions.
- Repeat the bed adjustments at the minimum Y-axis and maximum Y-axis positions until the nozzle height is appropriate at all positions: (Xmin, Ymin), (Xmax, Ymin), (Xmin, Ymax), (Xmax, Ymax).
- Adjust the Z-limit switch as follows.
- Having completed the above bed leveling, and with the nozzle at the appropriate height from the bed, physically move the position of the Z-limit switch so that it triggers against the gantry and is activated. Tighten the Z-limit switch and ensure it cannot move.
- Home the Z-axis. It will activate at or before the nozzle reaches the optimum height. WARNING: If the Z-limit switch fails to activate due to poor positioning, the toolhead will crash into the bed, causing various damage.
- By using the sheet of paper to gauge the nozzle height above the bed, incrementally adjust the Z-limit switch position downwards, re-homing the Z-axis after each adjustment. Adjustment is complete when the Z-home position corresponds to the appropriate nozzle height above the bed.
- After adjusting the Z-axis limit switch and homing the Z-axis, move the toolhead to various locations on the bed and confirm (using the sheet of paper as a gauge) appropriate nozzle height along the entire bed. Some variation is expected, so mainly confirm that nozzle height is appropriate at the 4 corners of the bed.
- In case the bed is severely warped, Marlin's mesh bed leveling can compensate for this to some extent.
- Other possible improvments
- 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
- Drill a small cavity onto the round motor shaft, so that the lock screw (grub screw) can grip the motor shaft. Reference: https://www.igorkromin.net/index.php/2014/11/30/portabee-3d-printer-extruder-motor-latch-mod/
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, 3-pin female DuPont connectors for end stops, 2-pin female DuPont connectors for fan and thermistors, and no connectors (direct wire connection to screw terminals) for the hot-end heater and bed heater. 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, 3-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 3-pin cable, and 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 3-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, fan connections, and switch connections, since the DuPont connectors can be inserted in either of two orientations into the MKS GEN L V1.0 board. Polarity of thermistor connections or heater connections does not matter, as these parts are not polarized (at least, not with the original Portabee hardware).
- With the MKS GEN L V1.0 board oriented such that the motor connectors are on the top of the board, each motor connector consists of 4 pins in this order, from left to right: 2B, 2A, 1A, 1B. These might possibly correspond to the following wire colors on the stepper motor: red, blue, black, green. This order (red, blue, black, green) was confirmed to work with a stepper motor provided with a purchased Portabee printer; however, the stepper motor wire colors are not standardized, and therefore it is not 100% reliable to use the colors to determine the wiring. See https://reprap.org/forum/read.php?219,142450 and https://reprap.org/wiki/RAMPS_1.4#Motors for information about determining which wire from the motor to connect to which pin (2B, 2A, 1B, or 1B) on 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 vs. closed) will also need to be reversed in the Marlin firmware's Configuration.h, with #define X_MIN_ENDSTOP_INVERTING true, #define Y_MIN_ENDSTOP_INVERTING true, and #define Z_MIN_ENDSTOP_INVERTING true.
- In the Marlin firmware's Configuration.h, define the board with #define MOTHERBOARD BOARD_MKS_GEN_L .
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.