Help restarting MPCNC build - firmware, control and, orientation

I have an MPCNC project I am trying to restart after a long break (various excuses including a move). For reference, the Burly version came out while I was printing so I have a mix of parts. I think I’m going to go ahead, not start printing Primo parts :wink:

I have the machine loosely assembled. I remember squaring the z axis I think, but everything else is still loose, not even attached to the table (that’s one of the issues I’m working one - the rolling table it’s on doesn’t fit through the door at the new place - resolvable).

I’ve been reading documentation, forum posts, googling, and watching youtube videos and feel like I’m chasing my tail a bit with all the information and options.

The main issue I’m struggling with is firmware/software/control. I have a RAMPS board and was planning on dual endstops. I have a replacement LCD control panel for my Ender 3 that I thought I was going to use, at least to start, but I think I might be missing a cable (I have one 10pin cable for the LCD - photos I have looked at have 2). I have a Raspberry Pi 3b available and an old laptop I could use.

Although I would like to have a fancier setup eventually, what is the fastest, easiest way to get the machine moving and build some momentum? I think it would help keep the momentum if I could make the machine or even just the stepper motors move. I’m not even clear on which firmware version I should download :confused:

Build details:
I believe I have burly parts in the middle and previous version corners and rollers
Dimensions 30" x 24" machine/conduit dimensions
RAMPS/Arduino stack
Dual end stops
Dewalt 660 router
salvaged cable chains and E-stop button I am hoping to use
5.5w 450nm blue laser future add on (laser details)
Raspberry Pi 3b for future Octoprint?

1 Like

one more hopefully easy question: Which was should the router be facing?

FWIW, mine faces the opposite way but I have no idea if that’s necessary or has just become ‘convention’.

Opposite way as in front left, or back left?

Front left

Thanks!

Actually, looking at the photo again, your machine looks square? If so and you rotated it 90 degrees clockwise you’d have what seems ‘normal’ orientation (0,0 down/left) and since the steppers aren’t mounted/connected wouldn’t even have to change any wiring (assuming I’m not forgetting any other part of setting it up)…

No, not square, 24x30". I just swapped the center rails and rotated the center, just to realize the side rails need to be swapped as well. Luckily it is only loosely assembled so if this is required it isn’t a huge deal.

In terms of getting things operational as quickly as possible, here’s what I’d do:

  1. Arrange the axes as desired. I’d rotate the machine 90* clockwise from the above photo and call it done, but you can swap the conduit lengths around if it is important to you that the machine X be longer than its Y - this is purely personal preference. Get the machine frame connected to the table top as squarely as you can. Add the motors and prep the belts, but I’d hold off on zip-tying the belts in place until I’d checked motor movement is correct.

1.5. Print yourself a pen holder. You’ll want it for running the Crown Test. @vicious1 designed this one, but I like this variation that includes the option of a built-in Z probe.

  1. Get the motor wiring done. If you’re eventually going for dual endstops, each motor gets run direct to one of the motor drivers on the RAMPS board, so you’ll want to decide where your control will be located.

2.5 You can go ahead and add the endstops at this point, or they can wait until the rest of things are moving. The instructions make them sound a little scarier than I think they really end up being. They are not required to get the machine operational.

  1. Follow the directions here to get the RAMPS board set up. It includes a link to the firmware repository, I think this is what you’ll want.

  2. If you’re running Windows, you’ll want to set up PlatformIO to flash the firmware to the RAMPS board. Apparently path lengths are now too long for the Arduino IDE on Windows to manage.

  3. Judging from the photo, I think you’re right that you’re short one 10-connector cable for the display. You should be able to get replacements online, I think the last time I ordered from Amazon to get longer ones than came with my kit.

  4. While waiting for the replacement LCD cable to come in (or even before ordering them), download the V1Pi image and try it out on your Raspberry Pi. You may decide you like CNCjs better than the LCD panel anyway. Connect the RAMPS to the PI with a standard A-B USB cable. This should let you run the machine and fine tune the motion parameters even if the LCD isn’t operational yet.

  5. Run the Crown Test. Claim Victory!!!

