User Guide

Find any of these steps confusing or get stuck? Don’t forget, you aren’t alone! Maslow is a community driven open source project. Ask in the forums and we’ll figure it out together!

The Maslow4 interface is still evolving rapidly and will continue to change. This guide will be updated regularly, but you still might notice some small differences between the guide and what you see. 

Maslow4 is an open source project. Pull requests to change or improve the firmware are very very very much welcome and appreciated. If you don’t feel comfortable editing the software yourself you can still make a hugely meaningful contribution by telling us how it could be better in the forums. Sometimes the hardest part of making something better is figuring out what to change. If you can find a way to make the software simpler to use and better share it!

This guide will contain the following sections.

  1. How to connect to your Maslow4

  2. How to update your firmware

  3. How to connect Maslow4 to your home WiFi network (optional)

  4. How to run the calibration process

  5. How to move the machine around

  6. How to define the machine’s home position

  7. How to run a gcode file

How to connect to your Maslow4

Maslow4 is controlled using a built-in interface accessible from your web browser. You can connect to Maslow4 from any Windows, Mac, or Linux computer or iOS or Android tablet or phone. You do not need to install any software. 

Maslow4 will create a wifi network called “maslow” which you can connect to. The default password for this network will be “12345678”.

Connecting to the network will automatically open the user interface on most devices. If it does not you can type 192.168.0.1 into your web browser to open the interface. 

How to update your firmware:

Maslow4’s firmware is going to evolve and improve quickly now that we have sent machines out to the community so more folks have hardware to test on. We will be releasing firmware updates weekly for the foreseeable future so updating your firmware is something that you are going to have to do often. 

Luckily updating the Maslow4 firmware is easy. 

To update Maslow4’s firmware click on the FluidNC tab at the top of the screen, then click on the Update the Firmware button, and select your new firmware file.

You can always find the latest firmware version at https://github.com/BarbourSmith/FluidNC/releases

There are two other files which you will need to update periodically. These can be found by clicking on the FluidNC tab and then clicking on the files button.

This will show you your system files.

To upload a new file click the Upload files button at the top of the screen. If a file with the same name already exists it will be replaced.

index.html.gz controls how the machine interface looks. If you wanted for example a dark mode, replacing this file would give the interface a new look. I expect that there will be a number of community created UI options created quite quickly.

maslow.yaml contains the configuration settings for your machine. You can set things like the maximum feed rate here.

How to connect Maslow4 to your home WiFi network

If you have an internet connection in your work space, it might be nice to connect Maslow4 to your existing WiFi network so your computer can stay connected to the internet and Maslow at the same time.

To connect your Maslow4 to the internet click on the FluidNC tab

Then scroll down to enter your WiFi network name in the Sta/SSID field and your network password in the Sta/Password field, then press set next to each field. You will need to restart your machine for the changes to take effect. 

When your Maslow4 turns on it will attempt to connect to your WiFi network. If it is not able to find your network it will create a wifi network called “maslow” for you to connect to.

Once Maslow4 is connected to your wifi network you will need to find its address to connect to it. We were concerned about this working reliably on everyone’s networks so we have created three ways to do this so there is redundancy. 

The easiest way to connect to your Maslow4 on most modern wifi routers is to enter the address maslow.local in your internet browser. 

If that doesn't work, you can use the website findmymaslow.com to find the IP address of your machine. Unfortunately due to some (frankly prudent) security updates to Chrome this will only work in Firefox.

Finally if all else fails, the blue LED on your Maslow4 will blink out the IP address so with a pen and paper you can count the flashes and write the number down. It’s not plan A, but it’s low tech and reliable. 

How to run calibration:

A bit of a preface...We know that this process is a bit brittle and hard to use at the moment. The calibration process is still evolving quickly. We know that the way it works now is a hassle, but the fastest way to see it improve is to ship it out to everyone and invite feedback and collaboration. It will get better and easier to use more quickly if we work on it together than alone. Bear with us while we’re working out the kinks. Expect this process to improve quickly with our weekly firmware updates.

You only need to run the calibration process once when setting up a new frame.

Before beginning the calibration process we recommend starting with the machine off and turning it on. This will ensure that we all start from the same place.

These instructions can be somewhat confusing to follow so we made a video walk through of the current calibration process which you can also follow.

Open local files by clicking on the FluidNC tab and then clicking on the green file folder icon.

Download your maslow.yaml file by clicking the download button next to it.

Roughly measure the width and height of your frame. These measurements are just a rough guess to get the calibration process started. The final accuracy will not depend on how good your measurements are.

For the wooden frame I’m going to use 3,000mm as a rough measurement for the distance in the X direction, and 2,000mm for the distance in the Y direction.

Download your maslow.yaml file by clicking the download button next to it.

Edit your maslow.yaml file in a text editor with your machine’s information. The fields that you want to edit are Maslow_vertical which can be true or false depending on your machine’s orientation. Maslow_tlY, Maslow_trX, Maslow_trY, Maslow_brX which are each the coordinates in mm of the corner points. To begin you want to set Maslow_trX and Maslow_brX to the roughly width of your machine in mm and Maslow_tlY, and Maslow_trY to roughly your machine's height in mm. Save the file.

