So yesterday I decided to finally give cncjs a try. I have a pine64 board that’s been gathering dust…I had originally bought it hoping I could use it in my living room as a media center and for skype/hangouts, mostly skype/hangouts. But skype doesn’t have a version that supports avr and hangouts took me two years to get working only to have lousy performance. Oh well, let’s find something else to do with this thing.
I’ve thought about trying cncjs with it for awhile - but last time I had checked they didn’t support marlin yet…and grbl on mega boards was wonky last time I tried that…I don’t really want to get an uno and shield just to try this. But I see cncjs now has marlin support - so time to try it!
Installing cncjs was pretty quick and straight forward. Just installed nvm, npm and node v6 since I saw something in the cncjs git readme suggesting that node v6 was their preferred option (though other parts of the docs seemed to indicate other versions…readme looked newer though so v6 it is. This probably went smoother for me than it would have a few months ago because I’ve recently been doing a lot of work with node/npm for work - bonus!
ran ‘cnc’, fired up my browser…hey it works! But the board is on ethernet and I’m out of ports in my office…so dig up a usb wifi adapter, configure it…move it all out to my office and plug in my MPCNC’s 3 year old version of Marlin…it works! Or at least seems to.
Loaded up some gcode, lifted my spindle up a few inches and ran the code in the air…all looked good. Doesn’t track as accurately as I’d like but I know that’s a limitation of Marlin and it’s queue. Alright, let’s try a REAL cut.
Mount up some material, zero things out…hit go and…looks like it should be working but machine isn’t moving. Hmm. Spend 30 minutes trying various things…machine still won’t move. What the heck it was working just a minute ago?
Ok, let’s shut down the spindle and my vac and try another air cut. Still won’t go. Hmmm…wait…it’s kind of quiet in here. Oh…probably helps if I plug in the power supply for the MPCNC
With the router and vac going I didn’t notice I couldn’t hear the power supply for the CNC itself. And with the marlin board plugged in over USB the LCD was lit up making me think it was powered up since I don’t normally have it plugged in over USB…Doh.
Ok…everything has power, zero it out. And…go. Nice! It worked. I could get used to this workflow.
Few annoying things I’m not 100% happy with:
- Progress in the browser doesn't track well. But I know this is a limitation of Marlin and how it queues commands. Without switching to grbl don't think I can get away from this.
- I can't seem to direct input values in the MDI, only use the step buttons. Marlin limitation or am I just not understanding the interface? Seems like it lets me input values but then they just disappear. And I know I can send gcode to marlin to position things so not sure why this isn't working.
- Seems that work coordinates aren't supported with Marlin? Or at least I can't figure out how to use them. This was one of the big reasons I wanted to get this going...maybe a newer version of Marlin will help? I'm still on 1.1.0-RC6 built on April 24th two years ago...I know I need to update but the machine works and I haven't had a good way to connect my Mega to a computer without disconnecting it from the machine so been lazy. Now that it's attached to a computer I should probably upgrade. I know Marlin recently made some changes to allow multiple coordinate systems...but don't think it's made it into a release yet so don't know if cncjs can take advantage of it. I could just try grbl again as well I suppose.....