The Rosseta Bone is a “universal” CNC translator for BeagleBone Black.
The BeagleBone is awesome little controller. It is a lot like the Raspberry Pi, but it has one special feature that makes it viable for CNC. It is the PRU. This is Programmable Realtime Unit. This a part of the CPU that runs separately from the OS and gives it the critical timing required for smooth stepper motor control. People have tapped into this and LinuxCNC to make a real embedded version of LinuxCNC. Add in all the other capabilities like HDMI, keyboard, mouse networking, etc and things get amazing really fast.
I bought the BeagleBone Black which is the second generation BeagleBone. It has more features than the original “white” version and actually costs less. There are several CNC capes for the BeagleBone, like the BeBoPr or Replicape, but they are expensive, can be hard to get and some have issues with pinout changes that came with the BeagleBone Black.
To start experimenting, I just wired a simple Pololu stepper driver to one of the step pins defined in the Machine Kit version of LinuxCNC for BeagleBone. It worked right away, but the setup was kind of messy because I had to wire logic power, ground, motor power and jumper out sleep and reset. I did not even deal with microstepping or direction. With that said, it was still only a 10 minutes to hook up for one motor. When it came time to add other motors, I decided to use an old RAMPS 3D printer shield as a carrier for the stepper drivers. This would take care of most of the housekeeping and voltages. All I had to do was deal with step, direction and enable. It worked great and we used for several demos at Pumping Station One.
The RAMPS shield is an old design and can be had for less than $20 these days on eBay. I always buy mine from Ultimachine as a thanks to Johnny Russel who designed the original one. Most old school reprap 3D printer guys have one laying around somewhere. I though it would be cool to make an adapter for it. While I was at it, I though I would make it compatible grblShield and parallel port. There are a lot of stepper driver boards with a 25 pin D connector like the Gecko G540 and cheap Chinese stepper boards.
The BeagleBone uses 3.3V logic, but does provided both 3.3V and 5V on the connectors. I have a jumper on the cape which allows you to choose which one you want to use. So far I have used 3.3V without any problems.
When trying all the various things this can connect to, I found I often had to hardwire the enables to turn the motors on. I provided a jumper that does this. In most cases, I eventually found a firmware method, but this is a nice quick work around.
PCBs & Sources
I have about a dozen raw boards. I you want one, post a comment and I will get back to you. If you are actively working on BeagleBone LinuxCNC I might send it free. I will probably post the gerbers soon.