Hardware Capes

An unofficial list of various 3D Printer, CNC, and motion control related capes I am aware of, along with their status.  If you know of any I missed, or notice something wrong, please leave a note in the comments.

3D Printer / CNC Capes:

CNC Machine Control Capes:

The boards are ordered loosely based on availability and my personal experience with them.  Boards at the top of the list are real and available for purchase, while boards at the bottom are whimsical fancy (vaporware).  Do not infer anything about the usefulness of these boards or suitability for your particular application from their position in the list.


3D Printer Capes:

BeBoPr++ (also BeBoPr / BeBoPr-Bridge / BeBoPr+)


The first real, shipping board for controlling a 3D printer with your BeagleBone.  These boards are known to work with LinuxCNC and the MachineKit images, and several people (including me) are using this board to control real machines.

Details
Designer Bas Laarhoven
On Board Drivers4
On Board Driver TypePololu Sockets
Off Board Drivers5
Off Board Driver Type16 pin header
Analog Inputs (thermistor)3
Digital Inputs (limit switches)6
Heater & Fan Outputs ( High power / Low power)3 / 0
Where to buy:
The BeBoPr++ is available directly from the designer.

The original version (usable on a BeagleBone Black if you obtain a Bridge board) may still be available from some of the following vendors:
If you do not buy your board directly from the designer, you will not get any connectors and you will get the original board designed for the BeagleBone White.  You will need to purchase at least two power connectors to get the board working.  Also, if you have a BeagleBone Black and would like to use the HDMI port, you need a Bridge Board, which you can make yourself or I am selling boards pretty much at cost so you can avoid the 2+ week wait from OSH Park.

Support Forum: http://forum.bebopr.info/

Manual: Available via download from github.


Replicape / Replicape-plus


Details
Designer Elias Bakken
On Board Drivers5
On Board Driver TypeDRV8825 soldered on-board
Off Board Drivers0
Off Board Driver TypeN/A
Analog Inputs (thermistor)3
Digital Inputs (limit switches)6
Heater & Fan Outputs ( High power / Low power)3 / 3
NOTE: This board requires setup via I2C and SPI, and will not work properly with LinuxCNC and my MachineKit images until this setup code is written.  If anyone gets this working, please share your code.

Where to buy: Thing-Printer.com


The Rosseta Bone



Details
Designer Bart Dring
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers5
Off Board Driver TypeDB25 / RAMPS / GRBL
Analog Inputs (thermistor)3
Digital Inputs (limit switches)6
Heater & Fan Outputs ( High power / Low power)Depends on shield
Additional features: This is an interface board to connect the BeagleBone to a RAMPS or GRBL Arduino shield, or to to a conventional CNC stepper driver via DB25.

Where to buy: Schematics are linked on the buildlog post.  I am not currently aware of any PCB design files or boards available for sale.


CRAMPS (Cape version of RAMPS)



Details
Designer Charles Steinkuehler
On Board Drivers6
On Board Driver TypePololu Sockets
Off Board DriversNot Yet
Off Board Driver TypeSPI Expansion
Analog Inputs (thermistor)4
Digital Inputs (limit switches)6
Heater & Fan Outputs ( High power / Low power)5 / 2
More information:

A design by Charles Steinkuehler (your friendly blog host!) converting the RAMPS-FD into a BeagleBone Cape. This is intended to address what I see as shortcomings with the currently available capes.

Several CNC breakout boards are available at reasonable prices, but they don't easily support 3D printers (no heater outputs or Pololu sockets). The available capes that target 3D printing (BeBoPr and Replicape) are excellent designs, but both are complex and expensive. The RAMPS and RAMPS-FD designs are simple, functional, and inexpensive. I hope to keep that combination with the Cape version.

Where to buy: PCB Design is available from OSH Park
Please contact me if you are interested in building and/or selling a 3D printer  cape for the BeagleBone. I do not want to sell boards myself, but will happily provide engineering support if you would like to build and sell this design!


tBone



