loading

This is my first attempt at an instructable. I hope it helps someone else.

Switches and Lights and fans, oh my...

Please read through the comments for more details.

I bought a CNC machine some time ago and I was never happy with it. It used a traditional parallel port controller and of course no modern computers have those. So it was always a point of frustration. I used an old Pentium based computer and ran LinuxCNC on it for a while but was still not happy with that. So I started looking for another solution. I decided that I would try to put together an Arduino based controller and try to use USB to communicate with it.

After studying that for a while I came to realize the Arduino was just not going to be able to do all that needed to be done on its own. The Arduino UNO just does not have enough memory or processing capacity to process a design file by itself. So I modified my solution and started working on using a Raspberry Pi as my host computer.

I created a Visio drawing of what I intended to do: It didn't turn out that way and the drawing continued to evolve as I learned more. It kept on changing until I finally got my project completed.

I have now built an Arduino based CNC Controller system that uses a Raspberry Pi as its host computer. The Raspberry Pi processes an "nc" file that contains a design that is described in GCode commands that can be understood by the Arduino. I have used a few tools on my Windows 8.1 Pro laptop to design a few simple things (like tutorials in makercam here: http://www.makercam.com/). This is a great introduction to designing things for CAD/CAM and it is really easy to use.

After creating a design that I wanted to use I wirelessly connected to the Raspberry Pi using WinSCP to transfer design files to the Raspberry Pi. You can get WinSCP here: http://www.soft-now.com/listing/123823/WinSCP?did=11055&pid=1&ppd=search,44532390848,winscp20download,e,,c,0,,,&gclid=CJuIkNHds74CFagWMgodpxMAJw. Its great, you can just drag a file from one window to the other to move files between systems. You will have to know the IP address of your Raspberry Pi to connect to it. If you have gone through the initial setup of the Raspberry Pi and setup a network connection you can get the IP address by using the ifconfig command on the Raspberry PI. A really helpful tool for getting your IP address and seeing that your Pi is online is a tool called the Advanced IP Scanner here: http://www.advanced-ip-scanner.com/. Another great tool is Wireshark: http://www.wireshark.org/

I then used Remote Desktop Connection (Remote Desktop connection is part of Windows and should be on your Windows machine. It can be run by entering mstsc in the Run Open: box) to connect to my Raspberry Pi. Otherwise you could use VNC or TightVNC: http://www.tightvnc.com/. TightVNC is what you need to put on your Raspberry Pi to allow you to use Remote Desktop Connection from another machine. I can now run the Grbl Controller on the Raspberry Pi which in turn connects to an Alamode (an Arduino like board that plugs directly into the GPIO connector on the Raspberry Pi and provides automatic voltage level translation. So that the Arduino can communicate with the Raspberry Pi directly. The Alamode also provides Arduino headers to allow for Arduino shields to be plugged directly into it. So I ended up with a stack of three boards that are tightly integrated due to being plugged directly into each other. The Alamode (Arduino) processes the GCode commands from the Raspberry Pi into signals that are sent to the CNC Controller shield to run the stepper motors and passes the various function signals on to the CNC Controller shield too. They can then be accessed from the external world. All is well so far... But now I have to connect these things to the external world.

Step 1: 100% Grbl Compatible CNC Controller

First, I purchased the 100% Grbl compatible CNC Controller shield from: http://blog.protoneer.co.nz/arduino-cnc-shield. I already had an Arduino and intended to use that with the CNC Controller shield and run something on my laptop to control everything. Then I found out that the Arduino would not be able to process an entire design file all by itself. This is due to it not having enough memory to handle more than one GCode command at a time. In fact not all GCode commands are currently completely implemented in the Arduino Grbl software. However, the Arduino does directly interface with the CNC Controller shield and can pass commands to the stepper drivers on the CNC Controller shield without any additional circuitry.

The sets of three yellow jumpers that you see in the pictures set the micro stepping for the stepper motors. The one single yellow jumper selects how the limit switches work. Mine are set up so that when the switch closes a ground is detected (the default). The alternative is to sense a hi when Vcc is selected. That is to say that the limit switch logic can be set to sense a hi or lo, your choice. The two yellow jumpers on the left side of the picture are for selecting which axis the A-axis mirrors (two motors on one axis).

I used polarized headers to connect to the stepper drivers so that I would not be able to plug in my stepper motors backwards - that's pretty important.

The 100% Grbl compatible CNC Controller shield does not actually include any stepper motor drivers. It is only a means of integrating the stepper motor drivers into an Arduino shield conveniently and it works great for that purpose. The CNC Controller shield is designed to use the Pololu type step driver modules like the A4988 stepper motor driver carrier that is shown here: http://www.pololu.com/product/1182

I purchased some from China that were about $4.00 each and appear to be exactly the same (we shall see when I actually try to use them). They came with some heat sinks too but I decided to use the ones you see (from Adafruit) instead of the ones that were included instead. You actually only need to populate the X, Y and Z stepper driver carriers on the CNC Controller board (because the Grbl software on the Arduino only knows about three axes). Unless you intend to use the A-Axis too (for a second motor on one of the primary axes). The CNC Controller allows you to mirror the control signals from X, Y or Z to the A axis by using jumpers. I am not using the fourth axis. I just included the fourth stepper driver carrier so that I would have a spare in case one of the others stops working. Then again who knows what might be in the future?

<p>Hi, first of all congratulations, you did a very good work.</p><p>My question is if I don't have the Alamode shield for raspberry, it's possible to use Arduino UNO, I have seen in new RPI CNC BOARD that just connect 10 pin from RPI, to RPI this pins are I2C and UART I think they are the principals.</p><p>I have your cnc shield (the red one) but I don't have Alamode shield.</p><p>Thanks, I hope your answer.</p><p>Sorry for my English. :)</p>
Yes, you can use an Arduino UNO if you want to. You will still have to use a voltage translator so that the RPi and the UNO can communicate with each other. Its no big deal but it is required that you provide some way for the +5V on the Arduino UNO to work with the +3.3V on the RPi. Otherwise, you run the risk of destroying either or both of the boards. A voltage translator can easily be made with a couple of MOSFETs for each pin that is going to be connected to the other device. You could also use the voltage translators that are provided by Sparkfun or Adafruit or something of your own design. Take a look at these, I think that either one will work.<br> <br> <a href="https://www.sparkfun.com/products/11771" rel="nofollow">SparkFun Voltage-Level Translator Breakout - TXB0104&nbsp;</a><br> <br> <a href="https://www.adafruit.com/products/757" rel="nofollow">Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter - BSS138&nbsp;</a><br> <br> I have attached an image that shows what each of the pins on the new CNC board are used for (it only uses 7 of the 10 pins). The new board that you mentioned has the voltage translators built in and it includes a pre-programmed Arduino Nano in the price. That might be your simplest choice depending on what you are trying to do.<br> <br> As I have mentioned previously, the Alamode board made it easy for me to tightly couple the RPi to the Arduino and the CNC shield. &nbsp;I didn't want to have an extra PCB in my solution. &nbsp;You could easily put the voltage translator underneath with the power distribution board - that is probably what I would have done if I would not have had the Alamode. You could also make your own voltage translator PCB or build a voltage translator on an Arduino prototype PCB.<br> <br> I have to tell you that the RPI CNC board is really nice too. &nbsp;If it would have been available I probably would have gone with that solution rather than what I did. &nbsp;I did not use most of the functionality that is built into the Alamode but I did use the real time clock and the voltage translators.<br> <br> I am in the process of building a new controller using the new board. &nbsp;I will be making a new instructable too but it will take a few more weeks for me to get that done. &nbsp;In the mean time you might want to look at the new card too. &nbsp;It solves the voltage translation problem very nicely.<br> <br> <br>
With a local display you could control the system locally. I personally don't see that as very useful. You could also monitor the progress of your project. That might be more useful but definitely not essential. As I mentioned previously I can completely control and/or monitor my system with my Remote Desktop Connection. I do not have a display on my system locally. I just use my laptop to do everything. I might someday decide to build a pendant to do things &quot;manually&quot;. Then a local display might be more advantageous.<br><br>Replacing the push buttons with touch screen buttons would be an interesting thing to do. The push buttons are physically connected to the Arduino not the Raspberry Pi. So you would have to change the way things are wired up and then you would have to write some code to capture the touch screen button functions press / release / hold (or whatever you need) and then follow that up with some code that would send the captured event to the Arduino to effect the press of the button. Lastly, you would have to write something to run on the Arduino to &quot;hear&quot; the button presses on the Pi. I would suggest that this might be the hardest part as you would not want to interfere with Grbl which is already loaded and running on the Arduino (you might be able to control relays from the Pi to effect the button actions on the Arduino). It would be a substantial amount of work but I think it could be done - you might find some libraries on the Internet to help. I have not researched this at all. It is so much easier to just connect the buttons to the Arduino at this point. The code on the Arduino (Alamode) is already there and works. If you decide to do that sort of thing, I am sure that others would be interested in that too. Good luck with your project.
if i was to add a touch screen would it be wired to Pi or to Arduino
It would be easiest to just plug a touch screen LCD into the HDMI port on the Pi. The touch screen itself would actually get plugged into one of the USB ports on the Pi. I don't think it would be possible to run it with the Arduino - it is already very busy controlling the stepper motors and the spindle and at the same time monitoring the buttons and the limit switches. On the other hand the Pi is not very busy. Don't expect very fast response times on a local display and you will need to monitor the temperature on the Pi with a local display running. Those are the concerns that I had that pushed me towards using a Remote Desktop Connection. Hope that helps. I probably would have put a local LCD/Touchscreen on my build if I would have had a bit larger enclosure.
<p>2 questions, one is silly and one serious.</p><p>Silly Question:<br>Would you have put an LCD for the cool factor or do you so an actual need?</p><p>Seriously though:<br>I was curious if the push-buttons can be replaced by touch screen buttons? </p><p>BTW, thank you for your prompt reply. You rock my friend.</p>
<p>wow!!!! very,very nice.... appreciate the way the wires were harnessed, the placement of the boards...thumbs up!!! </p>
Thanks for your omments.
I am also new to these electronics; so I am sorry if my questions are dumb.<br>1. would the Rasberry Pi be able to control a CNC through a breakout board and into stepper motor boards without using an arduino? <br>2. you mentioned in another comment that there was a new controller board that takes the place of the Alamode. Can you post the link for it?<br><br>Thanks for posting this awesome build.
<p>There are no dumb questions.</p><p>First - This system is based on Grbl. You can learn more about Grbl at GitHub Here: <a href="https://github.com/grbl/grbl" rel="nofollow">https://github.com/grbl/grbl</a>. Grbl actually runs on the Arduino. The part of Grbl that runs on the RPi is the Grbl Controller. It is a G-Code sender. The Grbl Controller takes a design file and breaks it into individual Grbl statements that are then passed on to the Arduino where Grbl interprets the statements and causes the Arduino to generate various electrical signals which are sent to stepper motor drives to cause motion or other functions to occur. It is significantly more complicated that but basically that is how it works.</p><p>I am not aware of any other system that would run on something like an RPi without using an Arduino or something like that to process the Grbl statements. It is very difficult to run real time code (to control the stepper motors for example) on a time slicing device like the RPi. I have read about people who have wanted to do that sort of thing but I am not aware of anything like that at this time. The closest thing to that would be LinuxCNC but I do not believe that will run on an RPi. You could do it if you could get a real time operating system for the RPi and then wrote something equivalent to Grbl to process the G-Codes. Electrically it would be pretty easy to do but the software would be pretty complicated. I believe that is why Grbl is so widely used. It is simple, easy to set up and use and it already exists.</p><p>Second - You can find the new board from Protoneer here: <a href="http://www.ebay.com/itm/271901344091" rel="nofollow">http://www.ebay.com/itm/271901344091</a></p><p>If the link doesn't work then Google for: <em>Raspberry Pi CNC Board </em></p><p>The new board (hat) is really nice and provides access to the new features of Grbl. It also includes an Arduino Nano that is pre-programmed for you with the latest version of Grbl. Just add a RPi B+ and some Pololu stepper motor driver boards and you are pretty much ready to run some stepper motors. Of course, you need to have a power supply for the stepper motors and all of the wiring too.</p><p>I hope this helps...</p>
Sure, you can put any size screen you like on the RPi as its output is HDMI. Of course, you would also need to have a keyboard and mouse to manipulate your system. That is actually the reason that I went with a WiFi connection instead of a local display, mouse and keyboard - the screen was too small and I ran out of room. I just use the Remote Desktop application in Windows to connect to my RPi and I can then manipulate my CNC system with my laptop. I have a 17 inch laptop and the remote desktop looks really great and is very responsive. You can certainly run everything on the RPi with a local display, mouse and keyboard. However, I would not try to do any CAD, CAM or design work on the RPi. It just does not have the speed that you need to work on a 2D or 3D image. It is best to do your design work on some other machine and then just send the G-Code, deisgn file to the RPi to be processed by Grbl.<br><br>The second question is significantly more difficult to answer. If the rated current of the motors is less than about 2.2 Amps and you want to run the motors with less than 36 Volts then you can use the Pololu stepper motor drivers. The CNC hat claims that it can handle up to 36 volts. If you need more voltage or more current than that then you will need to use external stepper motor drivers. You might want to look at the M542T or TB6600HG based drivers. You should not have any problems using either of those drivers with the new CNC hat. It has pins so that you can connect to the control lines of the drivers. Of course, you would not populate the CNC hat with Pololu drivers in that sort of configuration. You would not connect the stepper motor power supply to the CNC hat either. So you could go to as high a voltage as the driver allows, typically about 50 volts, and most of the external drivers will provide 4.5 to 5.1 Amps to your stepper motors. If you need more current than that then you will probably need to look at something like the Gecko Drive stepper motor drivers - really great stuff from all I have heard but expensive.<br><br>I am building up a new milling machine (and maybe a new lathe that I have too) as CNC machines and I have spent a lot of time trying to decide what I am going to do about stepper motors and stepper motor drivers. The motors that you mentioned are really powerful. My new motors are NEMA 23 size and only 425 oz-in. They have a rated current of 3 Amps. I believe I can run them at 2.2 Amps so I am going to try running them with the Pololu DRV8825 stepper motor drivers. If I don't get the performance I want then I can pretty easily change over to external stepper motor drivers, as I mentioned earlier.<br><br>Hope this helps.
thank you for clearing that up. I was under the impression that the rasp pi was running cnc linux and passing commands to grbl on the arduino. thanks for the link as well.<br><br>If i may ask a few more questions:<br>i plan on making a 4'x8' cnc router and i want it to be run with your setup, but with a small screen so i can run everything straight from the rasp pi. is that possible?<br><br>also, can the control boards handle the amperage of these large motors?<br>2 NEMA 34 Stepping Motor (651 oz-in 1/2&quot; dual shaft)<br><br>NEMA 24 Stepping Motor (425 oz-in 1/4&quot; single shaft)<br><br>again, i apologize for bombarding you with questions.
<p>Just a quick question, what type of Raspberry Pi did you use in your build? I am new to the whole Raspberry Pi/Arduino scene and would really like to know. Im sorry in advance if I missed a part in your awesome write up.</p>
I used an RPi Model B. Take a look at the image in step 2. As I said I am pretty sure that you could use any RPi (A, A+ or B, B+) with the Alamode and the CNC Controller boards. The Alamode is expecting to see the 26 GPIO pins that the RPi provides. The Alamode provides the voltage level translation that is necessary for the RPi to communicate directly with the Atmega chip (Arduino) that is on the Alamode.<br><br>A new version of the CNC Controller is coming out soon that incorporates the functions that were needed from the Alamode directly on the CNC Controller board and includes an Arduino Nano on the CNC Controller board too. I will be doing a new instructable on it sometime in the next month or so.<br><br>I hope this answers your question. I would suggest that you get an RPi so you can get familiar with it. It is a very typical Linux based device and not very fast. The Arduino is a really easy to use device. I would suggest you get one of those too. There are starter kits that aren't too expensive and they provide lots of experiments and examples to get you up to speed really quickly.<br><br>Good luck and I think you will have a good time getting to know these devices.
<p>Thank you for the detailed write-up. Why were you unhappy with LinuxCNC?</p>
Actually LinuxCNC worked pretty well when I last used it. There are many people who use it all the time. What I had a problem with was the requirement of using a parallel port to communicate with the CNC machine. Parallel ports were already very difficult to find on new computers and my new computer was a laptop that didn't have a parallel port. So I started looking for some other way to communicate with my CNC machine. I actually got a USB-to-Parallel port adapter but it didn't work. It ended up that I eventually went to GRBL on an Arduino/Alamode and a wireless connection to a Raspberry Pi. It works so well that I really have no complaints. I believe that LinuxCNC is more feature packed than GRBL is at this time but GRBL is working okay for me so far, also new features are being added periodically.
Thank you very much!
I would suggest that you take a look at the GRBL website for deeper information about how GRBL works (also new versions have been released with new features). As I recall, the &quot;home&quot; location is completely virtual. That is it can be defined anywhere. That is the way it actually has to be because the software eventually has to be set to the actual parameters of the physical hardware of the machine. It could also be set to be a subset of the dimensions of the actual machine. Please read the info on the GRBL site about the z-axis touch mechanism. You could always make a z-axis touch sensor yourself. You could use a thin feeler guage blade. Attach a wire to it with an led (and resistor) or a buzzer in series with a battery. Attach the other side of the battery to your tool bit after it is installed in your spindle with an aligator clip. Knowing the thickness of the feeler guage you can find the z-axis zero by placing the feeler guage on the material you are working on or on your table and then lowering the tool bit until it touches the feeler guage and the led turns on or the buzzer sounds. Don't forget to account for the thickness of the feeler guage. I hope this is understandable. Good luck.
Legendary instructable!<br><br>I am not much familiar with GRBL or RPi so, many questions are popping up in my mind. Do you have a video of this awesome controller running the machine? How fast rapid travel this system supports? As I have said that I'm not familiar with the hardware or software could you please clear some air for me, I did not notice any feature related to Z axis tool job touch zero? And also you did not use homing switches.
Okay, lets see. I will try to answer your questions as I can. I do not have a video. I will try to make one soon. The movements of the machine are limited by the hardware - the machine itself, not a software limit but a machine limit. However you can limit the machines speed in the software so that it does not move too fast. Depending on what material you are working on the travel speed might need to be much, much slower than the machine is capable of. The machine will always be able to move too fast to produce a smooth surface. So the software controls the speed based on your inputs. There are two components to the z-axis. The physical movement of the z-axis, up and down, and the spindle, on or off. The z-axis is the third connector from the top. The spindle is the bottom connector and is yellow. Each axis connector contains eight wires, four are connected to the stepper motor and four are connected to the limit switches for that axis. There are six limit switches, two on each axis. I do not have a z-axis touch zero mechanism in my system. I believe that the new version of GRBL might have that built in but I am not sure how it would be implemented in my build. I might have to rebuild my controller to include that someday. I hope this has helped.
Thank you for your reply. Nicely answered all by doubts. It is because of the people like you, the community grows positively every day. Just one small thing about GRBL does it have a manual system for z axis touch zero for example if we jog slowly towards the material surface n when the tool touches it can we manually change the reading of z axis DRO to zero?
<p>This is an awesome instructable! Great Job!</p><p>I do have one question though. Does the CNC Shield actually &quot;plug&quot; into the alamode board? I see in your pictures that it looks like the pins do plug into the bottom header. And do they plug in on both sides? Sorry if I missed something in your awesome write up. </p><p>If they do plug in, I will be learning how to de-solder, as I soldered the non stackable headers in place.</p><p>Thanks!</p><p>Jon</p>
If you look at the pictures in step 3 you can see the stacking headers. <br>You can remove the old pins one ar a time with a soldering iron and something to grip the pin. Important: make sure that you clean up the holes after removing the old pins. Otherwise you could end up with bad solder joints later on.
<p>Excellent, Thank you for your help!</p>
<p>My CNC controller is going inside the case of an old Mac Mini I had laying around. Should be pretty slick. Thanks again for all of your guidance!</p>
Very nice - but I, as you can probably tell, do not like to see ANY individual wires anyplace. However, it looks pretty nice so far. Is your project based on my instructable? It looks a lot like mine did at one point. I would really like to see it after you get it all put together. Thanks for sharing what you have done thus far.
<p>Yes, It is absolutely based on your instructable! Those wires you see are only from the fan and small speaker in the original housing that have not been hooked up yet. I will gladly show you once I complete, hopefully soon.</p>
Thanks for your comments and good luck on your build.
<p>This is, without a doubt, one of the neatest, best-looking wiring harnesses I've seen on Instructables in a long time.</p>
Thanks!
<p>Hi cdtaylor, how did you wire the 8 pin aviation plugs? i cannot find a solution for both sides, sorry for the silly question.</p>
<p>Here is the graphic showing how the aviation plugs are wired.</p>
Please take a look at images that are attached to the comment dated May 24, 2014. There is a key in the upper right corner of the wiring diagram showing which wire I attached to each pin on the connector and what each wire is connected to. I am not at my computer and cannot attach the image again at this time. I used wires the colors I have indicated. It is best to attach the center wire to the connector first after that it really doesn't matter just stick with the color code the rest of the way around. I used some twisted pair shielded wire that I had for the limit switches. There is a limit switch at each end of travel on each axis. So there are two switches or four wires for the stepper motor and two wires each for the limit switches for a total of eight wires. Just remember that you are connecting these wires between the stepper motors and the stepper motor drivers - it is very important that you get them connected correctly or you could damage you drivers and your motors too. I made a little tester with an led for each wire to make sure that the cables worked correctly before I installed them in the box. I hope this helps.
<p>Just wanted to lead you know I enjoy reading your material and I'm going <br> to try my own control following your model, I thing I&acute;m goint to try <br>the protoner raspberri pi CNC and see how it goes.</p><p>Thanks for sharing and inspire!</p>
That's great. The Alamode board made everything go together so nicely. I know there are other solutions out there that do the signal translation too. Don't really know much about them. I can tell you that the Alamode board does work as advertised and so does the 100% GRBL Compatible CNC board. Good luck with your project and thanks for your comments.<br>
Hello, For the last 4 years I have been running a desktop cnc machine using an arduino due with atmega328 loaded with GRBL,now my machine originally came with a parallel port connector and all I had to do was wire the step and dir pins from the arduino to the driver board that came with my machine and load GRBL controller into my computer and it worked perfect ,for the drawing part I use corral draw and save as DFX or BMP,then I use Fengrave and/or potrace to convert my drawing to gcode,the code is than checked with notepad and loaded into GRBL controller or gcode sender and press run,I do not use a dongle as the screen controls work perfect.My control computer is an old xp machine.....WCH I think you did a lot more work than necessary....WCH
What does WCH mean? I am also a bit confused by the succesive periods. An ellipsis is usually three periods in succession. I am not sure what you are trying to say.
Ok, I guess. Thanks for looking at my instructable. Perhaps you should publish one youself - if you haven't already. I started with a concept and a clean slate. What is in my instructable is what I came up with. Take it or leave it or whatever. You might read through the comments. They contain a lot of information too. I specifically did not want to dedicate an external machine to run my mill. So that drove some of my design criteria. My machine is wireless now and I like it that way - and apparently so do a few others. It's easy to critique other peoples work. I am trying to encourage others to try new things too and I am willing to allow their enthuasim and their comments. This was never about the cost or the part count or even the wireing. It is about helping others to just see what I did and tell them a bit about how I did it. Hopefully, at least a few others have been inspired to do something their own way - with maybe a few suggested improvements along the way.
<p>Hi Great machine - I'm doing very well on the final stages of my machine following a very similar pattern to you. Using a Raspberry Pi - Arduino UNO and CNC Shield with A4988 driver and NEMA 17 motors.</p><p>I have a question before I turn all my kit on - its about the 4 wires going into the A4988</p><p>You have the following 4 wire colour coding </p><p>Pin 2B = Black +</p><p>Pin 2A = Green -</p><p>Pin 1A = Red +</p><p>Pin 1B = Blue -</p><p>(+ - + - )</p><p>However - I have seen someone else wire it</p><p>Pin 2B = Red +</p><p>Pin 2A = Blue -</p><p>Pin 1A = Green -</p><p>Pin 1B = Black +</p><p>(+ - - +)</p><p>I know keeping the pairs together for each coil is important but is the - + as important as I'm seeing many different ways to wire these A4988?</p><p>Any advice much appreciated.</p><p>The other bit of advice is what is the best way to calculate and set the max current of the A4988 I have</p><p>JKM NEMA17 Two Phase Hybrid Stepper Motor 78 Oz-in/48MM/1.8A Motif motors and again finding different calculations and formula - what did you use please?</p>
<p>Hi Mark, congrats on your project? I'm doing basically the same thing but I'm new to this. Would you mind answering a couple questions that might help me get through mine? </p><p>did you have all of your boards assembled...the pi, the uno and cnc shield before you started loading all of the software, or did you load the pi, save, shut down and then put the boards together before transfering data to the arduino? What link for loading the boards did you follow? I'm using an alamode/arduino board as per this instructible and performing the steps on the zapmaker link to load the software, Grbl and cnc files and have been having all kinds of trouble getting through it. I'm not sure what I'm doing wrong.</p>
Not addressed to me but on my Instructable. You really need to following instructions on the Alamode site here: http://wyolum.com/projects/alamode/<br><br>I didn't put the CNC Controller board on the stack until quite late in the project. Except for test fitting it. Didn't get driver boards till later on either. But neither of those itemshas much to do with getting te software working either.<br><br>Hope this helps. Make sure you go through the web pages for the CNC Controller too.
<p>what did you use for labeling on your enclosure?</p>
<p>Thanks, I have it running the grbl now. Had to combine some of the commands I got off of Wyolum and Zapmaker. I think it was the later model pi I'm using. I left the alamode connected through the entire process. I added the cnc shield after everything was loaded and like I said its working now. Thanks again for your help... i'm sure I'll have more questions later. </p>
<p>Congratulations on building a really nice project. Your project is larger than mine is. What do you anticipate making with it? One thing I thought about while looking over your pictures is that with that heavy spindle you might want to use two motors on the axis that moves the spindle. That is really easy to do with the CNC Controller shield that I used. Not sure if you used the same shield or not. I really like the LCD and that illuminated switches. One other switch that you might want to consider is an emergency stop/kill switch just in case something goes wrong. Some people have built what they refer to as a &quot;pendant&quot; for that purpose and to have a means of directly controlling the system too. I am thinking about doing that just for the experience of being able to used it. Otherwise, what a great project. I would really like to see it in action. Thanks for your comments and interest in my project.</p>
Thank you I'm pleased they way it's going. <br>I'm planning on using it for most of my DIY woodworking projects - and thought I could use something like PhotoVCarve making presents for family. I also have 3 children and thought I could get them into CAD and CNCing!<br><br>The motor on the Z axis is being replaced with a bigger stepper - however with the balancing and easy of movement on that axis I'm surprised the pilot .350 amp stepper moves it really well. <br><br>BIG RED EMERGENCY button is a must and will be fitted before I turn all on. <br><br>Not sure if pendant is the same thing as what I'm thinking but was trying to think of adding like a small joystick to control the axis's like to find 0,0 of work - what's a pendant?<br><br>I'm using the v3 Andruino CNC Shield from Hobby Components<br>http://hobbycomponents.com/shields/568-cnc-v30-arduino-compatible-shield<br>I'm having issues with getting the end stops to work I got basic open switches - I don't think it's the switch or wiring personally I think it's the GRBL Controller config but when I set the Boolean to 1 on the hard limits $21=1 it errors about homing and sets it back to zero. Not played with it much yesterday but will try again later on and see what's it's doing. <br><br>Thanks for your quick and helpful responses
<p>Thanks for looking over my project. I think that the best thing for you to do about the stepper motor wiring is to read through the page for the part and read the FAQ page that is mentioned on the Pololu website for their Allegro&rsquo;s A4988 stepper motor driver carrier.</p><p><a href="https://www.pololu.com/product/1182" rel="nofollow">https://www.pololu.com/product/1182</a></p><p>There is a very good and thorough video about how to set the current limit for the motor drivers on the product page above and I encourage you to watch and go through the steps carefully as is done in the video.</p><p><a href="https://www.pololu.com/product/1182/faqs" rel="nofollow">https://www.pololu.com/product/1182/faqs</a></p><p> The wiring is explained on the FAQ page in detail as is a procedure for setting the current limits for your motors. The pairing of the wires with respect to the winding is really important (meaning: if you get it wrong the motors will not turn or worse you may damage the driver and the motor).</p><p>I attached two pictures. In the first one you can see that I used keyed connectors for the stepper motors cables (the white connectors). In the other picture you can see the order of the wires that I used. Mine are wired Blue(1B), Red(1A), Green(2A), Black(2B). I have not looked at my controller for some time as we have moved and other things have taken priority. I looked at my controller to be sure. I miss wired the blue connector for the Z-Axis. I have now corrected that. If you look at the Allegro schematic for the A4988 that should clear it up. I had to rebuild that cable when I changed the order of the of the cables to match the correct color code. No camera at present or I would add a corrected picture. I will try to add another picture when I get my phone back. Sorry if my mistake caused any confusion.</p>
<p>Of all things, I'm having a very difficult time setting up my Realtek wireless module.The instructions that came with it instructed to download and exe setup file and the raspberry won't open it. It directs me to the raspberry site. Could use some assistance. Thanks</p>
<p>My original Wi-Fi dongle is a D-Link DWA121. I plugged it in and it worked right away. I am not sure that I did anything to get it working at all. I just purchased four other dongles and I am in the process of rebuilding the kernel for the second time trying to get this thing to work. The DWA121 is based on the RealTek chipset the new ones I bought are based on the RALink chipset. You might want to go and take a look at the supported devices list on the RPi site to reduce your problems with getting your device to work. Thanks for looking at my project. I think you will have to go to the manufacturers site or search for an answer on the internet.</p>
A pendant is a sort of remote control to &quot;manually&quot; control a machine. I have seen wired as well as wireless pendants. Custom made and purchased ones. I have also seen a game controller used as a pendant. Some have displays and some don't. Google CNC PENDANT for more info... Thanks for posting.
<p>Hi cdtaylor, this is probably the most advanced instructable ever... I wanted to ask however....<br>in your raspberry pi are you creating drawings for each part?<br>is there a way to interface or import AutoCAD models into the Pi??<br>Or going further what about importing/converting 3D files directly?? Something like a Step file or some such.... That would have some incredible applications...<br>Thanks any comments by you will be much appreciated!!</p>

About This Instructable

306,028 views

1,158 favorites

License:

Bio: Viet Nam War Veteran
More by cdtaylor51: Raspberry Pi Alamode CNC Controller
Add instructable to: