First of all, thank you to anyone who takes the time to read this post. As you can probably tell once you start reading, programming is not my strong suit. This is my first CNC/programming project. If anyone can save me from giving up and driving my nearly completed table to the dump, I’d greatly appreciate it.
Here is my setup: Raspberry Pi Zero 1.1 (I’ve read some issues regarding this and I’ll address that)
ADAfruit Stepper Motor HAT for Pi
The motors are connected to the motor mount terminals on the adafruit HAT with a separate power supply that I purchased from V1 engineering that came with the stepper motors. This is my first project with anything CNC related. Am I missing crucial hardware to make my table run? I ordered a Raspberry pi 3+ and I am debating swapping out the pi zero to see if that solves my issue. If so that’s an easy solution. Do I need to add cncshield or drivers? I assumed the HAT connected via GPIO would suffice but again, this may be laughably incorrect.
I’ve followed all of the instructions here in the forum and the guide posted. I’ve run into errors along the way and have resolved most of them. On the Pi zero, I was only able to open cncjs. Rarely would octoprint work for me. I think that’s just part of the pi zero limitations. I would see the serial port connection and no matter what I did, I could not get CNCjs to home, send gcode, etc. I installed ADAfruits blinka library and if I sent python code through the ssh terminal, I would hear clicking from the sandtable, the ADAfruit HAT was flashing but nothing was moving. Am I missing a config file here to make it actually move?
I have tried flashing this image multiple times. I have noticed issues with node/npm but I was able to find unofficial builds of node/npm that were compatible with cncjs and even though I would see its ‘connected’ still nothing would run. Am I missing a config file?
Thank you everyone in advance. I feel I must have overlooked something. I’ve been trying at this for two weeks and looked at the forum extensively and have hit a wall. Thanks again everyone!
Welcome to the community!
Have you followed this “Learning” from Adafruit? One thing I see is that this setup is not running a version of Marlin, which is the most common CNC firmware that we discuss on this forum. There is no G-Code interpreter on the board, so I’m not sure if CNCjs sending data is likely to have any effect.
That particular board uses I2C and doesn’t drive the stepper motors directly with Pi GPIO pins so there is a need to translate the Gcode into movement and then send the steppers specific sequences of pwm counts that result in the correct movement.
If you REALLY like programming this can probably be done. If you’d rather get the system running I suggest an Arduino with a CNC shield, that can be programed to run Marlin. It’s a known working solution and probably isn’t that expensive.
The Mega Arduino costs $20 and the Shield with drivers is $11.
This is a very hard way to control it.
Use the pi for the high level stuff like running cncjs and octoprint. But leave the cnc control to a dumb microprocessor. And don’t try to reinvent the wheel. The firmware available for these small boards is robust and thorough.
You need something that can run grbl, marlin, or fluidnc. It has to support corexy, 2 motors and 2 endstops. Configuring some of these will be tricky, but nothing like trying to get a good python script with the stepper drivers directly.
All of those controllers will have a usb serial input, so either pi can control it through the usb.
There have been some more direct pi control projects. But I don’t know if they support your hardware.
First of all, thank you for responding so quickly! I did follow that learning and was unsuccessful.
Your post is extremely helpful. Once I saw the “v1pi” name I mistakenly started looking for cnc shields and found a HAT compatible with the pi thinking this would work. I realize that is what led me down the wrong rabbit hole. This makes a lot more sense and I’ll just avoid the headache and swap these out later this week and give it a try.
I understand I am completely missing the hardware to get this project going. Back to the drawing board I really appreciate the support in this forum. Thank you!