Release status: Working
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.
- Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmware
- Crystals for both usb and mcu (timing accurate to 10ppm)
- 4 Thermistor jacks
- All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)
- 2 channel SDRAMPS compatible SPI breakout
- 5 A4982 1/16th microstep motor drivers (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)
- Digital Trimpot for stepper current control
- Current limit on driver IC VCC to prevent permanent latchup
- Microstep mode configured by MCU through firmware (no jumpers needed)
- Test points for driver control signals
- Step and Direction pins are on their own ports for synchronous movement capability
- Extra driver ports broke out for up to 3 additional drivers (some of the motor extension pins are shared with max endstop and a pin allocated for SPI-SS extensions)
PWM DC outputs (Extruders, Fans, Etc.)
- 6 outputs
- Low resistance mosfets for cool running
- Indicator led for each channel
- Three independent power rails for flexible input power configurations
- Heated Bed, 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see rambo_development for hacks)
- Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage
- Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage
- Built in SMPS for 5V generation from Motor Power Input2
- 4 layer
- 2oz copper on all layers
- High quality, High temperature FR4-TG130 PCB
- Gold ENIG finishing
LCD panel support
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See RamboLCD for instructions
Support for RAMBo is in several firmwares.
For Marlin you will at least need to set the following variables in configuration.h:
#define MOTHERBOARD 301
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:
#define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_BED 1
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.
For some computers you may also need to set #define BAUDRATE 115200 to get communications.
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT
Windows requires a driver to communicate with RAMBo. Download this file File:RAMBo USBdriver.zip and unzip it into a known location on your computer. In windows 7, plug in your RAMBo board, and let windows fail to find the driver. Then, go to the start menu, right click on computer and click properties. On the left, click on Device Manager. Scroll down to Unknown Devices, and right click on RAMBo. Choose Update driver. CLick on "Browse my computer for driver software", then click on "Let me pick from a list of device drivers on my computer", then click the button for "Have Disk" and then click browse and point it to the file you downloaded above.
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the Allegro datasheet describes how to set the reference voltage: ITripMAX = VREF/(8 X RS). RS, the value of the sense resistor on RAMBo is equal to 0.1Ω. ITripMAX is the current the stepper motors are rated for. Ideally you should start with 70%-90% of maximum. You can verify the voltage for each driver by plugging the reference voltage (VREF) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:
VRef = ITripMAX * 0.8
Note the A4982 is set to be limited to 2A. This means the adjustable voltage range is 0 to 1.66 volts. The following formula will yield the 8-bit binary value, Wv, to be entered into firmware or directly over SPI.
Wv = VRef / 1.66 * 255
Current source files and tagged releases are at Github
There is a page at Rambo_development with the pin assignments, fuses, changelog, etc.
RAMBo has 3 replaceable fuses. The small white fuse holders are Little Fuse OMNI-BLOCK fuse holders. They are compatible with NANO2 Fuses. Fast or very fast acting are recommended. An example part number for replacement fuses is 0448005.MR
- F2 supplies the motors and on-board power supply.
- F3 supplies the extruder heater and fan outputs.
- F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.
Sources for replacement 5A fuses for F2 and F3 are below.
- UltiMachine: https://ultimachine.com/content/fuse-0448005mr
- Mouser: http://www.mouser.com/ProductDetail/Littelfuse/0448005MR/?qs=zLq6hPBL7g7rOZQEM1wS4Q==
- Octopart listing: http://octopart.com/0448005.mr-littelfuse-672815
Board designed by johnnyr. Based on work, research, and documentation published by open source heroes: Arduino, RepRap, Adrian Bowyer, Nophead, Zach Smith, Vik Oliver, Tonokip, Josef Prusa, Kliment Yanev, Jordan Miller, Joachim Glauche, and many many more Reprappers, etc.