Details
Designer tBone Team
On Board Drivers5
On Board Driver Type3x 4 Amp / 2x 1.5 Amp
Off Board DriversNo
Off Board Driver TypeN/A
Analog Inputs (thermistor)3
Digital Inputs (limit switches)10
Heater & Fan Outputs ( High power / Low power)2 / 1 (expandable)
Additional Features:
  • 3 encoder inputs
  • 1-wire interface
  • Advanced Trinamic stepper drivers
This design pairs an on-board Arduino for real-time control with the BeagleBone, so will not work out of the box with LinuxCNC.  It should be possible to use the Arduino instead of the PRU for motion control, but it depends somewhat on specific design choices and I have not been able find schematics on-line for review.

Where to buy: Indiegogo


CapeR

UPDATE: This design is currently deprecated. It looks like the market is fixing the need for CNC capes without my help, and I currently feel making a Cape version of the RAMPS-FD (see CRAMPS, above) is a better way to go than crafting an interface board to an existing RAMPS.

A hypothetical design by Charles Steinkuehler (your friendly blog host!) intended to address several issues:
  • Interface to a RAMPS board (this may be unnecessary, if the Rosetta Bone becomes available)
  • Allow use of AM335x hardware encoder (primarily for use as a spindle encoder with a step/dir driven machine)
  • Optimize the pinout to allow PRU direct inputs to be used for soft encoder inputs (for a true servo system with minimal extra hardware)
  • Optimize the pinout to allow PRU emulation of an EPP port (or possibly use the GPMC interface and a tweaked FPGA configuration), allowing use of "smart" off-board controllers, like the Mesa 7I43 or 7I90 for true servo support with no performance restrictions
This may turn into two boards since the RAMPS support and the other features really don't go together well.  If you're using a RAMPS board, you probably don't care about encoders, and if you need encoder inputs, you probably aren't using a RAMPS.

So far, this board is not past the planning stages, although a lot of work and thought has gone into the choice of pins for the I/O.  Note that if you are not trying to do encoder inputs or support EPP communications, the pin assignment for step/dir, limit switches, and the like is pretty much arbitrary.  The PRU and HAL code can read and write any available GPIO pins as readily as any other.  I'll work up a blog post about BeagleBone pinouts for motion control...in the mean time, if you're working on something and want my view on I/O assignments, just send me an e-mail.


CNC Machine Control Capes:

bbb_parport


Details
Designer Alex Joni
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers6
Off Board Driver TypeDB25 / headers
Analog Inputs (thermistor)4
Digital Inputs (limit switches)up to30*
Heater & Fan Outputs ( High power / Low power)0 / up to 30*
Additional features: I2C ADC for analog inputs

* There are 30 digital I/O which can be independently assigned as inputs or outputs, 12 are typically assigned to the 6 step/dir axis signals, leaving 18 for use as general I/O.  The PRU HAL code can arbitrarily assign any number of GPIO, step/dir, and PWM signals to these 30 I/O pins.

Where to buy: http://webshop.juve.ro/

Additional details are available on Alex' blog page.


Xylotex BeagleCNC BBB_DB25



Details
Designer Jeff Pollard / Xylotex
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers5
Off Board Driver TypeDB25
Analog Inputs (thermistor)0
Digital Inputs (limit switches)4 + EStop
Heater & Fan Outputs ( High power / Low power)0 /3 + Enable
Additional Features: SPI interface available as an option, replacing 4 I/O pins on the DB25

Where to buy: Xylotex
Additional details are available here.

Probotix PBX-BB



Details
Designer Len Shelton / Probotix
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers5
Off Board Driver TypePBX Headers & screw terminals
Analog Inputs (thermistor)0
Digital Inputs (limit switches)5
Heater & Fan Outputs ( High power / Low power)0 / 5
Additional Features: RF Isolated Inputs and Outputs

Where to buy: Probotix

PMDX-432 K9 CNC I/O Cape


Details
Designer Practical Micro Design
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers4+
Off Board Driver TypeIDC26/DB25
Analog Inputs (thermistor)4
Digital Inputs (limit switches)18+
Heater & Fan Outputs ( High power / Low power)0 / 8+
Additional features: RS-485 port, buffered I2C bus, and more!
Video on YouTube

