Closed: [Beta] Makerverse (previously known as "CNCjs") Support for **All Maslow Editions** w/ Non-Destructive Edge Calibration

Update Oct/Nov 2020 : New thread here:

https://forums.maslowcnc.com/t/public-release-thread-makerverse-is-a-universal-controller-app-for-cnc-3dp-and-includes-maslow-upgrades/15085/2


tl;dr: I’ve been working with @MakerMadeCNC and @Metalmaslow to create a single app that can support all different versions of Maslow. I’m looking for beta testers before pushing it out to the whole community.

Some time back, we discussed the possibility of using CNCjs to replace WebControl once the M2 was released. To centralize efforts, the goal is to have all the different Maslows use this one piece of well-designed software (cc @Orob, @madgrizzle ) . However, the maintainer of CNCjs is indisposed, and the MakerMade folks have created fork of CNCjs called “Makerverse” with his blessing.

Hardware Setup

For original Maslow users (Arduino Mega), you need to be running Holey firmware (51.28 or later). The magic all happens on the CNCjs side, where a custom Maslow controller translates the necessary codes (yes, it even supports “Work Positions” being different than “Machine Positions”). For Arduino Due users (M2), you’ll need to upgrade to the firmware in the Due firmware repository (see the instructions at the top) – which basically implements the same advanced kinematics which the Holey firmware had.

Software Setup

Look at the Makerverse repository. Carefully read the README, and choose from the appropriate option in the latest release.

  • A pre-built Raspberry Pi image (just flash it and go!)
  • A Windows installer
  • A MacOS installer
  • A Docker container
  • A systemd service for Linux servers
  • … if all else fails, the launch script should work on all devices (run bin/launch --help)

Once the app has started and loaded in your web browser, you’ll be on the Home screen. Create a new workspace, choosing the correct port and baud rate. If the workspace is not created, go back to the Hardware step and make sure you’ve installed the correct firmware, and that you’ve chosen the correct baud rate.

When the workspace opens, it will automatically detect which Maslow you have:

If you did not change firmware or frames (i.e., original Maslow already had Holey firmware), you should not need to re-calibrate. It should “just work.”

New Calibration I’ve implemented a non destructive calibration technique. You get to it by pressing the “Bullseye” icon on the Maslow widget. It’s actually just Hoely calibration… without the holes. You measure from the edge of the sled to the edge of the stock. I’ve started to document how it works here.

Once you’ve entered the Edge Calibration results:

UI I have several CNC machines that all run off the same Raspberry Pi. So I got a bit carried away and started upgrading the Makerverse UI. It now supports a tabbed interface, for multiple workspaces, as you saw above. Each workspace maintains its own settings and connection to a CNC machine.

It also automatically parses out the Grbl settings from the controller at startup. This means it can show detailed information about any Grbl device without knowing anything about the firmware.

Testing
So far, I have tested with:

  • My original Maslow Jumpstart Kit (Makermade)
  • An Arduino Due with a MetalMaslow shield
  • An Arduino Due with a M2 shield

To demonstrate the accuracy of calibration with the Maslow Due’s new firmware, calibrated with the new technique, cutting in the bottom 1" left corner.

11 Likes

Any chance to add the TLE9201? Happy to test with TLE5206.

1 Like

Not familiar with this build. Could you say more about it? What firmware does it run? What Arduino?

As long as it can run one of the two firmware versions from above, it should work.

TLE9201 is the replacement for the TLE5206 chip which is being discontinued. Eastbay is working on a new board that uses it. Blurf also made some prototypes. It is only in the hands of a few people right now.

The Due was firmware was made before the implementation of the 9201. my question here. https://github.com/ldocull/MaslowDue/issues/14
Might be the only one of few a board like this and PID needs to be tuned. Will reach out to the originator and get the approval for sharing, but from the comments it seams to be compatible with the Due.

Gotcha. Well, my Due firmware branch I linked to is open to your edits, which would be much appreciated. I wish I could help, but I’m not sure what good I am without a board to test with. Sounds like it should work fairly easily though.

1 Like

Let me reach out to @blurf if he is OK with this. I will send the TLE 9201 motor shield to you. My guess is that I’m to old to learn PID tuning.

1 Like

@zaneclaes clearly you spent some time on this. It sounds amazing. It will be interesting to see if I can run both maslow systems off of the one rpi, with the third there as a test dummy. I just received a 9201 board with a due on the way and I have an M2 controller so I’m in a good spot to test this out. I hope to be in the test phase on Saturday with my new metal sled that just got a z axis attached. Is there an intro post on a setup walk-through for a due with makerverse on how to do it or is it pretty intuitive?

