BeagleBone Black does CNC with RAMPS


[Bart] Wanted to try controlling a CNC with his BeagleBone black, but didn’t want to invest in a CNC Cape. No problem – he created his own translator board for RAMPSLinuxCNC for the BeagleBone Black has been available for a few months now, and [Bart] wanted to give it a try. He started experimenting with a single stepper motor and driver.  By the time he hooked up step, direction, and motor phases, [Bart] knew he needed a better solution.

Several CNC capes are available for the BeagleBone boards, but [Bart] had a RAMPS board just sitting around, waiting for a new project.  Most RepRap fans have heard of the RAMPS – or Reprap Arduino Mega Pololu Shield.  In fact, we covered them here just a few days ago as part of our 3D Printering series.   RAMPS handle all the I/O needed for 3D printing, which carries over quite nicely to other CNC applications as well.   The downside is that they’re specifically designed for the Arduino Mega series.

The translator board brings all the BeagleBoard Black IO signals where RAMPS expects them.   [Bart] wasn’t done though – he also added in compatibility for grblShield and parallel port connections.

One thing we want to know more about is the 3.3V to 5V voltage translations. RepRap has begun working on RAMPS-FD to handle 3.3V requirements of the Arduino Due.  Reusing hardware is great – we wouldn’t want to risk blowing up a BeagleBone Black to do it.


  1. This awesome and I am most interested in buying one as I have a laser cutter I need to convert over to LinuxCNC, please feel free to contact me ramos96 at yahoo dot com

  2. mikemac says:

    The Pololu stepper drivers can be run at either 5V or 3.3V. He says he has a jumper on his board to pick the voltage to the RAMP but that he always runs it at 3.3V. So there shouldn’t be a problem.

  3. lol says:

    Holy shield batman, a shield on a shield on a shield on a shield on a shield on a breakout board… There is more money in headers a pieces of fiber than electronics in that pile..

  4. chango says:

    Yo dawg I heard you like mezzanine connectors. So I put a shield in your cape so you could Arduino while you BeagleBone.

  5. It looks like this board is setup to work with the BeBoPr-Bridge pinout which allows use of the on-board eMMC and HDMI with the BBB. and will work out-of-the-box with my MachineKit LinuxCNC image (mentioned, but not linked to in the article):

    • mikemac says:

      Looks like a Black specific stuff which is unfortunate as I have a Bone. I’ve been playing with an Arduino hooked up to a Pololu driver but just decided yesterday that the Arduino didn’t have enough umpf for me. So I was about to pull out the old Bone and start playing with it. Just in time to find out LinuxCNC has been ported already! Yippy! Great timing HAD!! :-)

      • My MachineKit images work with the Black and the original (white) versions of the ‘Bone. The black specific details are mostly pinouts…the first version of the BeBoPr boards used a bunch of pins that are allocated to the on-board eMMC and HDMI interfaces on the ‘Black. Everything still works if you have the original White version of the ‘Bone, except you have to use a cape to get the HDMI/LCD output! :)

        • mikemac says:

          I figured it probably would work with the old Bone. Thanks for confirming it. I’ve seen mention of the cape description files (K9 and BeBoPr hardware overlays). Is that documented anywhere? I’m kind of rolling my own cape from a protoboard just for fun. And no HDMI either. That’s what X and networks are for! :-)

  6. mhaberler says:

    The link on BeagleBoard re LinuxCNC is rather outdated – please refer to Charles’ blog at !


  7. Andy Pugh says:

    The GTL2000 chips are pretty much indistinguishable from magic as far as voltage level is concerned. I used them to make a RaspberryPi to parallel port adapter/breakout board.

  8. Bart Dring says:

    Most stepper drivers would probably work with 3.3V signals even if the logic is at 5V, but you are closer to the threshold of what is one and off. I therefore used 3.3V as the logic supply and added the jumper option to play with, but if you try to run all the features like limit switches and thermistors, etc, the 5V will get back to the BeagleBone and probably break something.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s