Wednesday, 8 January 2014

Converting an A3 printer into CNC machine - Pt5

This was a time consuming part...sorting out the electrics to make sure that;

  • It didn't look ugly,
  • They worked,
  • Easily got at and unplugged, in case it didn't work
  • It wasn't going to get hung up, damaged, shorted, cooked something
  • They kept working.
An ideal area for the electrics was what used to be occupied by the old power supply (woefully under powered for this task) and all the messy bits of the printer, such as an ink scraper that had what can be best desrcibed as a biohazard in its little collection pot!

As you can see, plenty of room for the boards, a 200W PSU, some room underneath for excess wiring storage and a power bar.  I also hooked up a small jumper cable for a power switch to the earth + green wire from the ATX plug.

I tied 3 wires each of the red (5V), yellow (12V), 2 wires each of black (x 2) and wired them onto the power bar.  There's plenty left on the PSU loom of I want to do something like wire in the UV light strips I have when I was modding CPU cases :-)

Next thing was to make up some tidy, yet practical plugs for the CNC shield.  This thing is in a tight space, so I don't really want to be messing around with single header pin sockets.  So here's a good tip..and made life so much easier..

Get some of these..

Thread 2 bits of heatshrink onto them..

Heat the big bit first until it wraps nicely around the plug ends, then seal off the scruffy end with the smaller bit of heatshrink. Viola!

Now you can plug/unplug them as a group, they don't flex as much when you try to plug them in, and they stay in the right order.

 So here's the Arduino Uno, with the Protoneer CNC shield plugged in on top, and a small proto board I made up to connect the steppers to the CNC shield.

I made up another plug for the emergency stop, hold, resume and abort pins (hidden behind the plugs in the photo)  I was able to use the original printer control panel buttons and attach them to the CNC pins.

It was just a matter of working out the connections with a multimeter, and making the life changing decision on which button should do what.  I figured the E-Stop button should be the biggest one...'cause it's easier to hit in a panic.

I've already used it twice when I messed up my endstop switches!

On that note..if you have no previous CNC experience, please get your endstop switches sorted before playing.  Nothing is more distressing than seeing your creation attempt to wind the ends off your machine.  I'm only using the smaller Nema17 steppers @ 4.8kg/cm torque.  On a 6mm, 1.5mm pitch threaded rod, that's a lot of grunt.

Next...the final words.


  1. I've got the same Protoneer CNC shield that I've just finished assembling. I'm using it with an UNO and I'm struggling to find documentation on how to wire up the UNO pins to its pins as well as how to connect my three stepper motors. Could you post some photos showing how you have yours wired up please? I would REALLY appreciate any help!

    James in Charlotte

  2. Hi James,

    The board plugs directly onto the uno. Download the grbl library from the Protoneer site and load it into the UNO using the Arduino IDE. See for everything you need to do sure to view the file in the grbl library..more details there.

    The steppers plug in to the pins near each stepper driver, but the important part is making sure the wires are in their pairs. Use a multimeter to pair up the wires, each pair that show a 0 resistance (or if using you multimeter in continuity mode...where it goes beep) go together. On my nema 17 2.5a steppers, it's blue+red, green+black.

    I use the Universal g-code sender (latest version is 1.06) to send g-codes to the board, and the board does the rest. It's a java app so unzip and then just create a shortcut with...
    "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar c:\UGCS\UniversalGcodeSender-all32.jar (modify to suit wherever you unzipped the archive to)

    Just remember to close the arduino IDE before attempting to send commands to the board with UGCS...they both can't use the same port at the same time.

    Do a test with each stepper port and sending a basic "G1 X10" (or Y or Z depending on which axis your stepper is attached to) Alternately, click the checkbox to use the keyboard arrows. There are a few things that can go wrong, but it's normally to do with the way you have attached the steppers, or the stepper driver pot being too low (not enough juice to spin the stepper)

    Check your google hangout for a PM.


  3. Thank you for the quick reply! This made everything "fall into place." I wasn't quite grasping the concept of how to use the CNC Shield. I really appreciate you sharing your adventures!