Where to buy: PMDX


Dual Motor Controller Cape




Details
Designer
Exadler
On Board Drivers2
On Board Driver TypeDC Motor
Off Board Drivers0
Off Board Driver TypeN/A
Analog Inputs (thermistor)0
Digital Inputs (limit switches)0 + 2 Encoders
Heater & Fan Outputs ( High power / Low power)0 / 0
NOTE:  This cape is controlled via the I2C bus, so it is not really appropriate for conventional LinuxCNC axis control.  It should be possible, however, to use this cape for ancillary functions (tool changers or similar) that do not need fully coordinated motion, or for slow feed rates.

Hardware details and software details are on github.

Where to buy: Exadler Technologies


LPT-Cape / Io-1




Details
Designer
Jon Pry
On Board Drivers0
On Board Driver TypeN/A
Off Board Drivers2
Off Board Driver TypeIDC26/DB25
Analog Inputs (thermistor)0
Digital Inputs (limit switches)10
Heater & Fan Outputs ( High power / Low power)0 /24
This cape is a true parallel port for your BeagleBone, supporting 5V signals and the standard x86 style PC parallel port register interface.  Uses only 12 pins on the BeagleBone expansion headers.

This board should also allow interfacing to 'smart' parallel port devices, such as the Mesa 7i43, with minor updates to the LinuxCNC HAL drivers.

Software details are on github.

Where to buy: Not yet available


K9 SmorgasBoard


Details
Designer Practical Micro Design
On Board Drivers4
On Board Driver TypePololu Sockets
Off Board Drivers8+
Off Board Driver TypeDB25
Analog Inputs (thermistor)2
Digital Inputs (limit switches)4+
Heater & Fan Outputs ( High power / Low power)2 / 2
Additional features: Thermocouple input, Encoder input, RS-232 and RS-422 ports, buffered I2C bus, and more!

Where to buy: This board is not available for purchase.  It was a proof of concept design and is now available as the PMDX-432 K9 CNC I/O Cape listed above.

