Snapmaker 2.0 (A350, A250, A150) tool libraries, machine profiles, post processor...

Overview

Snapmaker 2.0

On this repository I'm adding some machine configurations, tool libraries and post-processor to use the Snapmaker 2.0 A350, A250 and A150 CNC module with Fusion 360.

Inside the directory Fusion 360 you have all the needed files.

I'll try to keep all my improvements and additions here to be used by anyone who wants them.

All of this is based on my Snapmaker 2.0 A350T, but many things should be compatible with other models such as tool libraries, post-processor, etc.

Background

After being surprised by my wife's acquisition of the SM2.0 A350T, I started doing some 3D printing and laser engraving and kept postponing the CNC module as I had never used anything like it.

Sometime later I decided to give it a go and using Snapmaker Luban revealed challenging and limiting. I've decided to try Fusion 360 as everyone was talking about that software, and in a few hours, I was able to do what I had been trying for days. I committed to Fusion 360 as my software for the Snapmaker CNC module.

Limitations

The more I worked with it, the more problems I was running into.

The available tool library didn’t match the tools I had (purchased with the machine), the post-processor would make some weird stuff that was causing me problems, had me break some clamps, pieced of stock wood, tools, etc...

Below a small list of the things that I tried to fix when I started working on the post-processor:

  • Before starting the CNC program, right after setting the work origin on the machine, the tool head would go to the starting point in a straight line. This means that if the stock wood was near it would collide with it as it would not raise the Z-axis in advance, damaging it and breaking tools.

  • I could not add a pause between tool paths to be able to do some clean up and to check the work progress. It was still scary for me to leave the machine running for six hours trusting all was good, and so, having it pause at specific points in time was reassuring.

  • By the end of every CNC program, the machine would travel at high speed to the work origin before raising the Z-axis. This had me breaking many tools and clamps.

CNC Experience

Many of the problems I was (and some I still am) facing can be caused by my inexperience in CNC. Before the SM2.0 A350T I had not had any contact with G-code or CNC machines since a class in school, 20 years ago where we learned the G-code to make a square with rounded corners by hand...

Please take that in consideration. All my learning and all my improvements are based on this lack of experience, and my need to have things working in a way that suits me better (as far as I know).

Journey

While improving the tool library by measuring them by hand, I felt the need to improve the machine settings, and then to make a post-processor that was more reliable for my needs.

This got me digging around, learning supported G-code commands on the Snapmaker, learning about Fusion 360 post-processors, and eventually, I decided to create a completely new post-processor.

Decision

With the decision of creating a new post-processor, I've also decided to share this with others to help anyone that could be struggling as I was on the very beginning. Because of this, I've tried to make the post-processor as readable as possible, I added as many comments as I could, and I've implemented all features that I can (and may continue to do so).

I've also tried to be as detailed as possible on the machine configurations and I even added pictures of the machine with and without enclosure to make it more beautiful.

Development Passion

Even though I had pretty much zero experience with CNC, I had always been a "software programmer" (aka: a guy than can do some programming) making small utilities for a daily basis, for work, school, or home.

It all started in my dad's ZX-Spectrum 48K and it went from there to GW Basic, QBasic 1.0, 1.1, 4.5 and 7.1, then to Visual Basic 3, 4, 5, and 6, VB.NET, some PHP for some web experiences, C#, and now, apparently, JavaScript.

Because of this, and on the process of learning about Fusion 360 post-processors, I've implemented some things not because I needed them, but because they were possible, they were a challenge, and someone else may find them useful.

Resources

To make this possible I had searched many hours on the internet. I have seen hundreds of YouTube videos about Snapmaker, Fusion 360, G-code, post-processors, and so on...

But there are 2 resources I was constantly going to:

Disclaimer

As I mentioned above, I had close to zero experience in CNC. All this work was developed with as much care and attention as possible within the limits of my knowledge and limited experience.

