Marlin 2.0!

Agreed, this is the moral equivalent of a rebase, just has to be manual if they have done serious refactoring.

Then in the future, assuming they are no longer renaming variables all over the place, it should be easy to transfer the changes to an updated underlying version.

Yes, that’s exactly the kind of things I’d like to see on our CNCs.
Pretty sure it’s easy for us to do hardware wise, we probably already have everything and don’t really need the fancy camera system, so it should work without any hardware mods in our case, except of course a nice screen and a more powerful board than the classic Arduino/Ramps. The only real mods to do are to create a firmware that would be able to do that (easy to say, I know…)

That would really be awesome, I can think of a lot of things that would beneficiate from it:
-Some manual CNC work for simple operations like pocketing, simple straight cuts, surfacing, precise drilling…
-Possibility to quickly draw and cut some not too intricate designs
-Automatic waste board surfacing
-Possibility to download and directly cut some designs from the community
-Having a default tool bank, so if you select a tool from it the machine already has all the correct setups for feeds, speeds, etc.
-Basically guide the user through the process, with some alerts and reminders at each step, little videos of how to, stuff like that (“did you secure your material”, “set your origin”, etc.)

That would really lower the bar for most beginner users. No idea if this is actually difficult to code though.

So If I was to start over by re doing the firmware on my board I wold just miss out the step for installing u8glib frommt he below guide
https://www.v1engineering.com/marlin-firmware/

The screens have more than enough processing power to do this, and they talk over serial, so all the mega has to do is listen to gcodes.

Sounds like I need to port sandify over to an lcd…

You still need platform io to compile the firmware though, even if you copy to SD card. Klipper is so much easier that way, since the config file is plain text, and a reboot loads any changes. Something Marlin should move towards.

The best one I can think of would be a button to air trace your outer tool path, that way you do not need to add a separate step in cam!

Yes, I have the board sitting next to me at the desk ready to remake the instructions but it is stupid hectic around here for me right now. I think, we can even skip that step for all the ultimachine boards now!!!

Or into thev1pi somehow. Doing things from a phone or tablet would be epic!

I just saw a quote from thinkyhead I believe and they do have plans or aspirations for something along the line of that or repetier firmware I believe. I think on that front they have been overwhelmed with new boards that do not adhere to any standards so everything is just a chasing new boards. A few years ago all the boards where just a variant of the ramps and things were simple now the imports are making boards and waiting for Marlin to make them work, sucks.

Keeping git discussions in this thread. I looked at Marlin test system last nigh and apparently so did @jeffeb3 :wink: They do have a fairly comprehensive library of scripts to manage and generate configuration files so I’m starting to like that option more and more.

The only wrinkle here is that Marlin uses Travis CI and they recently removed all Circle CI files from their codebase. Travis is probably a better tool to do the builds because Marlin folks will keep it working for the codebase. Where I’m from there is a saying: If you run with wolves, you better howl with them too. Using Travis CI for firmware may mean that @vicious1 needs to create yet another CI account once the software types in this forum have driven the suggested setup to a more concrete form.

News from Marlin discord: 2.0.1 is imminent (over the weekend). Last call for patches …

I re-tested Marlin extension to VSCode and it has come a long way. It does hide the most annying sharp edge of platform.io: The need to “hunt” for the correct environment for the build.

Travis is pretty pricey, unless since this is dealing with Marlin it is considered open source, or is it not because the whole project is not fully open?

I tried the marlin vscode extension 2 days ago. I can get it to build or verify but I am not seeing the next steps in flashing. Granted I kinda stopped after I got a few build errors. I have been exposed to so much new software lately it is all getting kinda blurry though.

I haven’t looked deep into their terms of service but it’s more likely than not to be OK. The project is producing open source software that targets a CNC machine. Not all of the boards that Marlin targets are open source hardware either.

2 Likes

I basically did this. Before I made a PR, I wanted to make sure Travis would do the right thing (I don’t trust robots to do what I tell them the first time). So I enabled travis-ci.org to watch jeffeb3/Marlin, and other than some out of sync issues, it worked pretty easily. It’s not the same as the circle-ci pain we went through, because it’s not publishing to gh-pages.

I would hope that we could get pretty far just by getting some representation of our machines in their tests. After that, expanding the tests and making our own CI would be great, and I agree that it’s probably OK. I am thinking the travis-ci definition of open source isn’t CC-NC, but it’s actually public vs. private repo on github. There were some dialogs that were something to that effect. Like, “Looking for your private repo? Sign up for travis-ci.com”.

1 Like

Depends on the board. SKR boards need to be flashed by copying to microSD formatted fat32 and then rebooted with the SD installed, there’'s no USB flash method, at least not initially.

There actually is an USB flash method on SKR v1.3. Well, sorta. The SD slot on the board shows up as a USB stick so one can copy the file there.Then send M997 to Marlin to reset and voila, board updates.

Platform.io even has support for doing the copying part automatically: e.g. on Linux I can get it to build and copy to board like this:

platformio run -t upload -e LPC1768 --upload-port /run/media/anttix/A87B-A154

Few lines of udisksctl magic is required to mount/unmount the drive though.

That’s true after Marlin is installed but if you try it while it’s still on smoothie you have to manually uninstall the smoothie drivers from the PC before the board will be recognised under Marlin. Easier to flash via SD card, at least the first time.

I read somewhere that if you enable printing off of that sdcard, it won’t show up as a usb either.

It does after you unmount it from Marlin side. There is a menu option. I’m sure there is a gcode too.

1 Like

Hi Guys- I need some advice! I am a chemist who has built a CNC running on MACH 3. I use the XYZ to position two discharge tubes into little 16mm vials (250 in a sleeve). Using the “A” and “B” functions, I use two pumps I built using stepper motors, and pump reagents into each vial.
I am redesigning this using MPCNC as a base and Marlin 2.0 on an SKS 1.3, but a bit different gantry. I only need a singe channel for XYZ but need to control the “A” and “B” channels - could be defined as “E0” and "E1- doesn’t matter, but I need to be able to control them using gcode. I can see how to reassign the pins, but can anyone suggest an elegant way to control the E0 and E1? The use o fthe little touchscreen is AWESOME and so much simpler than a full computer- lab space is limited!
THANKS in advance.

2 Likes

You can set EXTRUDERS 2. You need to set their thermistors to dummy values about 170. Marlin does a bunch of stuff with the extruders for 3D printing. You should make sure the pressure stuff and linear advance is off. I haven’t tried this. I’m assuming you’ll be mostly just move to xyz, then send a ln E0/E1 move, then move xyz again.

If you start your own topic, in MPCNC Hardware, I’m sure you’ll get lots of interest.

2 Likes

An interesting subject; I’ve put my thoughts in a new topic here Controlling E0 and E1