1 Like

This is what I do. Actually, the 3rd is a SainSmart. See the 3 tabs in the picture.

To get the workspace (machine) to appear, make sure you read the bit in my post above about .cncrc. For calibration, click the link to the Google doc – it explains homing, chain lengths, etc. That part is still rough. But everything else is intuitive. It works like any other CNCjs machine, so any CNCjs tutorial should work for you.

Thanks. Maslow is my first cnc, so I’ve only ever used groundcontrol and then webcontrol, which has become my friend. This will be a change. Thanks for your time to make this go! It will be interesting getting my custom webcontrol features into cncjs now. Time to fork it and learn js.

This is awesome! Cncjs is a great option to move forward with.

Don’t worry – CNCjs is very easy. I found it extremely intuitive. The key difference is the difference between “machine position” and “work position.” The latter is a new concept. You can define your WPos origin anywhere on the stock without changing your MPos origin from the center. This way, you can set up a print anywhere and have a “relative coordinate system” to that origin.

Definitely. My next project will be enabling automatic turning on/off of the router and shopvac, like I had with WebControl. Let me know if you have any other ideas.

Thanks! I’d especially like your feedback, given your knowledge of all the underlying decisions that went into both firmware and WebControl. There are still a few things I’m finding I missed, but overall, I’m successfully cutting with both machines at a high precision.

1 Like

I’m really impressed you got cncjs to work with the existing firmware. big kudos on that…

I like the edge-to-edge measurement technique (I assume there’s a new setting for sled radius, or is that something that’s entered on the calibration page?) Calibrating without cutting is a big step forward. One thing to keep in mind is that the user needs to precisely measure the size of the board they are measuring against and enter that into the bedWidth / bedHeight settings. My frame had a full sheet of plywood that was 48.125 inches by 96.25 inches… They aren’t necessarily 48x96. It wasn’t critical for the previous methods, but certainly critical with edge-to-edge.

One of the things that ground control and webcontrol tried to do was to make CNC accessible. Anything that can be done to make it simple to configure the maslow in cncjs will go a long way. For example, I added a ‘quick configure’ page with images of the options in webcontrol. I really think something like that for cncjs would be good to have (i.e., a guided first-time configuration) because people don’t RTFM and make mistakes. Also, if there is a way to have a graphical interface to the settings, rather than manually issuing $ commands, that would be good.

FYI, if it helps, there’s a prebuilt image of octoprint/cncjs available for the RPI. I’m sure it an be modified to support the makerverse version.

Just blown away, great job! Retiring webcontrol would NOT hurt my feelings :slight_smile:

3 Likes

I looked into what was done implementing the TLE5201 added support for TLE5206 style shield · makermadecnc/MaslowDue@c502c9f · GitHub and this is way out of my league to even attempt the implementation of the 9201. The over current detection is something new that I have no chance to get my head around it.
For now I’ll stick with the 5201. Hopefully the design files of the 9201 motor-shield will show up soon and with more of them around some genius will integrate them. CNC is not for the impatient, some wise man said here once in the Forum :slight_smile:

I was just starting to get used to webcontrol. What is the benefit of cncjs? has it been used/tested on the TLE5206 boards? Is it worth it to upgrade to the new DUE board and why?

he made it so you can use either the old or the new controller with this!! No need to upgrade your electronics unless you want to. This is a huge leap! I had just gotten used to webcontrol and was learning its finer features, but it looks like it is now time to learn makerverse.

@zaneclaes what changes to the mega firmware did you have to make to get it to work?

I’ll be a tester for you. I have webcontrol running on holey calibration. I’m afraid the instructions are a little bit more advanced than my skill level (I’m the “how-to install stuff for complete newbs” guy). Any chance you could elaborate on how to install this for the V1 using a rpi? I’ve used GitHub a tiny bit and rpi commands even less.

1 Like

I’m confused, What about the cutting off the 5V not to destroy the Due?

and the missing Eeprom?

Edit: Ignore the board on the left down. That is spindle speed control.

1 Like

I’ll try it as well and plan to contribute to a 101 guide for the rest of us to get started.

@Gero,

For original Maslow users (Arduino Mega), you need to be running Holey firmware (51.28 or later). The magic all happens on the CNCjs side, where a custom Maslow controller translates the necessary codes (yes, it even supports “Work Positions” being different than “Machine Positions”)

It is my understanding that you keep the old board on the mega and go to the holey firmware which will work, so you don’t need the due.

2 Likes

Thanks, @Orob, that makes me a tester as soon as the temperatures go down a bit.