So, I have to say it, USE AT YOUR OWN RISK.

I tested this as much as possible and I'm working with this post-processor on all my CNC programs with zero problems, but I'm sure could not test everything to the absolute limit. There are many types of milling in Fusion 360 and I'm only using a few of them.

I recommend that you post your milling both with your current trusted post-processor and with this one and compare the output. By selecting the Write extra comments and Write warnings as comments options pretty much all lines will have a comment, except for the ones that are not changed by the post. This should give enough info to understand what's going on.

Safety, Safety, Safety!

Regardless of all the above, please do use all safety measures. If you have the enclosure, please use it, and have the open-door sensors active. Don't go around the tool head when it's running, always use the safety glasses and all protective gear, and only change tools observing all safety recommendations. Even not being mandatory, an emergency button can be your best friend! Can't count the number of times I regretted not having one. It's a must! Trust me! Do as I say and not as I do!

For a complete list of safety measures, please visit Snapmaker site for Snapmaker Safety Guidelines

Buy Me a Coffee?

If you want to support my work, feel free to buy me a coffee via PayPal.

Donate via PayPal

You might also like...

Post directly to your Steemit from Obsidian

Post directly to your Steemit from Obsidian

Dec 22, 2022

The same as nx-post-mikro

The same as nx-post-mikro

NxPostVscode This project was generated using Nx. 🔎 Smart, Fast and Extensible Build System Adding capabilities to your workspace Nx supports many pl

Apr 26, 2022

An action intended to run on pull request and post a comment summarizing any changes to DevCycle variables.

An action intended to run on pull request and post a comment summarizing any changes to DevCycle variables.

Overview With this Github action, information on which DevCycle features have been added or removed in a code change will be shown directly on each Pu

Jun 14, 2022

Disallow form tags without explicit method="post"

Disallow form tags without explicit method=

eslint-plugin-require-form-method-post Disallow form tags without explicit method="post" Prevents sensitive data appearing on URLs Allow form tags wit

Apr 24, 2022

A social network that simulates a personal blog, where people post "What's on your mind?". Tweteroo is a Twitter clone.

A social network that simulates a personal blog, where people post

Tweteroo About A social network that simulates a personal blog, where people post "What's on your mind?". Tweteroo is a Twitter clone. 🔨 Features ☑️

Apr 13, 2022

A secondhand marketplace where you can post items for sale, interact with sellers, save items you are interested in.

A secondhand marketplace where you can post items for sale, interact with sellers, save items you are interested in.

Curbside - the secondhand market place that's actually pleasant to use Post items for sale, interact with sellers, save items you are interested in. A

Sep 9, 2022

A minimalist Javascript library to perform AJAX POST and GET Request.

minAjax.js A minimalist Javascript library to perform AJAX POST and GET Request. #Check Pretty Documentation http://flouthoc.github.io/minAjax.js/ #Us

Apr 27, 2021

This project is built with JavaScript, Webpack, HTML & CSS, Leaderboard api. When user clicks on Refresh button it hits the api and responds with the data, The user can also post data to the api

This project is built with JavaScript, Webpack, HTML & CSS, Leaderboard api. When user clicks on Refresh button it hits the api and responds with the data, The user can also post data to the api

leaderboad Description the project. this project is about the leaderboad i did during Microverse to build a website for adding Data to the API and fet