From here, it’s up to you what additional tools you want to get running.

4 Likes

Thanks, that sounds like a solid plan. I was confused about whether I needed PlatformIO. I looked on Amazon and didn’t like the Idea of paying $10 for such a small part, maybe I will find the second one while trying out the Raspberry Pi :slight_smile:

I assume I can play with the dual endstop version before I finish wiring the limit switches? Just don’t ask it to autohome?

Correct - as long as you don’t home it shouldn’t matter if the switches are wired in or not.

I have burly leg locks, lowers, and trucks. I’ll send them to you for the price of shipping if you want.

1 Like

That’s is all that Tom. Just to add to the confusion, the software you linked will build in arduino for windows. But platformio is where everything is going, so it is a good choice anyway. I don’t know how long we can keep the arduino build going.

1 Like

Thanks for the offer, but I have all my parts and a 3d printer I like.

1 Like

Ok, I’m at #6 above and I can’t get the steppers to move. In CNCjs I can see it detects the arduino (the options under Port change when I plug it in), but I can’t get the steppers to move and can’t find any good troubleshooting info specific to RAMPS and Marlin.

Maybe I will just flash the firmware again. Is there a way to test whether that was successful … without the LCD? (I have a cable now, but realized I also need an adapter)

You can definitely test the firmware without a screen, but you need some software talking to it on the computer (or from the pi). cncjs, or repetier host can connect from another computer.

Before we give up on the pi though, make sure you have the firmware set right, you don’t have “hardware control” enabled and you have the right baud rate (should be 250k for Marlin and 115.2k for grbl).

I may be biased, because I don’t use windows and I use Linux as my desktop, but there is not much that can go wrong with the pi.

ok, thanks. I think the pi is working, I just don’t know what settings to use so that is helpful. I already like it better than the little LCD on my printer and I don’t really kow how it works and I haven’t got anything to move on my machine yet. I reflashed the firmware on the arduino and got the success message x2, so it seems like they just aren’t talking to each other. I have tried a few settings with communications and the most I seem to get is G91 in the console. Maybe I’m just not understanding how CNCjs works. I’ve mostly tried to move/jog it with the XYZ +/- buttons on the right.

Oh wait, that might have done it. I had tried lower baud rates, but didn’t notice there were higher ones than the default. There seems to be some communication going on now.

So it looks like it is talking now, but still not moving

CNCjs 1.9.20 [Marlin]
Connected to /dev/ttyACM0 with a baud rate of 250000
RB)#echo:start
Marlin 508D 2.0.7.2
echo: Last Updated: 2020-10-15 | Author: (V1 Engineering, Ryan, 508D)
echo:Compiled: Nov 10 2020
echo: Free Memory: 3373 PlannerBufferBytes: 1488
DIGIPOTS Loading
DIGIPOTS Loaded
DIGIPOTS Loading
DIGIPOTS Loaded
echo:V82 stored settings retrieved (649 bytes; crc 36779)
feeder> G91
ok
feeder> G0 X-0.005
ok
feeder> G90
ok
feeder> G91
ok
feeder> G0 X-0.005
ok

feeder> G91
ok
feeder> G0 Y5
ok
feeder> G90
ok
feeder> G91
ok
feeder> G0 Y-5
ok

Those oks are from the board, so it is talking alright.

0.005 is in mm, and you won’t be able to see moves that small. The Y-5 might, but it is negative, so that may not be allowed.

Have you gotten it to move through other devices?

No I haven’t got it to move any other way, this is my first attempt. I noticed the 0.005mm thing and upped it to 5 and made more attempts than I copied and pasted. Just tried a few more making sure they were + and nothing.

Two things I can think of are that I wasn’t confident I had the right specs for my steppers so set the stepper drivers at the recommended 0.7v rather than the 0.9v that should have been possible, but I understood this would mean they just ran a little slower/cooler. Also, my power supply had two 12v outputs so I ran them to the two inputs rather than the jumper that some people used.

Can you post some pictures of the control board and the build?

0.7V should be fine, and it looks like it is talking to Marlin all right.