24 comments:

  1. please indicate if cape is simple i/o or limited to motor control
    ( would still like a simple i/o cape for standalone Hal )

    If meant for motor control,
    please identify the motor tech type.
    Stepper or Servo
    or gawdawfulmisbegottenbastardizedinbetrweeny-thing :)

    thx Tomp tjtr33
    ( looking for real servo encoder 'cape' )

    ReplyDelete
  2. There is nothing for the BeagleBone that works with true servos (yet). That is what I would like to see designed, or will do with the CapeR board if no one else beats me to it.

    ReplyDelete
  3. Here's one for controlling motors for a robot (or other purposes - controlling a robot is what I'm planning on using it for).
    http://exadler.myshopify.com/products/dual-motor-controller-cape-dmcc-mk-6

    ReplyDelete
    Replies
    1. That looks like a nifty little board, but I'm not sure it can be made to work with LinuxCNC. Do you know where to find any specifications or design files? Looking through the driver software, it looks like it's controlled via I2C with updates every 200 mS, which will be too slow to do coordinated CNC (at any sort of reasonable speed).

      Delete
    2. I'm the creator of the board. You can find the full schematics and PCB layout on https://github.com/Exadler/DualMotorControlCape. The software can be found at https://github.com/Exadler/DMCC_Library. You are correct that it is controlled by I2C, and I'll actually be trying really soon now to get it working with LinuxCNC - I'm trying to CNC convert my 7x10 mini Lathe to CNC, so I'll be diving into the Linux CNC issues and testing the update speeds. I can't promise anything, other than I'll find a way to get it working and details/results will be in my blog at http://exadler.blogspot.com

      Delete
    3. Thanks for the details Paul! I've added them to the board entry. Let me know if you get it working with LinuxCNC, or if you need help with the HAL driver, and feel free to email me directly with questions.

      Delete
    4. Thanks for the offer to help! I'll probably take you up on the HAL a little later after I get going on the LinuxCNC!

      Delete
  4. Not to knock on Xylotex but there are $100 drivers (massmind TB drivers) that blow them totally out of the water. I had one of them and with my new drivers I'm getting WAY faster and better results with no stalling.
    So I have a question past my little quip about Xylotex :)
    I just buy a cape and a Beagle Bone black then I'm set?
    MY LinuxCNC machine is old and is starting to glitch.
    So far it's wreaked $45-$100 of wood (depending on supply) and I'm getting mad.

    ReplyDelete
    Replies
    1. Two years of playing around and I'm over the bulky old computers.
      http://imageshack.us/a/img827/1489/xil9.jpg
      http://imageshack.us/a/img29/3197/0bbi.jpg
      http://imageshack.us/a/img843/8021/8wkj.jpg
      http://imageshack.us/a/img829/8254/3ulm.jpg

      Delete
    2. "I just buy a cape and a Beagle Bone black then I'm set?"
      LinuxCNC and my MachineKit image are working well, but anyone using it at this point is definitely an early adopter. If you are looking at using one of the CNC style capes with a DB25, it will PROBABLY work with the MachineKit image with minor tweaking. Most of them are based on the same pinout used by the BeBoPr-Bridge. If you are familiar with LinuxCNC and it's ini and hal files, you shouldn't have too much trouble.

      Of course, you do also need the other bits for a full system: Power supply, stepper drivers, eStop chain, an actual mill or router, HDMI monitor, keyboard, etc. Just a BeagleBone Black and a cape won't do much completely on their own! :)

      Delete
  5. Alex Joni has started a page on the bbb_parport board:

    http://juve.ro/blog/projects/01382040758

    ReplyDelete
  6. Hi Charles,
    Jeff from Xylotex here. Just to let you know that my BBB_DB25 boards is available (and has been for a while).
    Thanks,
    Jeff

    ReplyDelete
  7. Great news, Jeff! I'll get the page updated.

    ReplyDelete
  8. Charles, the Replicape is now available for sale in case you want to update your overview page. Go ahead and grab the picture as well if you want : ) http://www.thing-printer.com/product/replicape/

    ReplyDelete
    Replies
    1. Thanks for the ping, Elias! I had gotten halfway through updating the list when I got sidetracked and forgot to finish. I've re-organized a bit, and updated the Replicape entry. Let me know if I made any goofs.

      Delete
    2. Looks good, Charles! I'm eager to see how it performs with a LinuxCNC image. As you may know I'm working on an alternative implementation that uses the PRUs instead, but if LinuxCNC turns out to work better, that might become the standard software.i If I have your blessing, of course..

      Delete
    3. LinuxCNC is fairly "heavy", but shines in setups running closed loop or with complex kinematics. For a typical 3D printer with steppers and trivial kinematics it probably doesn't matter too much. Even linear delta machines have "simple" kinematics (no trig functions).

      You are, of course, welcome to use LinuxCNC and any of my work you find useful. Let me know if you need help trying anything out.

      Delete
  9. Charles, the BeBoPr++ is now available for sale (and shipping). I've started a new repository on github for the BeBoPr++: https://github.com/modmaker/BeBoPr-plus-plus . The only real thing there now is the downloadable manual.

    ReplyDelete
    Replies
    1. Great news Bas!
      Congratulations!!! ...and let us all know how we can buy one!

      Delete
  10. we just about to launch a new CNC controller board for the BeagleBone. Check out our project page on tbone.cc or our Indiegogo camapign at http://igg.me/at/t-bone/x/4731310

    ReplyDelete
  11. Are all 6 of the CRAMPS steppers driven from the PRUs? Wondering if it would be suited to drive all legs in parallel of a hexapod.

    ReplyDelete
    Replies
    1. Yes, all 6 steppers are driven by the PRU. The PRU code can be configured to drive an arbitrary number of step/dir channels, limited mostly by available I/O pins and somewhat by execution time (maximum desired step rate).

      Delete
  12. Hi Charles,

    There is available a PMDX cape:
    http://www.pmdx.com/PMDX-432

    Video: http://www.youtube.com/watch?v=VQDENqMeVjA

    Many thanks for you work!!

    Best regards:
    Janos

    ReplyDelete
    Replies
    1. It's already listed as the K9 CNC I/O cape.

      Delete