EggBot Control is the main EggBot extension. This is the tool to use when you are ready to "print" your drawing on your Eggbot. It is your plotting "control panel" that you use to adjust settings and print your drawing to the EggBot. The EggBot Control extension has eight tabs, which are described in the sections that follow.
- 1 Plot
- 2 Setup
- 3 Timing
- 4 Options
- 5 Manual commands
- 6 Resume
- 7 Layers
- 8 *
The function of this tab is straightforward: send your Inkscape drawing to your Eggbot. Click the "Apply" button, and plotting will begin. (Before plotting, please do make sure that your EggBot is connected to power and USB.). If you wish to close the extension, click the "Close" button. To select another tab, click on the desired tab.
Once you've adjusted the EggBot control values with the other tabs, you will mostly use this tab and the "Setup" tab in order to load and unload eggs and then draw your plots.
If you wish to plot only a portion of your drawing, consider using the "Layers" tab. To resume a paused plot, use the "Resume" tab.
The "Setup" tab is used for two stages of setup. First, for setting up the proper pen up and down stops for the objects you will be drawing on. Then, as you set each object up in the EggBot frame and subsequently unload it, you will again use this tab to raise the pen and disengage the motors. (Having the motors disengaged makes it easier to align the object for precise drawing.)
To draw on an object, the EggBot lowers the pen to the "pen down" height and then rotates the egg or moves the pen or a combination of the two. When a section of the drawing is finished and the pen needs to be repositioned without actually drawing, the pen is raised into the "pen up" height. The act of raising the pen is a "pen up" operation; the act of lowering the pen is a "pen down" operation. The physical raising and lowering of the pen is accomplished with the pen lift motor -- a servo -- whose arm (a "servo horn") lifts or lowers the distal pen arm. Assuming that the servo arm is attached such that it is roughly horizontal in the middle of its range, then a pen position of 0% corresponds to vertical down, 50% to horizontal, and 100% to vertical up. EggBot Control sets the pen up and pen down positions as a percentage of this range of travel.
The pen-up and pen-down positions, as percentages of the servo's full range of travel are set in the Pen up position and Pen down position fields. Changes will not take effect until you click the "Apply" button. Good starting value are 60% (up) and 40% (down). You can adjust them as needed, but keep the pen-up value higher than the pen-down value.
The Action on Apply selection lets you select what will happen when you click the Apply button. It can either toggle the pen up and down, or raise the pen and disengage the main motors.
After you have set the desired values, click the "Apply" button to perform that action.
The "Timing" tab controls how fast the Eggbot's motors and pen arm servo operate. The speeds are adjustable, and there are always tradeoffs between higher speed and higher quality. At too high of a speed, your plots will lose precision. Lower speeds mean that your plots will take longer to complete.
Speed when pen is down
This setting controls the maximum number of motor steps per second which may be taken by either or both stepper motors. (The distance around your egg -- or other object in the EggBot -- is exactly 3,200 steps around the equator, and about 800-1000 steps vertically.) The default value of 300 steps per second is a fairly good choice. If you want to get a quick sketch out as a "draft", you can use a faster value, up to perhaps 1000 steps/s.
To get a feel for the effect of different speeds, you may wish to comparing a plot at 150-200 steps per second with one at 400-500. The speed that works well for you will depend (amongst other things) on the model of EggBot you are using -- the Ostrich EggBot needs to be operated more slowly -- and on what kind of a tool you are using. Permanent marker pens can draw quite quickly, but using a tool like the diamond engraver requires a very slow speed for good results.
Speed when pen is up
This setting controls the maximum speed at which either or both stepper motors can operate while moving the raised pen between locations over the drawing surface. You can use much larger values than the pen down speed without compromising the quality of your plots. However, there is an upper limit to how fast you can go: At too fast of a speed, the pen or egg could slip position, ruining your plot.
Pen raising speed
To control how fast the pen is raised, change the "Pen raising speed" value. This value controls how many percentage points the pen is raised per second.
Delay after raising pen
After a pen-raise command is issued, the EggBot will pause for this duration of time before initiating another movement such as rotating the egg. The time to wait is specified in milliseconds (ms). This value should be set high enough to ensure that the pen is no longer in contact with the surface when the EggBot begins moving again.
Technical note: The delay starts at the beginning of the pen's upward movement, not at the ending, so you may wish to compute the time that it takes the pen to move up. For example, let's say we have a pen up position U of 68, a pen down position D of 62, and a pen raising speed R of 50. We see we have (U - D) / R = (68-62)/50 = 6/50 = 0.12 seconds = 120 ms before the pen gets up. If you wanted (for example) 200 ms of additional delay after raising, set this value to 320.
Pen lowering speed
This parameter controls how fast the pen is lowered between the pen up and pen down positions, specified in percentage points per second. Using a slower speed means that the pen will contact the surface more gently.
Delay after lowering pen
After a pen-lowering command is issued, the EggBot will pause for this duration of time before initiating another movement such as rotating the egg. The time to wait is specified in milliseconds (ms). This value should be set high enough to ensure that the pen is fully contact with the surface when the EggBot begins drawing.
Technical note: As with raising the pen, the delay starts at the beginning, not at the ending, of the pen's downward movement. You may wish to compute the time that it takes the pen to move down. For example, let's say we have a pen up position U of 68, a pen down position D of 62, a pen lowering speed r of 20, and want a (very long) 250 ms delay after the pen gets all the way down. Referring to item 8, we see we have (U - D) / r = (68-62)/20 = 6/20 = 0.3 seconds = 300 ms before the pen gets down. Adding that 250 ms pause we want for settling, means we should actually set this value to 550.
A number of plotting related options are set with the "Options" tab. Most of these options need only be set once and then forgotten. They do not vary as you change your drawing media.
Reverse motion of Motor 1 (pen)
This option defaults to True (checked).
The “historical” EggBot coordinate system is such that when you print a drawing, the top of the drawing is oriented towards the headstock, and the bottom edge is towards the tailstock. Over time, we have generally found it best to reverse that, by checking both “Reverse motion of Motor 1 (pen)” and “Reverse motion of Motor 2 (egg)”. This way which we recommend, it is more natural to put the “fat” end of an egg (or the base of a glass ornament) towards the larger egg coupler, where it tends to perform better. You can, however, uncheck both checkboxes to point the top of your drawing towards the headstock.
Reverse motion of Motor 2 (egg)
This option defaults to True (checked), for the reasons described above.
Egg (x) axis wraps around
This option defaults to True (checked). When checked, the EggBot will "wrap" long lines by just continuing to rotate the egg in the appropriate direction. This is especially helpful for drawing patterns on your eggs which look similar to tessellations. It will also allow a shortcut to return straight home in less than a turn, even when rotated by many turns.
Return home when done
This option defaults to True (checked). After finishing a plot, the EggBot will position the pen back to the plot's starting position.
Enable engraver, if attached
This option defaults to True (checked). If you have purchased or built an engraving attachment for use with your Eggbot, then use this option to enable or disable the engraver while plotting. Note that when this option is selected, the engraver will be turned on and left running throughout the plot and only turned off when the plot is finished. The engraver is not turned off each time the pen arm is lifted.
Curve smoothing (lower for more)
Fundamentally, the EggBot only draws straight line segments. When presented with a circle, arc, or cubic spline to draw, the EggBot approximates the smooth curve with many short line segments that follow the path of the curve. This approximation can be made to appear smoother by drawing even more, shorter line segments. Or, it can be made rougher be drawing fewer, longer line segments. The degree of smoothness is controlled with this option. The smaller the value specified, the smoother the approximation will appear and the longer it will take to draw. The default value of 0.2 is generally an acceptable value.
The "Manual" tab is so named as it allows you to manually send select, basic commands to the Eggbot. With the exception of the "Check EBB Version" command, these commands are intended to aid in fine tuning your Eggbot's setup for an egg or other object you are about to draw on.
In general, you will want to select the operation to perform with the "Command" drop-down list, and then click the "Apply" button. For the two motor walking commands, you can also specify the number of motor steps to turn the motor forward (+) or backwards (-).
Raise the Pen
Lift the pen to the pen up position. In most cases, it is easier to use the Setup tab for this action.
Lower the Pen
Lower the pen to the pen-down position. In most cases, it is easier to use the Setup tab for this action.
Walk Motor 2 (egg)
Rotate the "Egg" motor (which turns the object you are plotting) forward or backwards the number of steps specified in the "Walk distance" field. There are 3200 steps around in a full revolution.
Positive and negative distances are allowed. A negative value gives the opposite direction of rotation from that of a positive value. If the pen is down when this operation is performed, then a line line will be drawn. You may wish to use this command when attempting to precisely register the pen tip's position on the drawing surface. Note that the motor will automatically be engaged if necessary.
Walk Motor 1 (pen)
Move the pen arm longitudinally forward or backwards the number of steps specified in the "Walk distance" field. The angle moved will be steps * 360 degrees / 3200, since a full revolution of the pen arm (which is not possible in practice) would require 3200 steps of movement.
Positive and negative distances are allowed. A negative value gives the opposite direction of motion from that of a positive value. If the pen is down when this operation is performed, then a segment of a line of longitude will be drawn. You may wish to use this command when attempting to precisely register the pen tip's position on the drawing surface. The motor will automatically be engaged if necessary.
Engage (power on) the Eggbot's "pen" and "egg" motors.
Disable (power off) the Eggbot's "pen" and "egg" motors. In most cases, it is easier to use the Setup tab for this action.
Turn the engraver motor on. Requires an engraving attachment to be useful.
Turn the engraver motor off. Requires an engraving attachment to be useful.
Check EBB version
Query the EggBot its firmware version. Information about updating its "EBB" firmware can be found here.
Strip plotter data from file
Certain information about your plot -- in particular progress through the file for save and resume processes -- is saved within your SVG document. This option will strip that information from your file, should there be a reason to do so.
The EggBot has a useful feature which allows you to pause and resume your plots. By pressing the PRG button on the Eggbot's EBB (EiBotBoard) control board, plotting is paused. You can then make adjustments including changing drawing speeds and pen up or down positions. After making any adjustments, you can resume the plot by clicking the "Apply" button on this tab. Note that you can even exit Inkscape. The EggBot Control extension will automatically store plotting information in your drawing file. So, if you save the drawing file before exiting Inkscape, you can later resume your plot by relaunching Inkscape and re-opening your drawing.
Check the "Cancel and return home only" box if you wish to cancel the plot after pressing the PRG button on the EBB board, rather resuming.
By default, the EggBot Control extension will plot your entire drawing. However, if you divide your drawing into separate Inkscape layers, you can then plot each layer or groups of layers in distinct plotting runs. This makes it easy to plot drawings with multiple colors by separating each color into its own layer. Load the pen for the first color, then plot that layer. When that layer is finished, change the pen to the next color and plot that layer. The only requirement to using this feature is that you begin each layer name with an integer in the range 0 through 100. For example, if you have three layers with the names,
- 1 - Red swirls
- 1 - Red zig zags
- 2 - Blue circles
Then you can plot the two red layers with a red pen by specifying "1" in the "Plot only layers beginning with" field. You can then change the pen to blue and plot the blue layer by specifying "2" in that field.
The only control within the Layers tab is the numeric entry box, Plot only the layers beginning with You can choose any integer in the range 1 through 100, inclusive. Click the "Apply" button each time to begin plotting of the selected layers.
This final tab is the EggBot Control's "About" page and shows the version of the extension which you currently have installed. Also, it lists any known requirements, limitations or problems with the extension.