Cape-RAMPS For BeagleBone
The CRAMPS design is intended to provide a simple low-cost board to interface the BeagleBone to typical desktop 3D printers, mini-mills, and other CNC machines. The design is inspired by the simplicity and success of the RAMPS board for the Arduino Mega, and borrows from the RAMPS-FD design for the Arduino Due.
- Six Pololu stepper driver sockets
- 15A 12V-24V Output for heated bed
- (3) high-current 12V-24V outputs for extruders
- Independent fused power inputs for the motors, heated bed, and extruders
- Four thermistor inputs for temperature sensing
- Two low-current 5V-12V FET outputs for fans/LEDs
- Six limit switch inputs (may also be used for GPIO), 5V tolerant
- External ESTOP loop
- Expansion headers with I2C and SPI signals
- Optional add-on board for three additional stepper drivers (9 total)
- Four additional 5V tolerant GPIO signals available when not used by the add-on board
Build and Use
See the page that corresponds with the version you are building:
Assembled and tested boards can be purchased from Pico Systems
The schematic and PCB were designed using KiCad.
KiCad Design Files
Bill of Materials
The V2.2 boards came back from iteadstudio with a hard short on one of the pads (their goof, it's not in the gerbers). Since I needed to order boards again, I took the opportunity to tweak the silkscreen legend based on feedback from Brandon Heller (added diode polarity marks for the SS14's) and fix a few glitches I noticed (the bed heater output labeling and JP301 label position). There are no design changes in this revision, which is electrically identical to version 2.2 and uses the same BOM, stencil, and placement file.
Production fixes including:
- Increase Pololu Socket pad/drill to 65/40 mil & fix resulting clearance violations
- Add Fiducials
- Update LED Colors and use 0603 part numbers (applies to 2.1 as well)
- Fix inverted ESTOP LED (requires addition of one more 2N7002K)
- Fix serial port pass-through header location
Immediately after sending off the V2.0 boards, I noticed the pin-header footprints were inconsistent (some used a 1.00 mm drill and some use 1.02 mm). Version 2.1 fixes these inconsistencies and moves some traces to improve DFM (centering traces between pads and spreading traces apart where possible). There are no design changes to this version of the board, which is electrically identical to V2.0.
This version focuses on simplifying the design and reducing the cost as much as possible. All ECOs from the V1.0 boards were incorporated. To make hand assembly much easier the fine-pitch resistor networks were replaced with discrete parts and the '3861 was changed to an SOIC package. All discrete parts were also switched to 0603 parts to save space and match the board designer's parts bin. This revision is no longer a minor tweak of the RAMPS-FD design, but there are still a lot of similarities.
While the available BeBoPr and Replicape 3D printer capes for the BeagleBone are excellent designs, they lack the simplicity and low-cost of the proven RAMPS design. The RAMPS-FD for the Due solves most of the issues related with porting RAMPS to the BeagleBone (mostly related to 3.3V vs. 5V I/O) and was used as the starting point for this design.
Given the loss of I/O pins on the BeagleBone Black due to the on-board HDMI and eMMC flash, it was not possible to map the RAMPS-FD I/O pins one-to-one onto the BeagleBone. Priority was given to the HDMI pins, which are unused by the CRAMPS cape so the BeagleBone can run stand-alone. To support all the I/O required for the RAMPS-FD design, some pins must overlap with the eMMC pins, meaning they are unusable if you wish to run the BeagleBone from the on-board flash instead of a uSD card. Finally, a choice needed to be made between leaving some pins available for expansion (UART, I2C) and requiring the eMMC be disabled to use some features (like the E1 and E2 extruders). I decided to go with maximum functionality on the base board in preference to future expansion in most cases. Only the servo lines are mapped to the eMMC and are unusable without running from a uSD card, which allows the SPI pins to be available for possible addition of the 4 or 6 axis RAMPS-FD-EXT expansion board or other SPI connected expansion. All motor drivers, limit switches, and FET outputs are available when booting from a BeagleBone Black using the on-board flash and HDMI output.
Pins have been assigned such that if the E1 or E2 extruder outputs are not needed, several UART/I2C lines are freed up for use with expansion logic. Any free pins (including the eMMC and HDMI pins, if these functions are disabled) may also be used as GPIO.