May 30, 2022
Comments
  • ACTION_PAUSE_RAISE_Z	 Raises Z too high and very slow

    ACTION_PAUSE_RAISE_Z Raises Z too high and very slow

    Describe the bug The command ACTION_PAUSE_RAISE_Z raises Z to 9999 ->

    // Raises Z axix to Z9999
                    writeBlock(gMotionModal.format(1), zOutput.format(9999), feedOutput.format(200));
    

    Could we reduce this to the max Z height that Snapmaker is capable of? Luban would benefit from it, as this currently breaks the preview and the time calculation on the machine itself.

    In addition, could we increase the speed before the Z raise? I think at the moment it uses the last feedrate set.

    However, thank you very much for sharing this! This already helped me alot!

    opened by Ksdmg 1
  • New Manual NC Action

    New Manual NC Action "Z_AXIS_OFFSET"

    Is your feature request related to a problem? Please describe. It's annoying and time consuming to measure tool lengths manually with the calibration card. I'm looking for a neat way to measure tool length and calibrate them easily.

    Describe the solution you'd like My idea is to use something like this: https://www.sorotec.de/shop/Werkzeuglaengensensor-Sorotec-8mm.html and connect it with a LED. Once the Z is lowered to the point you need, the switch closes and the LED lights up. Using the knowledge we have of the tool length sensor, it might be possible to add a manual NC command to Fusion to offset the Z by this value. So for example, I'm setting my origin to: X:150 Y:30 Z:68 Manual NC Action "Z_AXIS_OFFSET -8" is being added and converts it to: X:150 Y:30 Z:60

    This could be extended for a toolchange. If my first operation is an adaptive clean with a tool that has a 50mm length, I'm calibrating the Z with "Z_AXIS_OFFSET -8". Then I'm changing over to a tool with 40mm length and I would add "Z_AXIS_OFFSET -18".

    opened by Ksdmg 7
Owner
Nuno Oliveira
Nuno Oliveira
Attempt at remaking Chatsounds processor in JavaScript.

sh A chatsound processor written in JS. Installation Run npm install github:NonagonNetwork/sh to install. Browser Preface :echo, :lfopitch and :lfovol

Litterbin Collective 7 Dec 25, 2022
Solana blockchain candy machine app boilerplate on top of Metaplex Candy Machine. NextJS, Tailwind, Anchor, SolanaLabs.React, dev/mainnet automation scripts.

NFT Candy Factory NOTE: This repo will prob only work on unix-based environments. The NFT Candy Factory project is designed to let users fork, customi

Kevin Faveri 261 Dec 30, 2022
Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

null 17 Sep 24, 2022
A free and open-source point-of-sale (POS) system for retail and wholesale businesses with support for multiple branches, stockkeeping locations, POS profiles and price lists.

Note: This is a beta version of the software. You are advised to proceed with caution! Overview A free and open-source point-of-sale (POS) system for

Mwai G 2 Jan 27, 2022
Admin portal for the community-profiles web app

cp-admin Admin portal for the community-profiles web app. Created with Strapi and postgresql backend. Hosted with Azure App Services. Strapi Instructi

Grant Moss 3 Nov 4, 2022
Save your favorite GitHub Repos/Profiles Live

Save your favorite GitHub Repos/Profiles Live Getting Started by Fork and clone this repository or simply git clone https://github.com/ttran293/useful

Thanh Nam Tran 3 May 2, 2022
📊 AlphaSwap subgraph - (Blocks, token info, profiles, pricing data, LP metrics, etc...)

AlphaSwap Subgraph AlphaSwap is a decentralized protocol for automated token exchange on the KCC network. This subgraph dynamically tracks any pair cr

Brandon 3 Jul 9, 2022
A pretty cool org-mode -> interactive blog post tool

Radish A kinda-cool org-mode -> interactive blog post tool written with and for Clojure(script). Here are two example posts created with this tool: Ra

adam-james 46 Dec 28, 2021
Full dynamic tool kit that is capable of deobfuscating and producing a javascript representation of Shape's Virtual Machine obfuscation

Shape Security Decompiler Tool-Kit This tool kit is capable of dynamically deobfuscating all versions of shape security's virtual machine interpreter

null 25 Dec 15, 2022
Hexo-backlink - This plugin is for transfer Obsidian-type backlink to standard hexo in-site post link.

Hexo-Backlink A plugin to convert backlink in .md file to in-site link. Install npm install hexo-backlink configuration Add backlink:true in _config.y

null 8 Sep 27, 2022