Upload your edited maslow.yaml file. You don’t need to delete the old file to make space, the new file will automatically replace the old one.

Next we are going to lower the z-axis all the way down before starting the calibration process. There should not be a router bit in the router for this step. First click on “Alarm” alarm to unlock the machine.

Then click on Z and use the down button to lower the z-axis all the way down. 

It will naturally bottom out on the stepper motors.

Next click on Setup and then on Retract All. 

This will fully retract all four belts.

Next press Extend All to begin extending the belts. You will hear the cooling fan turn on.

You want to keep extending all four belts until they stop. The machine will stop extending more belt once they have reached the target length.

To extend the belts you will need to pull them out. A rocking motion will help get them started extending. You might need to be a little aggressive. After they will extend out to the correct length as long as you pull with a gentle but constant force. 

Attach all four belts to the frame. This might look different depending on your frame design.

Press the calibrate button to begin the calibration process. The machine will move to 100 points in a grid and take a measurement at each one.

This process should be completely automatic, but it still requires occasional tending. In particular at the moment it has a tendency to extend too much slack when moving to a new location because the belt extends slack more quickly than it is needed. I like to solve this by giving it a little tug occasionally if needed.

After the machine stops moving it will begin computing the calibration results. This can take a long time (like five minutes). When it finishes you will see results appear in the console here.

Enter the results back into the maslow.yaml file, upload it to the machine again, then restart. We recommend turning the machine fully off and then back on again at this point. You will need to disconnect and retract the belts and to start fresh with the new configuration.

That’s it, you are finished with the calibration process. From now on you do not need to do it again unless you change your frame’s dimensions. From now on if you disconnect your Maslow from the frame and want to re-attach it you can just extend the belts and use the Take Slack button to take up the extra slack.

How to move the machine around

You can move your Maslow around using the arrow buttons on the right side of the screen.

The distance that it will move can be set by clicking on the distance number.

You can switch between mm and inches by clicking on the units.

How to define the machine’s home position

When you create a gcode file it will have a “home” position. Here you can see the home position shown with a cross in a circle. In this case when we created our gcode file we set it up so our shape would be cut above and to the right of the home position. The current position of the machine is shown with a purple dot.

If we want to move where the file will be cut on the sheet of plywood we can press the “Define Home” button which will move the file’s home position to the machine’s current position letting us move the shape we want to cut anywhere on the sheet.

Similarly we can set where the home position is for the z-axis. This will set where the router will start cutting which is typically on the top surface of the plywood. To set the home position for the z-axis click on the Z button, move it up and down with the Up and Down buttons. Then press Define Home to set the z-axis home position.

How to run a gcode file

Load your gcode file onto the machine by pressing the Load File button

Select your file from the drop down

Run the file by pressing the green play button.

About the maslow.yaml File

The maslow.yaml file contains all the information about the configuration of the machine. It’s frusterating to have to edit it so expect it to go away in the not too distant future and be replaced with a friendlier user experience.

The .yaml file has several particularities and frustrations.

First, it must be named exactly maslow.yaml. Any other name will not be recognized.

Next, it is very picky about formatting. Any spaces after numbers will cause an error. If the machine is unable to process the file you will see error 152 in the console.

Maslow_vertical: false

This tells the calibration process if the Maslow frame is vertical or horizontal. In the vertical orientation we can count on gravity to always pull down and so we use just two belts to move the machine around. In the horizontal orientation we use whichever two belts are retracting to move the machine around.

The maslow.yaml file currently has the following configuration options.

Maslow_calibration_offset_X: 500

Maslow_calibration_offset_Y: 500

These can be used to set the corner of the calibration grid pattern in relation to the corner anchor points. They are measured in mm. This will define the overall size of the calibration grid.

Similarly,

Maslow_calibration_size_X: 10

Maslow_calibration_size_Y: 9

Define the number of points in the calibration grid. The points will be spaced evenly between the corners.

Maslow_tlX, Maslow_tlY, Maslow_trX, Maslow_trY, Maslow_blX, Maslow_blY, Maslow_brX, Maslow_brY

Define the (X,Y) coordinates of the anchor points. For simplicity we define that the lower left point is always (0,0) and the lower right point is (0,__). The automatic calibration process will always produce points where this is true, but any numbers are valid.

Similarly,

Maslow_calibration_size_X: 10

Maslow_calibration_size_Y: 9

Define the number of points in the calibration grid. The points will be spaced evenly between the corners.

The directions are defined in relation to the machine with the power cord hanging down as shown in the picture to the right.

Maslow_tlZ, Maslow_trZ, Maslow_blZ, Maslow_brZ

These define the vertical spacing between the anchor points and the position of the arms when the machine’s internal z-axis position is zero. (We need to add a button for homing the z-axis…it is currently missing). Generally you don’t need to mess with these.

Maslow_Retract_Current_Threshold: 1300 sets the threshold to be used to detect when the arms are fully retraced. If your arms are not retracing all the way when you press the “Retract All” button try increasing this value. The maximum is 4000.

Maslow_Calibration_Current_Threshold: 1300 sets the tension used when taking measurements during the calibration process. Generally not a good idea to change this one.