https://reprap.org/mediawiki/api.php?action=feedcontributions&user=Johnnyr&feedformat=atomRepRap - User contributions [en]2024-03-28T23:12:53ZUser contributionsMediaWiki 1.30.0https://reprap.org/mediawiki/index.php?title=EinsyRambo&diff=181194EinsyRambo2018-01-08T21:18:36Z<p>Johnnyr: Remove driver current VCC line. Add note about tuning for sensorless homing.</p>
<hr />
<div>{{Development<br />
|image = EinsyRambo_v1.1a_1024x1024.jpg<br />
|status = Working<br />
|name = EinsyRambo<br />
|description = 3D Printer controller with TMC2130 stepper drivers.<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = ultimachine<br />
|reprap = MiniRambo<br />
|categories = {{tag|Electronics}}<br />
|url = [https://github.com/ultimachine/Einsy-Rambo/tree/1.1a Github]<br />
}}<br />
<br />
<br><br />
RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]] .:. [[MiniRambo]] .:. [[MiniRambo_development|MiniRambo Development]] .:. [[EinsyRambo]] .:. [[EinsyRambo_development|EinsyRambo Development]] '''<br />
<br />
=Summary=<br />
This board is based off [[MiniRambo]], the Arduino MEGA design, and the work of RepRap community. It has 4 Trinamic TMC2130 stepper drivers and 4 mosfet switched outputs.<br />
<br />
[[Image:EinsyRambo1.1a-connections.png|400px|EinsyRambo 1.1a main connections.]]<br />
<br />
=Differences from MiniRambo=<br />
*4 tmc2130 1/256 microstepping drivers vs. 4 a4982 1/16 microstepping drivers<br />
*Sensorless homing vs. No sensorless homing (Requires advanced tuning)<br />
*2 mechanical endstop inputs (2pin) + ZProbe (4pin) vs. 6 optical endstop inputs<br />
*SPI control of motor current vs. PWM control of stepper current<br />
*'''FANS are powered by 5 Volt rail''' and have tachometer feedback using a 3pin connector vs. 12-24V powered with no feedback.<br />
*Max motor current per driver is RMS 940mAh vs. RMS 1.4A<br />
<br />
=Powering=<br />
Power must be connected to the Primary Power input for the board to operate. The USB connection is isolated from the rest of the board and cannot be a power source.<br><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*3 Thermistor jacks + 4th Thermistor circuit on ZProbe.<br />
<br />
Motor Drivers<br />
*4 Trinamic TMC2130 1/256th [[Stepper motor driver | microstep motor drivers]](2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*SPI Control of stepper current instead of PWM.<br />
<br />
*Microstep mode configured by MCU through firmware (SPI, no jumpers needed)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*4 outputs (1 Extruder, 1 BED, 2 low power (fan,etc)<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
*FANS have 3pin fan connector.<br />
*FANS have 5V instead of 12-24V power source.<br />
*FAN connectors have tachometer feedback pin to the MCU to measure fan speed in capable firmware.<br />
<br />
Power<br />
*2 power input rails<br />
**[[Heated Bed]], 15A 12-24V (15A dedicated fuse)<br />
**Primary Power 10A 12-24V: Motors, Logic & Fans (5A dedicated fuse) + Extruder (5A dedicated fuse)<br />
*Built in SMPS for 5V generation from the '''Motors, Logic & Fans''' rail<br />
**Provides 5V power to FANS<br />
<br />
PCB<br />
*6 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
=Connectors=<br />
* 4-pin motor,zprobe plug - Molex 5057-9404<br />
* 3-pin fan plug - Molex 5057-9403<br />
* 2-pin thermistor, mech. endstop plug - Molex 5057-9402<br />
<br />
=Schematic=<br />
https://github.com/ultimachine/Einsy-Rambo/blob/1.1a/board/Project%20Outputs/Schematic%20Prints_Einsy%20Rambo_1.1a.PDF<br />
<br />
=Fuses=<br />
There are 3 user replaceable ATO fuses (the type found in many automotives). <br />
<br />
*F1 5A supplies the motors + logic & fans .<br />
*F2 5A supplies the extruder heater.<br />
*F3 15A supplies the heated bed output.<br><br />
<br />
=Firmware=<br />
<br />
===Firmware Requirements===<br />
Just like Rambo ArduinoAddons need to be installed to make use of all the pins. Not installing ArduinoAddons can result in only partially working features. ArduinoAddons can be installed manually or by the new board manager third party url feature. [[Rambo_firmware#Arduino_1.6.4.2B_Board_Manager_Plugin]]<br />
<br />
===Marlin fork===<br />
https://github.com/ultimachine/Marlin/tree/marlin-1.1.5-einsy0.5c<br />
<br />
=USB Driver=<br />
Windows 10, Linux, Mac have built in CDC driver.<br />
<br />
*Boards sourced from UltiMachine can reuse the same Windows CDC driver as the [[RAMBo#USB Driver|RAMBo USB driver]].<br />
*Boards sourced from Prusa3D use their driver.<br />
<br />
=Changelog=<br />
1.1a Revision Summary<br />
- Added 2Mb serial flash<br />
- Added voltage translators for serial flash<br />
- Added tri-state buffer to block 3.3V MISO on the SD Card from the 5V MISO bus<br />
- Added barrel-relief to bottom side of thermal vias for TMC2130, FETs and SMPS<br />
- Added 3.3V LDO for serial flash<br />
<br />
=Troubleshooting=<br />
This is a generic troubleshooting guide. These steps may vary depending on manufacturer configuration. Contact your supplier if these steps do not help.<br />
*Cannot connect with 3D printing control software<br />
**Is the power indicator LED on? <br />
***Make sure the power is connected as described in: [[#Powering|Powering]]. <br />
***Is a fuse blown? [[#Fuses|Fuses]]<br />
**Is correct driver installed? [[#USB Driver|USB Driver]]<br />
**Is there firmware installed on your Mini-Rambo? [[#Firmware|Firmware]]<br />
*All Heater and Fan LEDs stay lit when board is powered.<br />
**Check that the power source is not plugged into the Heater outputs. <br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=142181Rambo2015-01-19T15:48:22Z<p>Johnnyr: add v1.3 link</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = {{tag|Electronics}}<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_v1.3|RAMBo v1.3]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
The features have evolved with newer versions of RAMBo. Find version specific info at:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation<br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
=Documentation=<br />
The RAMBo user manual can be downloaded [http://reprapelectro.com/?attachment_id=252 here]<br />
<br />
=Powering RAMBo=<br />
Different versions of RAMBo require different power rails connected to power the logic. Please see the page for your board:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
=USB Driver=<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Firmware=<br />
Support for RAMBo is in several firmwares. More details at [[Rambo_firmware|RAMBo firmware]].<br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo v1.1schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
Sources for replacement 5A fuses for F2 and F3 are below.<br />
<br />
*UltiMachine: https://ultimachine.com/content/fuse-0448005mr<br />
*Mouser: http://www.mouser.com/ProductDetail/Littelfuse/0448005MR/?qs=zLq6hPBL7g7rOZQEM1wS4Q==<br />
*Octopart listing: http://octopart.com/0448005.mr-littelfuse-672815<br />
<br />
=Where to buy=<br />
* [https://ultimachine.com/content/rambo-13 Ultimachine]<br />
* [https://reprapelectro.com/product/rambo/ RepRapElectro]<br />
<br />
<br />
=Credits=<br />
Board designed by johnnyr (at UltiMachine). 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.<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.1&diff=142180Rambo v1.12015-01-19T15:47:55Z<p>Johnnyr: add v1.3 link</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_v1.3|RAMBo v1.3]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
This page is applicable for RAMBo version 1.0 through 1.1<br />
<br />
See [[rambo | RAMBo]] for general RAMBo details including firmware, configuration, drivers, etc. See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br/><br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
==Features==<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
==Schematic==<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
==Fuses==<br />
RAMBo v1.1 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output. (Version 1.0 has 11A PTC self resetting fuse)<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.2&diff=142179Rambo v1.22015-01-19T15:47:29Z<p>Johnnyr: add v1.3 link</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_v1.3|RAMBo v1.3]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
This page is applicable for RAMBo version 1.2<br />
<br />
See [[rambo | RAMBo]] for general RAMBo details including firmware, configuration, drivers, etc. See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br />
<br/><br />
<br />
=Powering RAMBo 1.2=<br />
Starting v1.2 you must connect power to the Heater, Fans, and Logic input for the RAMBo to operate. The USB connection is now isolated from the rest of the board and cannot be a power source.<br><br />
[[Image:rambo1-2-conn-main.jpg|400px|RAMBo 1.2 main connections.]]<br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]](2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-35V<br />
**Extruders + fans and logic, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
**Motors, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
*Built in SMPS for 5V generation from Extruders + fans and logic <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
=Schematic=<br />
[[Image:rambo1-2-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Fuses=<br />
RAMBo v1.2 has 3 user 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater + fan outputs and logic.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br><br />
[[Image:ramb1-2-fuses.jpg|400px|fuses]]<br />
<br />
=USB static sensitivity=<br />
One of the goals of the v1.2 design was to separate the USB system from the rest of the board, improving the noise resistance. Unfortunately, this meant that static discharges into the USB port could fry the components between the two sections, disabling the USB port. Ultimachine has created a retrofit mod that plugs into two unused connectors on the board and provides for discharging the harmful voltages. Some boards have also been released with SMC modes to fix this, and version 1.2fp of the board includes the fix on the board.<br />
<br />
According to an email by Brett of [[UltiMachine]] on 3/14/2014, if a specific board has been patched for this problem then its serial number sticker, located on the edge of the board between the endstop connectors and motor connectors, will have a suffix of "P".<br />
<br />
=Troubleshooting=<br />
This is a generic troubleshooting guide for RAMBo. These steps may vary depending on manufacturer configuration. Contact your supplier if these steps do not help.<br />
*Cannot connect with 3D printing control software<br />
**Is the power indicator LED on? <br />
***Make sure the power is connected as described in :[[Rambo v1.2#Powering Rambo 1.2|Powering RAMBo 1.2]]. <br />
***Is F3 blown? [[Rambo#Fuses|Rambo fuses]]<br />
**Is correct driver installed? [[Rambo#USB Driver|RAMBo USB driver]]<br />
**Is there firmware installed on your RAMBo? [[Rambo firmware]]<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.3&diff=142178Rambo v1.32015-01-19T15:46:16Z<p>Johnnyr: new page</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_v1.3|RAMBo v1.3]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
This page is applicable for RAMBo version 1.3<br />
<br />
=Powering RAMBo 1.3=<br />
Starting v1.3 you must connect power to the Heater, Fans, and Logic input for the RAMBo to operate. The USB connection is now isolated from the rest of the board and cannot be a power source.<br><br />
[[Image:rambo1-2-conn-main.jpg|400px|RAMBo 1.2 main connections.]]<br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]](2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-35V<br />
**Extruders + fans and logic, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
**Motors, 5A 12-28V (fuse can be exchanged for up to 10A capacity)<br />
*Built in SMPS for 5V generation from Extruders + fans and logic <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
=Schematic=<br />
[[Image:rambo1-2-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Fuses=<br />
RAMBo v1.3 has 3 user 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater + fan outputs and logic.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br><br />
[[Image:ramb1-2-fuses.jpg|400px|fuses]]<br />
<br />
=Troubleshooting=<br />
This is a generic troubleshooting guide for RAMBo. These steps may vary depending on manufacturer configuration. Contact your supplier if these steps do not help.<br />
*Cannot connect with 3D printing control software<br />
**Is the power indicator LED on? <br />
***Make sure the power is connected as described in :[[Rambo v1.2#Powering Rambo 1.2|Powering RAMBo 1.2]]. <br />
***Is F3 blown? [[Rambo#Fuses|Rambo fuses]]<br />
**Is correct driver installed? [[Rambo#USB Driver|RAMBo USB driver]]<br />
**Is there firmware installed on your RAMBo? [[Rambo firmware]]<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=PID_Tuning&diff=131932PID Tuning2014-08-26T20:11:51Z<p>Johnnyr: add save to eeprom</p>
<hr />
<div>PID tuning refers to a proportional-integral-derivative control algorithm used in some repraps for hot ends and heated beds. <br />
<br />
PID needs to have a P, I and D value defined to control the nozzle temperature. If the temperature ramps up quickly and slows as it approaches the target temperature, or if it swings by a few degrees either side of the target temperature, then the values are incorrect. <br />
<br />
To run [[G-code#M303:_Run_PID_tuning| PID Autotune]] in Marlin and other firmares, run the following gcode with the nozzle cold: <br />
M303 E0 S200 C8<br />
<br />
This will heat the first nozzle (E0), and cycle around the target temperature 8 times (C8) at the given temperature (S200) and return values for P I and D. An example from http://www.soliwiki.com/PID_tuning is:<br />
<nowiki>bias: 92 d: 92 min: 196.56 max: 203.75<br />
Ku: 32.59 Tu: 54.92<br />
Clasic PID<br />
Kp: 19.56<br />
Ki: 0.71<br />
Kd: 134.26<br />
PID Autotune finished ! Place the Kp, Ki and Kd constants in the configuration.h<br />
</nowiki><br />
<br />
For Marlin, these values indicate the counts of the soft-PWM power control (0 to PID_MAX) for each element of the control equation. The softPWM value regulates the duty cycle of the f=(FCPU/16/64/256/2) control signal for the associated heater. The proportional (P) constant Kp is in counts/C, representing the change in the softPWM output per each degree of error. The integral (I) constant Ki in counts/(C*s) represents the change per each unit of time-integrated error. The derivative (D) constant Kd in counts/(C/s) represents the change in output expected due to the current rate of change of the temperature. In the above example, the autotune routine has determined that to control for a temperature of 200C, the soft PWM should be biased to 92 + 19.56*error + 0.71 * (sum of errors*time) -134.26 * dError/dT. The 'sum of errors*time' value is limited to the range +/-PID_INTEGRAL_DRIVE_MAX as set in Configuration.h. Commercial PID controllers [http://en.wikipedia.org/wiki/PID_controller#Ideal_versus_standard_PID_form typically] use time-based parameters, Ti=Kp/Ki and Td=Kd/Kp, to specify the integral and derivative parameters. In the example above: Ti=19.56/0.71=27.54s, meaning an adjustment to compensate for integrated error over about 28 seconds; Td=134.26/19.56=6.86s, meaning an adjustment to compensate for the projected temperature about 7 seconds in the future. <br />
<br />
The Kp, Ki, and Kd values can be entered with: <br />
M301 P19.56 I0.71 D134.26 <br />
<br />
In the case of multiple extruders (E0, E1, E2) these PID values are shared between the extruders, although the extruders may be controlled separately. If the EEPROM is enabled, save with M500. If it is not enabled, save these settings in Configuration.h.<br />
<br />
For the bed, use:<br />
Bed: M303 E-1 S60 C8 <br />
<br />
and save bed settings with: <br />
M304 P1 I2 D3 <br />
<br />
For manual adjustments: <br />
* if it overshoots a lot and oscillates, either the integral gain needs to be increased or all gains should be reduced<br />
* Too much overshoot? Increase D, decrease P. <br />
* Response too damped? Increase P. <br />
* Ramps up quickly to a value below target temperature (0-160 fast) and then slows down as it approaches target (160-170 slow, 170-180 really slow, etc) temperature? Try increasing the I constant.<br />
<br />
<br />
See also Wikipedia's [http://en.wikipedia.org/wiki/PID_controller PID_controller] and [http://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method Zeigler-Nichols] tuning method. Marlin autotuning (2014-01-20, https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/temperature.cpp#L250 ) uses the Ziegler-Nichols 'Classic' method, which first finds a gain which maximizes the oscillations around the setpoint, and uses the amplitude and period of these oscillations to set the proportional, integral, and derivative terms.<br />
<br />
==Saving PID settings==<br />
You will need to commit your changes to EEPROM or your configuration.h file for them to be permanent.<br />
<br />
To save to EEPROM use:<br />
M500<br />
<br />
<br />
== Modifying Marlin Autotune parameters ==<br />
The default Marlin M303 calculates a set of [https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method Ziegler-Nichols] "Classic" parameters based on the Ku (Ultimate Gain) and the Pu (Ultimate Period), where the Ku and Pu are determined by searching for a biased BANG-BANG oscillation around an average power level that produces oscillations centered on the setpoint. (See https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/temperature.cpp#L238 ) <br />
<br />
<nowiki><br />
Kp_classic=Ku*0.6<br />
Ki_classic=2*Kp_classic/Tu <br />
Kd_classic=Kp_classic*Tu/8<br />
</nowiki><br />
<br />
You can transform these "Classic" parameters into the Zeigler-Nichols "Some Overshoot" set with: <br />
<br />
<nowiki><br />
Kp=Kp_classic*0.55<br />
Ki=Ki_classic<br />
Kd=Kd_classic*8/3<br />
</nowiki><br />
<br />
Or the Z-N "No Overshoot" set:<br />
<br />
<nowiki><br />
Kp=Kp_classic/3 <br />
Ki=Ki_classic <br />
Kd=Kd_classic*8/3<br />
</nowiki><br />
<br />
<br />
Note that the multipliers for the autotuning parameters each have only one significant digit (implying 10% maximum precision), and that the other schemes differ by factors of 2 or 3. PID autotuning and tuning isn't terribly precise, and changes in the parameters by factors of 5 to 50% are perfectly reasonable.<br />
<br />
In Marlin, the parameters that control and limit the PID controller can have more significant effects than the popular PID parameters. For example, PID_MAX and PID_FUNCTIONAL_RANGE, and PID_INTEGRAL_DRIVE_MAX can each have dramatic, unexpected effects on PID behavior. For instance, a too-large PID_MAX on a high-power heater can make autotuning impossible; a too-small PID_FUNCTIONAL_RANGE can cause odd reset behavior; a too large PID_FUNCTIONAL_RANGE can guarantee overshoot; and a too-small PID_INTEGRAL_DRIVE_MAX can cause droop.<br />
<br />
== PID Tuning by Commercial PID ==<br />
<br />
If you have access to a PID controller unit and a compatible thermal probe that fits down into your hotend, you can use them to tune your PID and calibrate your thermistor.<br />
<br />
Connection of the output of the PID to your heater varies depending on your electronics. (I used a 1K2:4K7 voltage divider to drop the 22V output of the PID to 5V for my bread-boarded VNP4904)<br />
<br />
<br />
After the PID is connected you can use it to measure the nozzle temperature and correlate it with the thermistor readings and resistances.<br />
<br />
Conversion from the commercial PID values of kP in %fullscale, Ti in seconds, and Td in seconds is as follows:<br />
<br />
<nowiki><br />
Kp_marlin = 255 * kP_%fs / 100 (counts/C)<br />
<br />
Ki_marlin = Kp_marlin/Ti (counts/(C*s)) <br />
<br />
Kd_marlin = Td/Kp_marlin (counts/(C/s))<br />
</nowiki><br />
<br />
<br />
As an example, a $30 MYPIN TD4-SNR 1/16 DIN PID temperature controller and $10 type-K probe can hold a particular Wildseyed hotend with a 6.8ohm resistor at 185.0C+/-0.1C using 12V with about a 43.7% duty cycle, or 0.437*12*12/6.8=9.25W. Invoking the autotuning on the controller produces these parameters: P=0.8%/C, I=27s, D=6.7s. Converting these to Marlin PID values:<br />
<br />
<nowiki><br />
Kp_marlin = 255counts/fs * 0.8% / (100%/fs) = 2.04 counts/C<br />
<br />
Ki_marlin = Kp_marlin/Ti = 2.04counts/C/(27s) = 0.7 counts/(C*s)<br />
<br />
Kd_marlin = Td/Kp_marlin = 6.7s/(2.04 counts/C) = 3.3 counts/(C/s)<br />
</nowiki><br />
<br />
Differences between the results can be caused by physical differences in the systems, (e.g: the thermocouple is closer to the heater than the thermistor,) or by different choices of autotuning parameters (e.g.: the MYPIN TD4 autotuning process is a proprietary black box, while Marlin uses Zeigler-Nichols "Classic" method.)<br />
<br />
The Temperature/resistance table below was developed by using the PID+thermocouple system to set temperatures on a sample hotend by controlling the heater while measuring the thermistor resistance. These values can be used with Nophead's http://hydraraptor.blogspot.com/2012/11/more-accurate-thermistor-tables.html or Marlin's https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/createTemperatureLookupMarlin.py to create calibrated thermistor tables. The PID column collects the autotuning values produced by the PID controller for the indicated temperature. The kP,Ki,Kd lists the converted parameters.<br />
<br />
{| class="wikitable sortable"<br />
! Temp !! DutyCycle!! Thermistor R !! Commercial PID !! Kp,Ki,Kd<br />
|- <br />
| 60.0 || 6.0 || 31630 || <br />
|- <br />
|100.0 || 15.7 || 10108 || 1.1%/C, 35.5s, 8.8s || 2.81, 0.08, 3.13<br />
|- <br />
|120.0 || 22.5 || 5802 || 1.0%/C, 32.0s, 8.0s || 2.55, 0.08, 3.14<br />
|- <br />
|135.0 || 26.5 || 3967 <br />
|- <br />
|150.0 || 28.5 || 2840 || 1.2%/C, 29.0s, 7.2s || 3.06, 0.10, 2.35<br />
|- <br />
|170.0 || 34.0 || 1829 ||<br />
|- <br />
|185.0 || 43.7 || 1347 || 0.8%/C, 27s, 6.7s || 2.04, 0.08, 3.28<br />
|- <br />
|190.0 || 45.9 || 1200 || 0.8%/C, 26s, 6.5s || 2.04, 0.08, 3.18<br />
|- <br />
|200.0 || 51.0 || 977<br />
|}</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=131017Rambo firmware2014-08-08T18:09:03Z<p>Johnnyr: /* Mac */ clarify</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
==Summary==<br />
The [[RAMBo]] (RepRap Arduino-compatible Mother Board) hardware is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
==RAMBo Arduino Plugin==<br />
<br />
[[List of Firmware#Marlin|Marlin]] and [[List of Firmware#Repetier-Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
Once the add ons are installed you can select RAMBo from Arduino>Tools>Board><br />
<br />
Without the add ons you can use Arduino Mega2560 from Arduino>Tools>Board> . You will not have functionality on the extended ports. Firmware may not work as expected if the firmware developer expected the add on folder to be installed.<br />
<br />
===Mac===<br />
<br />
Copy Rambo folder from Marlin/Arduinoddons/Arduino_1.x.x/hardware/ into /Applications/Arduino.app/Contents/Resources/Java/hardware . You will need to use show package contents on the Arduino.app to access it's contents and add the files.<br />
<br />
==Marlin==<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K [[thermistor]] on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
==Repetier==<br />
<br />
[[List of Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
==Firmware Development==<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
===Motor Current===<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = (V<small><sub>Ref</sub></small> / 1.66) * 255<br />
<br />
===Micro-stepping Configuration===<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=131016Rambo firmware2014-08-08T17:58:51Z<p>Johnnyr: /* RAMBo Arduino Plugin */ mac instructions</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
==Summary==<br />
The [[RAMBo]] (RepRap Arduino-compatible Mother Board) hardware is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
==RAMBo Arduino Plugin==<br />
<br />
[[List of Firmware#Marlin|Marlin]] and [[List of Firmware#Repetier-Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
Once the add ons are installed you can select RAMBo from Arduino>Tools>Board><br />
<br />
Without the add ons you can use Arduino Mega2560 from Arduino>Tools>Board> . You will not have functionality on the extended ports. Firmware may not work as expected if the firmware developer expected the add on folder to be installed.<br />
<br />
===Mac===<br />
<br />
Copy Rambo folder from Marlin/Arduinoddons/Arduino_1.x.x/hardware/ into /Applications/Arduino.app/Contents/Resources/Java/hardware<br />
<br />
==Marlin==<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K [[thermistor]] on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
==Repetier==<br />
<br />
[[List of Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
==Firmware Development==<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
===Motor Current===<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = (V<small><sub>Ref</sub></small> / 1.66) * 255<br />
<br />
===Micro-stepping Configuration===<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.<br />
<br />
[[category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=130063Rambo development2014-07-22T17:24:47Z<p>Johnnyr: /* Changelog */ 1.3L</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
<br />
=Thermocouple and additional thermistors=<br />
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. You can also connect thermocouple amplifiers that communicate via SPI or other bus.<br />
<br />
You will need to configure your firmware for the pin change and new sensor type.<br />
<br />
=Analog Extension=<br />
{| border="1"<br />
|-<br />
| '''Arduino Analog Pin'''<br />
'''Analog-Ext location'''<br />
| <br />
|<br />
|<br />
|-<br />
| GND<br />
Analog-Ext 2<br />
| 3<br />
Analog-Ext 4<br />
| 4<br />
Analog-Ext 6<br />
| 5<br />
Analog-Ext 8<br />
|-<br />
| 5V<br />
Analog-Ext 1<br />
| 8<br />
Analog-Ext 3<br />
| 6<br />
Analog-Ext 5<br />
| 7<br />
Analog-Ext 7<br />
|}<br />
<br />
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.3L<br />
**Add TVS diode to motor outputs (prevents failure due to hot-plugging motor and excessive BEMF)<br />
**Add filter capacitors to motor outputs<br />
**Add ferrite bead to motor and logic/extruder power inputs<br />
**The varistor providing ESD to USB pathway is replaced with a TVS diode<br />
**Flyback diode on mosfets now 3A to reduce unique part count<br />
**Icoupler decoupling now 100nF at each power pin<br />
**Remove solder mask between QFN pins<br />
**Shrink 12.5mm capacitor drill size<br />
**New footprints for 0603 components<br />
**Silk screen fixes<br />
*1.2g(p)<br />
**The varistor change from 1.2fp is now in the design and the solder mask is stopped for the component. (electrically the same as 1.2fp)<br />
*1.2fp<br />
**Patch to 1.2f. Add varistor between USB GND and GND to shunt ESD to USB shield. Done by manually removing solder mask<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release<br />
<br />
[[Category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=122270Rambo development2014-04-08T18:17:45Z<p>Johnnyr: changelog 1.2g</p>
<hr />
<div>RAMBo Pages: '''[[Rambo|RAMBo]] .:. [[Rambo_v1.1|RAMBo v1.0-1.1]] .:. [[Rambo_v1.2|RAMBo v1.2]] .:. [[Rambo_firmware|RAMBo Firmware]] .:. [[Rambo_development|RAMBo Development]]'''<br />
<br />
This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
<br />
=Thermocouple and additional thermistors=<br />
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. You can also connect thermocouple amplifiers that communicate via SPI or other bus.<br />
<br />
You will need to configure your firmware for the pin change and new sensor type.<br />
<br />
=Analog Extension=<br />
{| border="1"<br />
|-<br />
| '''Arduino Analog Pin'''<br />
'''Analog-Ext location'''<br />
| <br />
|<br />
|<br />
|-<br />
| GND<br />
Analog-Ext 2<br />
| 3<br />
Analog-Ext 4<br />
| 4<br />
Analog-Ext 6<br />
| 5<br />
Analog-Ext 8<br />
|-<br />
| 5V<br />
Analog-Ext 1<br />
| 8<br />
Analog-Ext 3<br />
| 6<br />
Analog-Ext 5<br />
| 7<br />
Analog-Ext 7<br />
|}<br />
<br />
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2g(p)<br />
**The varistor change from 1.2fp is now in the design and the solder mask is stopped for the component. (electrically the same as 1.2fp)<br />
*1.2fp<br />
**Patch to 1.2f. Add varistor between USB GND and GND to shunt ESD to USB shield. Done by manually removing solder mask<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release<br />
<br />
[[Category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=118515Rambo development2014-02-25T02:48:40Z<p>Johnnyr: /* Changelog */ add 1.2fp</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
<br />
=Thermocouple and additional thermistors=<br />
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. You can also connect thermocouple amplifiers that communicate via SPI or other bus.<br />
<br />
You will need to configure your firmware for the pin change and new sensor type.<br />
<br />
=Analog Extension=<br />
{| border="1"<br />
|-<br />
| '''Arduino Analog Pin'''<br />
'''Analog-Ext location'''<br />
| <br />
|<br />
|<br />
|-<br />
| GND<br />
Analog-Ext 2<br />
| 3<br />
Analog-Ext 4<br />
| 4<br />
Analog-Ext 6<br />
| 5<br />
Analog-Ext 8<br />
|-<br />
| 5V<br />
Analog-Ext 1<br />
| 8<br />
Analog-Ext 3<br />
| 6<br />
Analog-Ext 5<br />
| 7<br />
Analog-Ext 7<br />
|}<br />
<br />
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2fp<br />
**Patch to 1.2f. Add varistor between USB GND and GND to shunt ESD to USB shield<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release<br />
<br />
[[Category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=118492Rambo development2014-02-24T20:15:57Z<p>Johnnyr: /* Thermocouple and additional thermistors */ firmware hint</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
<br />
=Thermocouple and additional thermistors=<br />
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. You can also connect thermocouple amplifiers that communicate via SPI or other bus.<br />
<br />
You will need to configure your firmware for the pin change and new sensor type.<br />
<br />
=Analog Extension=<br />
{| border="1"<br />
|-<br />
| '''Arduino Analog Pin'''<br />
'''Analog-Ext location'''<br />
| <br />
|<br />
|<br />
|-<br />
| GND<br />
Analog-Ext 2<br />
| 3<br />
Analog-Ext 4<br />
| 4<br />
Analog-Ext 6<br />
| 5<br />
Analog-Ext 8<br />
|-<br />
| 5V<br />
Analog-Ext 1<br />
| 8<br />
Analog-Ext 3<br />
| 6<br />
Analog-Ext 5<br />
| 7<br />
Analog-Ext 7<br />
|}<br />
<br />
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release<br />
<br />
[[Category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=118491Rambo development2014-02-24T20:12:48Z<p>Johnnyr: Add analog extension details</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
<br />
=Thermocouple and additional thermistors=<br />
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. <br />
<br />
You can also connect thermocouple amplifiers that communicate via SPI or other buss.<br />
<br />
=Analog Extension=<br />
{| border="1"<br />
|-<br />
| '''Arduino Analog Pin'''<br />
'''Analog-Ext location'''<br />
| <br />
|<br />
|<br />
|-<br />
| GND<br />
Analog-Ext 2<br />
| 3<br />
Analog-Ext 4<br />
| 4<br />
Analog-Ext 6<br />
| 5<br />
Analog-Ext 8<br />
|-<br />
| 5V<br />
Analog-Ext 1<br />
| 8<br />
Analog-Ext 3<br />
| 6<br />
Analog-Ext 5<br />
| 7<br />
Analog-Ext 7<br />
|}<br />
<br />
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release<br />
<br />
[[Category:Rambo]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.2&diff=116296Rambo v1.22014-01-24T18:48:32Z<p>Johnnyr: adding troubleshooting</p>
<hr />
<div>This page is applicable for RAMBo version 1.2<br />
<br />
See [[rambo | RAMBo]] for general RAMBo details including firmware, configuration, drivers, etc. See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br />
<br/><br />
<br />
=Powering RAMBo 1.2=<br />
Starting v1.2 you must connect power to the Heater, Fans, and Logic input for the RAMBo to operate. The USB connection is now isolated from the rest of the board and cannot be a power source.<br><br />
[[Image:rambo1-2-conn-main.jpg|400px|RAMBo 1.2 main connections.]]<br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]](2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-35V<br />
**Extruders + fans and logic, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
**Motors, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
*Built in SMPS for 5V generation from Extruders + fans and logic <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
=Schematic=<br />
[[Image:rambo1-2-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Fuses=<br />
RAMBo v1.2 has 3 user 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater + fan outputs and logic.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br><br />
[[Image:ramb1-2-fuses.jpg|400px|fuses]]<br />
<br />
=Troubleshooting=<br />
This is a generic troubleshooting guide for RAMBo. These steps may vary depending on manufacturer configuration. Contact your supplier if these steps do not help.<br />
*Cannot connect with 3D printing control software<br />
**Is the power indicator LED on? <br />
***Make sure the power is connected as described in :[[Rambo v1.2#Powering Rambo 1.2|Powering RAMBo 1.2]]. <br />
***Is F3 blown? [[Rambo#Fuses|Rambo fuses]]<br />
**Is correct driver installed? [[Rambo#USB Driver|RAMBo USB driver]]<br />
**Is there firmware installed on your RAMBo? [[RAMBo#Firmware|Rambo firmware]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Ramb1-2-fuses.jpg&diff=116295File:Ramb1-2-fuses.jpg2014-01-24T18:43:11Z<p>Johnnyr: </p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Rambo1-2-conn-main.jpg&diff=116294File:Rambo1-2-conn-main.jpg2014-01-24T18:41:36Z<p>Johnnyr: Johnnyr uploaded a new version of &quot;File:Rambo1-2-conn-main.jpg&quot;</p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Rambo1-2-conn-main.jpg&diff=116292File:Rambo1-2-conn-main.jpg2014-01-24T17:06:03Z<p>Johnnyr: Johnnyr uploaded a new version of &quot;File:Rambo1-2-conn-main.jpg&quot;: scale</p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Rambo1-2-conn-main.jpg&diff=116291File:Rambo1-2-conn-main.jpg2014-01-24T17:05:01Z<p>Johnnyr: </p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=116290Rambo firmware2014-01-24T16:38:37Z<p>Johnnyr: fix links</p>
<hr />
<div>=Summary=<br />
RAMBo is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
=RAMBo Arduino Plugin= <br />
<br />
[[List of Firmware#Marlin|Marlin]] and [[List of Firmware#Repetier-Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
Once the add ons are installed you can select RAMBo from Arduino>Tools>Board><br />
<br />
Without the add ons you can use Arduino Mega2560 from Arduino>Tools>Board> . You will not have functionality on the extended ports. Firmware may not work as expected if the firmware developer expected the add on folder to be installed.<br />
<br />
=Marlin=<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
=Repetier=<br />
<br />
[[List of Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
=Firmware Development=<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
==Motor Current==<br />
<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
==Micro-stepping Configuration==<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Rambo1-2-schematic.png&diff=116289File:Rambo1-2-schematic.png2014-01-24T16:29:01Z<p>Johnnyr: </p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=RAMPS_1.4&diff=115898RAMPS 1.42014-01-22T16:15:25Z<p>Johnnyr: updating firmware instructions a bit</p>
<hr />
<div>{{RAMPS}}<br />
<br />
{{Languages|RAMPS 1.4}}<br />
<br />
{{Development<br />
|image = RAMPS1-3 fin.JPG<br />
|status = Working<br />
|name = RAMPS 1.4<br />
|description = RepRap Arduino Mega Pololu Shield<br />
Arduino MEGA based modular RepRap electronics.<br />
|license = [[GPL]]<br />
|author = johnnyr<br />
|reprap = Pololu Electronics<br />
|categories = [[:Category:RAMPS|RAMPS]][[Category:RAMPS]]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
<br />
In RAMPS 1.4, the resistors and capacitors are now surface mount to fit more passive components. This does add another set of steps to assembly, but we stuck with larger sizes to make it fairly painless.<br />
<br />
<gallery><br />
Image:RAMPS1-3 fin.JPG<br />
Image:Arduinomega1-4connectors.png<br />
Image:RAMPS1.4schematic.png<br />
Image:Ramps_v1.4_shield_bothsides.png<br />
</gallery><br />
<br />
= Safety Tip =<br />
<br />
[[image:Generation3Electronics-achtung.gif|thumb]]<br />
<br />
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop [http://en.wikipedia.org/wiki/Smoke_detector smoke detector]. Got no smoke detector? Get one!<br />
<br />
<br clear="all"/><br />
<br />
=Assembly=<br />
==Component Soldering==<br />
==Required Tools==<br />
You must have:<br />
Solder iron, solder wire, good tweezers<br />
You really need:<br />
Solder wick, solder sucker, flux pen<br />
Optional methods use:<br />
Solder paste, hot plate or oven <br />
<br />
===Shield Assembly===<br />
[[Image:RAMPS1-3pasteapplied.JPG|thumb]] <br />
Soldering RAMPS 1.4 includes both surface mount and through hole soldering.<br />
<br />
The surface mount can be done a few ways. Since all the SMT components on this board are large 2 pad parts you can do pin by pin soldering pretty easy with normal soldering equipment. Start by putting a small amount of solder on one pad. If you have flux, coat the soldered pad. Use the tweezers to hold the component down in position and heat the solder to tack the component into place (make sure the entire solder blob flows so you don't get a cold solder). Then solder the other pad. Also popular is using solder paste for pad by pad soldering, Oven Reflow (need link), and [[HotplateReflowTechnique]]<br />
<br />
Solder the SMT components first. Then the PTH on top of the board. Finally solder the pin headers on the bottom.<br />
<br />
==== C2 - 100nF capacitor====<br />
[[Image:RAMPS1-3 100nF.JPG|thumb]]<br />
This can be placed in any orientation.<br />
<br clear="all"/><br />
==== LED1 - Green LED====<br />
[[Image:RAMPS1-3 GrLED.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
<br />
==== LED2, LED3, LED4 - Red LED====<br />
[[Image:RAMPS1-3 redLEDs.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
====R13, R14, R15 - 10 Ohm resistor====<br />
[[Image:RAMPS1-3 10r.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R12 - 1K resistor====<br />
[[Image:RAMPS1-3 1k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R23, R24, R25 - 1.8K resistor====<br />
[[Image:RAMPS1-3 1-8k.JPG |thumb]]<br />
These are marked 1K on the PCB, but we are using larger ones to accommodate higher voltages. These can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====R1, R7, R11, R21, R22 - 4.7K resistor====<br />
[[Image:RAMPS1-3 4-7k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R16, R17, R18, R19, R20 - 10K resistor====<br />
[[Image:RAMPS1-3 10k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R2, R3, R4, R5, R6, R8, R9, R10 - 100K resistor====<br />
[[Image:RAMPS1-3 100k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====C1, C5, C8 - 10uF capacitor====<br />
[[Image:RAMPS1-3 10uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB.<br />
<br clear="all"/><br />
<br />
====C3, C4, C6, C7, C9, C10 - 100uF capacitor====<br />
[[Image:RAMPS1-3 100uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB. <br />
<br clear="all"/><br />
<br />
====Reflow SMT soldering====<br />
[[Image:RAMPS1-3_placed.JPG|200px|thumb]] [[Image:RAMPS1-3 smtSoldered.JPG|thumb]]<br />
If you are doing oven or hot plate method, now is the time apply heat (add links here). If you used a solder iron, you have probably already soldered all these components.<br />
<br />
Make sure to inspect the SMT soldering at this point since it will be harder to rework after the headers are on top.<br />
<br clear="all"/><br />
====Top pins====<br />
[[Image:RAMPS1-3 tpins.JPG|thumb]]<br />
Solder 1 1x6, 6 1x4, and 7 2x3 pin headers on top of the board. The long post should be standing up to take a connector. Solder one leg on each one to tack them into place. Then re-heat the joint and push on the component until it is perfectly situated. Then you'll want to solder the rest of the leads. You will get burnt if you touch the other side of the pin you are soldering.<br />
<br />
If you want to use the extra pin outputs, now is the time to solder on the rest of the headers.<br />
<br clear="all"/><br />
<br />
====Driver sockets====<br />
[[Image:RAMPS1-3 DrSockets.JPG |thumb]]<br />
Place the female headers for the stepper drivers on top of the board. You can use the 1x8 and 1x6 pin headers to jig them straight. Turn the board over and solder these pins.<br />
<br clear="all"/><br />
====D1, D2 - Diodes====<br />
[[Image:RAMPS1-3 DnF.JPG|thumb]]<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 and D2 diodes]]<br />
These must be placed in the proper orientation. The band on the diode must be turned the same way as the mark on the board.<br />
<br />
Definitely solder D2 in. D2, F1, and F2 are shown installed here.<br />
<br />
D1 should only be installed if the 5A rail is powered by 12V. It can be omitted and the Arduino will be powered from USB. You will want D1 installed if you add components to print without a PC. To reiterate, D1 MUST be omitted if you are powering the 5A rail by more than 12V, or the power is not absolutely clean, otherwise you may damage your ramps.<br />
<br style="clear: both" /><br />
<br />
====F1 - MFR500 Fuse====<br />
This is the smaller yellow fuse. This can be placed in any orientation. When soldering the fuses it is best to use a piece of 3mm filament or something similar to keep the ceramic coating on the pins from blocking proper solder along the through hole.<br />
<br />
Since the fuses are the tallest parts, it is simpler and more convenient to solder them last. From this point on, solder the rest of the RAMPS in order of bottom pins, reset switch, terminals, mosfets and then fuses.<br />
<br />
====Bottom pins====<br />
[[Image:RAMPS1-3 bpins.JPG|thumb]]<br />
[[image:DSC 0148.JPG|thumb]]<br />
Place these on the bottom of the board with the long post out to plug into the Arduino MEGA. You can plug them into the MEGA to hold them in place while you solder. Do not overheat the pins while in Arduino or you may damage its connectors.<br />
<br clear="all"/><br />
<br />
====Reset switch====<br />
[[Image:RAMPS1-3 rst.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Mosfet Terminal====<br />
[[Image:RAMPS1-3 6pos.JPG |thumb|Standard RAMPS 1.4 D8-10 Terminal Block]]<br />
[[Image:RAMPS1-4 6pos_alt.png |thumb|Alternative Plug/Jack Connectors]]<br />
This must be oriented where the wire holes are turned towards the edge of the board. Solder a pin on each end and make sure the component is flat on the board and solder the middle pins.<br />
<br clear="all"/><br />
====Power Terminal====<br />
[[Image:RAMPS1-3 4pos.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Q1, Q2, Q3 - Mosfets====<br />
[[Image:RAMPS1-3 mosfet.JPG|thumb]]<br />
These must be orientated as in the picture. The tall heat sink part of the mosfet needs to be turned the same as the mark on the board.<br />
<br clear="all"/><br />
====F2 - MFR1100 Fuse====<br />
This is the larger yellow fuse. This can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====Inspection====<br />
[[Image:RAMPS1-3 fin.JPG|200px|thumb]]<br />
Inspect your work. Clean any solder bridges and suspect solders.<br />
<br />
===Stepper Driver Boards===<br />
#*Jumpers need to be installed under each stepper driver:<br />
<br />
jumper Yes/No step size<br />
1 2 3<br />
no no no full step<br />
yes no no half step<br />
no yes no 1/4 step<br />
yes yes no 1/8 step<br />
yes yes yes 1/16 step<br />
For now the default is 1/16 micro stepping (all jumpers installed under drivers)<br />
<br />
#Cut the pin headers to 8 pins long so that they fit each side of the stepper driver.<br />
#Insert the pin headers into the sockets on RAMPS<br />
#Fit the stepper drivers onto the pin headers and solder. Only heat each pin for a few seconds at time to avoid damage to the socket. <br />
#*Glue the heatsink (if used) to the top of the [[A4988]]/[[A4983]] chip using the provided pad of double-sided adhesive.<br />
<br />
===Opto Endstops===<br />
Opto board 2.1 build instructions can be found [http://reprap.org/wiki/OptoEndstop_2.1#Build_It here on the reprap opto page], and also [http://reprapsource.com/oe-r1 here] for reprapsource.com's instructions.<br />
#* Cut the 26awg 3 conductor cable into 3 length.[[Image:RAMPSendstopConnector.JPG|right|100px|Close up of endstop connector on endstop.]]<br />
#* Note: you may want until you've built your machine to cut the cables to the perfect length.[[Image:RAMPSendstopConboard.JPG|right|100px|Close up of endstop connection on RAMPS]]<br />
##* crimp and solder a female connector to the ends of each wire. (solder not necessary with proper crimp tools) <br />
#* use the 2.54mm 1x3 housing.<br />
#* Connect at least the minimum endstops. <br />
{| border="1"<br />
| RAMPS End<br />
|<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|-<br />
| VCC (+)<br />
| Red<br />
|}<br />
{| border="1" <br />
| Endstop End<br />
|<br />
|-<br />
| VCC (+)<br />
| Red<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|}<br />
<br />
===Mechanical Endstops===<br />
[[File:MechSwitches 2Wire.JPG|thumb]]<br />
The recommended firmware will provide a configuration to use mechanical endstops with just two wires. <br />
<br />
Find the area labelled "endstops" in the upper right corner of the board and for each of the X, Y, and Z pairs of pins (label should be below each set) do the following: <br />
# Connect S (top row, labelled to the left) on RAMPS to NC on the switch.<br />
# Connect GND on RAMPS to C on the switch.<br />
<br />
'''Note:''' The latest firmware such as Marlin seems to use NO as the default pin on the switch. Otherwise you may need to invert the endstops in the firmware. You can use M119 to check your endstops status.<br />
<br />
===Put the connectors on the motor wires===<br />
#* solder a female connector to the ends of each wire.<br />
#* use the 2.54mm 1x3 housing. <br />
#* Shown is the type used for servos in RC projects. See [[Stepper Motors]] for info on motors.<br />
<br />
===Thermistor Wires===<br />
Use a 2 pin 0.1" connector to terminate the thermistor wires.<br />
#* Connect the cable so the 2 wires go to T0<br />
#Connect the 2 heater wires to D10 (E0H on older boards) and the + connection above it.<br />
#* If changing to an unverified firmware it is best to verify heater circuit function with a meter before connecting heater to prevent damage to the extruder.<br />
<br />
===Pololu carriage===<br />
[[image:PololuExample.JPG|thumb]]<br />
This section assumes you are using Pololu, but there are other options. Insert two 1x8 pin headers into the board. If you bought a kit with one 16 pin header, simply cut it so that you have two 1x8. Make sure that the side with the labels has the long ends of the posts, and the side you want to solder is the side with the heat sink. Doing this backwards will cause you not to see the labels and will most likely not fit. Remember to apply a heat-sink to the largest chip on the back.<br />
<br />
=Final Setup=<br />
==Pre-Flight Check==<br />
If you think you may have mistakes you can install only one stepper driver during initial testing and risk only one stepper driver.<br />
<br />
The trimpot on the stepper drivers controls the current limit. Turn it all the way down (counter clock wise) and back up 25%. Be careful to not force the trimpot, it is delicate. You will need to fine tune the current limit later. Note that it is allways giving the motors that much power, even when not moving, so if your stepper motor drivers are getting hot, you may want to turn it down slightly.<br />
<br />
[http://reprap.org/mediawiki/index.php?title=Arduino_Mega_Pololu_Shield#Make_the_cables_up_for_the_opto_endstops Connect the minimum endstops] for X,Y, and Z<br />
<br />
Connect Motors (Do not disconnect or connect motors while powered; if the connection is loose, this will cause the motors to spazz and possibly kill your stepper driver.)<br />
<br />
You may want to use this [http://reprap.org/wiki/File:RAMPSTestCode.pde code] to test all the electronics before installing any of the suggested firmwares.<br />
<br />
Install firmware (More info below). Firmware flashing can be done without 12V power supply connected.<br />
<br />
==Wiring==<br />
It is relatively simple to wire up the RAMPS. Just add the extruder heating coil wire to D10, the thermistor to the two T0 pins on middle right right, and wire up the steppers and endstops. From left to right, wire all of the stepper motor's wires as red, blue, green, and black or red, green, yellow, blue into the pins next to the Pololus. When you connect the wires to the endstops (if you are using 3 endstops, plug them into the MIN (-) slots), make sure you match the labels. <br />
<br />
[[Image:Rampswire14.svg|500px|]]<br />
<br />
Note that Tesla & Tonok firmware use D9 and Sprinter, Marlin, and Johnny/Tonok use D10 for the extruder hot end.<br />
<br />
===Warnings===<br />
<br />
<font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard.<br />
<br />
Incorrectly inserting stepper drivers will destroy your electronics and cause a fire risk. Always make sure power and USB is disconnected when removing or adjusting stepper drivers. Always make sure to insert drivers in correct orientation and in the socket correctly.<br />
<br />
The endstop pins are Signal - GND - VCC, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.</font><br />
<br />
==Connecting Power==<br />
<br />
Connect your 12V power supply to the RAMPS shield. <font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard</font>.<br />
<br />
The bottom pair of connectors marked 5A power the stepper drivers and Extruder heater/fan (D9, D10). The source should be rated a minimum of 5A.<br />
<br />
The pair of connectors above marked 11A power a Heated Bed, or other output (D8). The source should be rated a minimum 11A (if both power rails are connected to the same supply it should have a minimum rating of 16A).<br />
<br />
The barrel connector, on the Arduino MEGA, will NOT power RAMPS and will not provide power to the stepper motors, heated bed, etc.<br />
<br />
The power connector plug may not be obviously labeled, looking at the power connection the positive is on the left and the negative is on the right of the plug.<br />
<br />
==Power Supply==<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 diode (note that D2 is shown at the left, not D1)]]<br />
RAMPS is quite happy with the 12 V line from [[PCPowerSupply]].<br />
Or you can hack up a 12V laptop power supply, or other 12 V "wall wart" power supply. <font color="red"> Be sure that the power can output 5A or greater.</font> Additional 11A may be needed for heated bed support.<br />
<br />
See Connecting power above.<br />
<br />
The 3 pins next to the reset switch are meant to optionally connect to your PSU.<br />
<br />
The PS_ON pin is intended to switch your power supply on and off. Many firmwares support pulling this pin low with M80 command to turn the power supply on, and M81 to turn it off. This behavior is desired for ATX power supplies and can be modified in firmware to support 5V high power supplies like those borrowed from an Xbox.<br />
<br />
Without D1 installed, or when the 12VIN is not connected, the Arduino gets its power from USB. If you want your kit powered without USB connected you need to solder in D1 OR connect VCC to your PSU.<br />
<br />
The VCC pin can be connected to your ATX's 5Vsb to continuously power the Arduino from your ATX power supply. You will want to make sure that D1 is not installed or cut out. The Arduino is not designed to be powered directly on the VCC rail and the VIN pin at the same time.<br />
<br />
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it<br />
directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.<br />
<br />
===Maximum Input Voltage===<br />
====Power Supply without diode====<br />
The 1N4004 diode connects the RAMPS input voltage to the MEGA. If your board does not have this diode soldered in, you can safely input as much as 35V. (The pololus can do up to 35V)<br />
====Power Supply with diode====<br />
If your board has a 1N4004 diode soldered in, do not apply more than 12 V to it. Original flavor Arduino Mega are rated to 12 V input. While Arduino Mega 2560 can take 20 V, it is not recommended.<br />
<br />
=Firmware and Pin Assignments=<br />
<br />
<font color="red">RAMPS 1.4 uses the same pin definitions as 1.3.</font><br />
<br />
You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega. The version of Arduino you need may be determined by the firmware you want to use. The current (as of 2014-01-22) [[List_of_Firmware#Marlim|Marlin]] firmware is compatible with Arduino version 1.0.5. Some other firmwares may require Arduino software version 0023, NOT the most recent version. Please see your firmware documentations if you need assistance.<br />
<br />
Troubleshooting: You may need to make sure that the driver is installed for the Arduino MEGA by going to Control Panel -> Hardware and Sound -> Device Manager. If the device that appears/disappears when you plug in and unplug the board USB is "Unknown Device" under "Other devices", then you need to right click on the device and click the update driver button. Find where on your computer you saved/installed the Arduino software, and tell the wizard to search in the driver folder there. Windows 8 will give this error: "The third party INF does not contain digital signature". If so, save the zip for the latest version of Arduino on your PC, and repeat the steps above with the driver folder in there. It should contain the digital signature Windows needs.<br />
<br />
[[Sprinter]] and [[Marlin]] are popular and stable firmwares for RAMPS as of 3/28/2012. [[Pronterface]] is a cross platform printer control program that can be used for testing/printing.<br />
<br />
Working preconfigured '''Sprinter''' firmware can be downloaded at http://ultimachine.com/sites/default/files/UltiMachineRAMPS1-4Sprinter.zip . Mechanical is in the folder ending with ME, optical endstop firmware is in the folder ending in OE.<br />
<br />
Working preconfigured '''Marlin''' firmware can be downloaded at<br />
http://www.mediafire.com/?un8s4i2lvdgd875 . is for mecanical endstops, for optical endstop need to reverse the logic of endstops from the configuration.h shell, the language of display is in italian, but can easy be canged from the shell language.h, it is preconfigured for the RepRapDiscount Smart Controller and similar LCD module. You will need to disable LCD in configuration.h if not using it.<br />
<br />
Others (Need pins set in Firmware as below):<br />
<br />
*mechanical endstops (now the default ultimachine.com option) require '''#define OPTO_PULLUPS_INTERNAL 1''' to be added to configuration.h if not there by default.<br />
<br />
Here are the pin definitions for this board.<br />
<pre><br />
// For RAMPS 1.4<br />
#define X_STEP_PIN 54<br />
#define X_DIR_PIN 55<br />
#define X_ENABLE_PIN 38<br />
#define X_MIN_PIN 3<br />
#define X_MAX_PIN 2<br />
<br />
#define Y_STEP_PIN 60<br />
#define Y_DIR_PIN 61<br />
#define Y_ENABLE_PIN 56<br />
#define Y_MIN_PIN 14<br />
#define Y_MAX_PIN 15<br />
<br />
#define Z_STEP_PIN 46<br />
#define Z_DIR_PIN 48<br />
#define Z_ENABLE_PIN 62<br />
#define Z_MIN_PIN 18<br />
#define Z_MAX_PIN 19<br />
<br />
#define E_STEP_PIN 26<br />
#define E_DIR_PIN 28<br />
#define E_ENABLE_PIN 24<br />
<br />
#define SDPOWER -1<br />
#define SDSS 53<br />
#define LED_PIN 13<br />
<br />
#define FAN_PIN 9<br />
<br />
#define PS_ON_PIN 12<br />
#define KILL_PIN -1<br />
<br />
#define HEATER_0_PIN 10<br />
#define HEATER_1_PIN 8<br />
#define TEMP_0_PIN 13 // ANALOG NUMBERING<br />
#define TEMP_1_PIN 14 // ANALOG NUMBERING<br />
</pre><br />
<br />
==Source==<br />
<br />
{|class="wikitable" style="margin: 1em auto 1em auto;"<br />
|- style="background-color:#999999;" <br />
! FILE ID#<br />
! TYPE<br />
! DESCRIPTION<br />
! DOWNLOAD<br />
|-<br />
| [[File:ArduinoMegaPololuShield.zip]]<br />
| Eagle Files<br />
| These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.)<br />
| [[media:ArduinoMegaPololuShield.zip]]<br />
|-<br />
|-<br />
| [[File:RepRapjr.lbr]]<br />
| Eagle Libraries<br />
| The components used in this board are here. see [[Eagle_Library]]<br />
| [[media:RepRapjr.lbr]]<br />
|-<br />
|}<br />
<br />
==Bill of Materials==<br />
{| border="1"<br />
|-<br />
! ID<br />
! Description<br />
! Quantity<br />
! Part Number<br />
! Reichelt Order Number<br />
! Digikey Part Number (Description) <br />
|-<br />
| U1<br />
| Arduino Mega<br />
| 1<br />
|2560 or 1280<br />
|<br />
|[http://www.digikey.com/product-detail/en/A000067/1050-1018-ND/2639006 1050-1018-ND](BOARD MCU MEGA2560)<br />
|-<br />
| U2,U3,U4,U5<br />
| [[Pololu stepper driver board]]s<br />
| 4<br />
| A fifth one can be used for a 2nd extruder or extra axis<br />
|<br />
|N/A<br />
|-<br />
| C2<br />
| 100nF capacitor (0805)(> highest planned voltage)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/CC0805KRX7R8BB104/311-1141-1-ND/303051 311-1141-1-ND](CAP CER 0.1UF 25V 10% X7R 0805)<br />
|-<br />
| C1,C5,C8<br />
| 10uF capacitor (153CLV-0405)(>5V)<br />
| 3<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV106M025A9BAA/399-6724-1-ND/3082855 399-6724-1-ND](CAP ALUM 10UF 25V 20% SMD)<br />
|-<br />
| C3,C4,C6,C7,C9,C10<br />
| 100uF capacitor (153CLV-0605)(> highest planned voltage)<br />
| 6<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV107M016A9GAA/399-6726-1-ND/3082857 399-6726-1-ND](CAP ALUM 100UF 16V 20% SMD)<br />
|-<br />
| R1,R7,R11,R21,R22<br />
| 4.7K resistor (0805)(1%)<br />
| 5<br />
| <br />
|<br />
|[http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=RHM4.70KAECT-ND+ RHM4.70KAECT-ND](RES 4.70K OHM .4W 1% 0805) <br />
|-<br />
| R2,R3,R4,R5,R6,R8,R9,R10<br />
| 100K resistor (0805)<br />
| 8<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1003/RHM100KAECT-ND/1983806 RHM100KAECT-ND](RES 100K OHM .4W 1% 0805)<br />
|-<br />
| R12<br />
| 1K resistor (0805)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1001/RHM1.00KAECT-ND/1983804 RHM1.00KAECT-ND](RES 1.00K OHM .4W 1% 0805)<br />
|- <br />
| R23,R24,R25<br />
| 1.8K resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/RC0805FR-071K8L/311-1.80KCRCT-ND/730467 311-1.80KCRCT-ND](RES 1.80K OHM 1/8W 1% 0805)<br />
|-<br />
| R16,R17,R18,R19,R20<br />
| 10K resistor (0805)<br />
| 5<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/ERJ-6ENF1002V/P10.0KCCT-ND/119248 P10.0KCCT-ND](RES 10.0K OHM 1/8W 1% 0805)<br />
|-<br />
| R13,R14,R15<br />
| 10 ohm resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CRCW080510R0FKEAHP/541-10.0TCT-ND/2222835 541-10.0TCT-ND](RES 10.0 OHM .33W 1% 0805)<br />
|-<br />
| Q1,Q2,Q3<br />
| N-channel Mosfet<br />
| 3<br />
| STP55NF06L<br />
| ZXM 64N035 L3<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=497-6742-5-ND 497-6742-5-ND] (MOSFET N-CH 60V 55A TO-220)<br />
|-<br />
| D1,D2<br />
| Diode<br />
| 2<br />
| 1N4004<br />
| 1N 4004<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=1N4004FSCT-ND 1N4004FSCT-ND] (DIODE GEN PURPOSE 400V 1A DO41)<br />
|-<br />
| F1<br />
| PTC resettable fuse (30V, Hold5A, Trip10A)<br />
| 1<br />
| MF-R500<br />
| PFRA 500<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=MF-R500-ND MF-R500-ND] (FUSE PTC RESETTABLE 5A HOLD)<br />
|-<br />
| F2<br />
| PTC resettable fuse (Hold11A)<br />
| 1<br />
| MF-R1100<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=RGEF1100-ND RGEF1100-ND] (POLYSWITCH RGE SERIES 11.0A HOLD)<br />
|-<br />
| J2<br />
| D8-D10 Outputs // 6 position screw terminal (min 11A per contact) OR Jack/Plug connector pair<br />
| 1<br />
| 282837-6<br />
| AKL 101-06<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7857-ND WM7857-ND] (CONN TERMINAL BLOCK 6POS 5.08MM) <br/>Alternative: 1x [http://www.digikey.com/product-detail/en/20020109-H061A01LF/609-4284-ND/2509130 609-4284-ND] & 1x [http://www.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&keywords=609-4218-ND&x=0&y=0&cur=USD 609-4218-ND]. [https://lh6.googleusercontent.com/--1nJttlNQDs/UNfmaLXKiTI/AAAAAAAADxQ/Z6CSD4V8r6I/s617/20121223_194819.jpg May prevent overtemp events]<br />
|-<br />
| LED1<br />
| Green LED (0805)<br />
| 1<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VGD%2FTR8/L62505CT-ND/254936 L62505CT-ND](LED GREEN DIFF 0805 SMD)<br />
|-<br />
|LED2,LED3,LED4<br />
| Red LED (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VRD%2FTR8/L62501CT-ND/254934 L62501CT-ND](LED HI EFF RED DIFF 0805)<br />
|-<br />
| S1<br />
| Push button switch<br />
| 1<br />
| B3F-3100 <br />
| TASTER 3305B (should fit footprint also, but button will overhang board edge)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=450-1648-ND 450-1648-ND] (SWITCH TACT RA H=6.35MM)<br />
|-<br />
| X1<br />
| Power jack (Plug and fixed receptacle)(Min 11A per position more is better)<br />
| 1<br />
| MSTBA 2,5 and MSTBT 2,5 (5.04mm spacing 4 connector)<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7847-ND WM7847-ND] (CONN HEADER 4POS 5.08MM R/A TIN) &amp; [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7953-ND WM7953-ND] (CONN TERM BLOCK 4POS 5.08MM R/A)<br />
|-<br />
|<br />
| 2 x 3 pin header<br />
| 8<br />
| 961206-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9459-ND 3M9459-ND] (CONN HEADER VERT DUAL 6POS GOLD)<br />
|-<br />
| <br />
| 4 pin header<br />
| 5<br />
| 961104-6404-AR<br />
| SL 1X36G 2,54 (3 of these)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9449-ND 3M9449-ND] (CONN HEADER VERT SGL 4POS GOLD)<br />
|-<br />
| <br />
| 6 pin header<br />
| 2 (? - from http://gala-automation.com/index.php/component/content/article/26-reprap-tutorials/42-ramps-14-bom)<br />
| 961106-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9451-ND 3M9451-ND] (CONN HEADER VERT SGL 6POS GOLD)<br />
|-<br />
|<br />
| 2 x 18 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
| <br />
| MALE: SL 2X25G 2,54 (2 of them, shortened with a saw or pliers)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7121-ND S7121-ND] (CONN HEADER FMAL 36PS.1" DL GOLD) - Not Stackable<br />
|-<br />
| <br />
| 8 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 5<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 6 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7039-ND S7039-ND] (CONN HEADER FEMALE 6POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 24 Pin Female Header * Note *<br />
| 2<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7057-ND S7057-ND] (CONN HEADER FMALE 24POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
| <br />
| 8 Pin Female Header * Note *<br />
| 4<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
|<br />
| 0.1" Jumpers<br />
| 15<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=A26242-ND A26242-ND] (SHUNT LP W/HANDLE 2 POS 30AU)<br />
|-<br />
|<br />
| Circuit Board<br />
|1<br />
|v1.4<br />
|<br />
|N/A<br />
|}<br />
Note * You can use Female Headers which are not the exact size, but they are hard to break/cut so in this case buy some extra! (one wasted header per cut)<br />
<br />
A BOM for sourcing the RAMPS components from Mouser is also available in [https://docs.google.com/spreadsheet/ccc?key=0Auf-66FPv0JidHhtRVB0VVplOURwWklrX0tIeXhsS3c&hl=en_US#gid=0 this google spreadsheet] (This list is incomplete and has missing or incorrect quantities.)<br />
<br />
Shopping lists for v1.4 [http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=d126a71257] .<br />
<br />
= BT Extension =<br />
In order to get rid of the USB connection between RAMPS and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.).<br />
<br />
[[File:jy-mcu_f.jpg|300px]] [[File:jy-mcu_b.jpg|300px]]<br />
<br />
==Change module setting==<br />
Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:<br />
<pre><br />
AT OK <br />
AT+BAUD8 OK115200BAUD (set baud rate for RAMPS/Arduino Mega)<br />
AT+NAMEPRUSAI3 OKsetname (optional set name, default: linvor)<br />
AT+PIN0000 OKsetPIN (optional set pin, default: 1234)<br />
</pre><br />
<br />
More details about the configuration you will find here [[http://reprap.org/wiki/Melzi#Connect_via_Bluetooth]]<br />
<br />
==Wiring==<br />
On RAMPS/Arduino Mega the UART level are 5V but the BT module supports only 3.3V input. Therefore the TxD level has to be divided by resistor. This passive solution is fast enough for 115kBaud. Overall only 4 wires have to be soldered. <br />
<br />
[[File:BT_Connection_RAMPS1.4.png|400px]]<br />
<br />
==Connect via Bluetooth==<br />
Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.<br />
<br />
==How to buy it==<br />
See [[Arduino_Mega_Pololu_Shield#How_to_get_it| Where to buy RAMPS]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=115224Rambo firmware2014-01-17T04:21:57Z<p>Johnnyr: spelling</p>
<hr />
<div>=Summary=<br />
RAMBo is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
=RAMBo Arduino Plugin= <br />
<br />
[[List_of_Firmware#Marlim|Marlin]] and [[List_of_Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
Once the add ons are installed you can select RAMBo from Arduino>Tools>Board><br />
<br />
Without the add ons you can use Arduino Mega2560 from Arduino>Tools>Board> . You will not have functionality on the extended ports. Firmware may not work as expected if the firmware developer expected the add on folder to be installed.<br />
<br />
=Marlin=<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
=Repetier=<br />
<br />
[[List_of_Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
=Firmware Development=<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
==Motor Current==<br />
<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
==Micro-stepping Configuration==<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=115223Rambo firmware2014-01-17T04:21:02Z<p>Johnnyr: arduino clarification</p>
<hr />
<div>=Summary=<br />
RAMBo is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
=RAMBo Arduino Plugin= <br />
<br />
[[List_of_Firmware#Marlim|Marlin]] and [[List_of_Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
Once the add ons are installed you can select RAMBo from Arduino>Tools>Boards><br />
<br />
Without the add ons you can use Arduino Mega2560 from Arduino>Tools>Bords> . You will not have functionality on the extended ports. Firmware may not work as expected if the firmware developer expected the add on folder to be installed.<br />
<br />
=Marlin=<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
=Repetier=<br />
<br />
[[List_of_Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
=Firmware Development=<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
==Motor Current==<br />
<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
==Micro-stepping Configuration==<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=115222Rambo2014-01-17T04:14:18Z<p>Johnnyr: move firmware to separate page</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = {{tag|Electronics}}<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
The features have evolved with newer versions of RAMBo. Find version specific info at:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation<br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
=Powering RAMBo=<br />
Different versions of RAMBo require different power rails connected to power the logic. Please see the page for your board:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
=USB Driver=<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Firmware=<br />
Support for RAMBo is in several firmwares. More details at [[Rambo_firmware|RAMBo firmware]].<br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo v1.1schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
Sources for replacement 5A fuses for F2 and F3 are below.<br />
<br />
*UltiMachine: https://ultimachine.com/content/fuse-0448005mr<br />
*Mouser: http://www.mouser.com/ProductDetail/Littelfuse/0448005MR/?qs=zLq6hPBL7g7rOZQEM1wS4Q==<br />
*Octopart listing: http://octopart.com/0448005.mr-littelfuse-672815<br />
<br />
=Credits=<br />
Board designed by johnnyr (at UltiMachine). 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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=115221Rambo firmware2014-01-17T04:12:23Z<p>Johnnyr: rewording</p>
<hr />
<div>=Summary=<br />
RAMBo is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
For beginners that want to modify their printer, firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
=RAMBo Arduino Plugin= <br />
<br />
[[List_of_Firmware#Marlim|Marlin]] and [[List_of_Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
RAMBo can operate with the Arduino app as an Arduino Mega2560, but it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
=Marlin=<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
=Repetier=<br />
<br />
[[List_of_Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
=Firmware Development=<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research. <br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
==Motor Current==<br />
<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
==Micro-stepping Configuration==<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_firmware&diff=115220Rambo firmware2014-01-17T03:59:38Z<p>Johnnyr: created page</p>
<hr />
<div>=Summary=<br />
RAMBo is compatible with most of the [[list of Firmware | RepRap firmwares]].<br />
<br />
Firmware can be uploaded with the [http://arduino.cc/en/Main/Software Arduino IDE].<br />
<br />
=RAMBo Arduino Plugin= <br />
<br />
[[List_of_Firmware#Marlim|Marlin]] and [[List_of_Firmware|Repetier-Firmware]] (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.<br />
<br />
To be upload newer version of these firmwares it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).<br />
<br />
=Marlin=<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
=Repetier=<br />
<br />
[[List_of_Firmware|Repetier-Firmware]] has good support for RAMBo.<br />
<br />
=Firmware Development=<br />
One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research.<br />
<br />
If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.<br />
<br />
==Motor Current==<br />
<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
==Micro-stepping Configuration==<br />
<br />
Seamless to end user. Can be configured in configuration.h or by M-code.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=List_of_Abandoned_and_Deprecated_Firmware&diff=115201List of Abandoned and Deprecated Firmware2014-01-17T02:38:06Z<p>Johnnyr: Credit correct author for Tonokip firmware</p>
<hr />
<div>This page holds a list of all abandoned, deprecated and/or out-of-date firmware.<br />
<br />
For firmware that is currently active and being developed, see [[List of Firmware]]<br />
== [[Yarf]] ==<br />
{{firmware|name=Yarf<br />
|author=[[User:Pietr | Pietr]]<br />
|status= deprecated as of March 2012 (so much to do, so little time...)<br />
|description=<br />
Yarf doesn't have (m)any revolutionary features compared to recent firmwares such as Marlin or Sailfish. However, because there is extensive source code documentation, the firmware can be interesting for anyone interested in lookin at the 'inner workings' of a RepRap firmware. Moreover, the firmware might be a good base to start from if you want to develop a new firmware feature but do not want to start from scratch.<br />
<br />
<br />
|features=<br />
* True linear acceleration and deceleration<br />
* A lookahead algorithm (based on [https://github.com/grbl/grbl grbl])<br />
* Includes Matt Roberts' [http://reprap.org/pipermail/reprap-dev/2011-May/003323.html advance algorithm]<br />
* PID temperature control<br />
* Runs on common 8-bit MCU's such as the ATmega644p and ATmega1284p<br />
* Direct support for thermistor tables generated by [https://code.google.com/p/tltgen/ tltgen]<br />
* Fast enough to drive four 1.8 degree stepper motors with 1/16th microstepping<br />
* Extensive source code [http://agten.net/yarf/0.1/doc/html/ documentation]<br />
<br />
|electronics=<br />
* Only a custom electronics board developed by [[User:Pietr | Pietr]] is fully supported<br />
* Should be compatible with commonly used boards such as [[Generation_7_Electronics | Gen 7]] and [[RAMPS]]<br />
* Please let the developer know if you're trying to get this running on your own electronics<br />
|download=[http://code.google.com/p/yarf/ Yarf on Google code]<br />
|documentation=<br />
[[Yarf | The Yarf wiki page]]<br />
<br />
[http://agten.net/yarf/0.1/doc/html/ Source code documentation]<br />
}}<br />
<br />
<br />
== FiveD ==<br />
{{firmware|name=FiveD<br />
|author=[[User:Buzz | Buzz]] and others<br />
|status=active as of Sept 28, 2011<br />
|description=<br />
The granddaddy of all firmwares. It appears to be the original G-code interpreter. Forked from [[List of Abandoned and Deprecated Firmware#Generation2|Generation2]]. The reason it's called FiveD is because it controls 5 dimensions: X, Y, Z, Feedrate, and Extrusion rate.<br />
<br />
|features=<br />
* stepper extruder<br />
* extruder speed control<br />
* movement speed control<br />
* RepRap-style acceleration<br />
* thermocouples<br />
* heated build platforms<br />
<br />
|electronics=<br />
* [[Generation 3]]<br />
* [[Pololu Electronics]]<br />
* [[RAMPS]]<br />
* [[Generation 7 Electronics]]<br />
<br />
|download=<br />
The firmware is now hosted on Github. To check it out from github, run:<br />
git clone https://github.com/reprap/firmware.git<br />
<br />
The firmware is in the <tt>FiveD_GCode</tt> Directory<br />
<br />
|documentation=<br />
Documentation is over at [[Microcontroller firmware installation]]<br />
<br />
Preconfigured sources for Gen7 hardware are on the [[Gen7_Board_1.2#FiveD_Firmware|Gen7_Board_1.2]] page.<br />
}}<br />
<br />
== [[Hydra-MMM]] ==<br />
{{firmware|name=Hydra-MMM<br />
|author=Clayton Webster<br />
|status=stale as of May 2010<br />
|description=Hydra is a multi-headed manufacturing machine that was originally being designed and built for ME463 (senior design) at Purdue University.<br />
<br />
|features=<br />
* used for multi-headed machine<br />
<br />
|electronics=<br />
* [[Hydra-MMM Prototype]]<br />
<br />
|download=<br />
Downloadable from sourceforge in a [https://sourceforge.net/projects/hydra-mmm/ zip file]<br />
<br />
|documentation=<br />
The only documentation is on the wiki under [[Hydra-MMM Software and Firmware]]<br />
}}<br />
<br />
<br />
== [[Generation 2 firmware]] ==<br />
{{firmware|name=Generation 2 firmware<br />
|author=Who knows<br />
|status=superceded by [[List of Firmware#FiveD|FiveD]] firmware<br />
|description=This appears to be an early prototype of the FiveD firmware<br />
<br />
|features=<br />
unknown<br />
<br />
|electronics=<br />
* [[Generation_2_Electronics]]<br />
<br />
|download=<br />
All the links for this firmware are dead. It is probably buried somewhere in the past of the reprap FiveD repository<br />
<br />
|documentation=<br />
Documentation appears to be at [[Generation2Firmware]]<br />
}}<br />
<br />
<br />
== Gen2OnABoard ==<br />
{{firmware|name=Gen2OnABoard<br />
|author=Nick McCoy<br />
|status=stale since Aug 2010<br />
|description=This is an experimental fork of [[List of Firmware#FiveD|FiveD]] for the Gen2OnABoard electronics. May not actually work.<br />
<br />
|features=<br />
* stepper extruder<br />
* extruder speed control<br />
* movement speed control<br />
<br />
|electronics=<br />
* [[Gen2OnABoard]]<br />
<br />
|download=<br />
Downloadable from github by running:<br />
git clone https://github.com/reprap/firmware.git<br />
<br />
|documentation=<br />
Documentation is non existent<br />
}}<br />
<br />
<br />
== [[Generation 3 firmware]] ==<br />
{{firmware|name=Generation 3 firmware<br />
|author=Who knows<br />
|status=likely dead<br />
|description=This appears to be a dead branch of firmware. The firmware date is 2008-08-05<br />
<br />
|features=<br />
* can support SD cards<br />
<br />
|electronics=<br />
* [[Generation 3]] motherboard v1.1 and v1.2<br />
<br />
|download=<br />
Version 1.2 appears to be the last version and it's in a zip file [http://sourceforge.net/projects/reprap/files/Gen3%20Firmware/v1.2/ here].<br />
<br />
|documentation=<br />
The only mention of Gen3 firmware is in the wiki at [[Generation3Firmware]]<br />
<br />
* documentation for the communications between host PC and electronics is in a [http://docs.google.com/View?docid=dgzjfrcc_2gm84ggdb Google Doc]<br />
}}<br />
<br />
<br />
== Tonokip ==<br />
{{firmware|name=Tonokip<br />
|author= Tonokip<br />
|status=superceded by [[List of Firmware#Klimentkip|Klimentkip]]<br />
|description=Tonokip is a firmware rewrite based off of the [[List_of_Abandoned_and_Deprecated_Firmware#Hydra-MMM|Hydra-mmm]] firmware.<br />
<br />
|features=<br />
* Same as FiveD???<br />
* Stepper extruders<br />
<br />
|electronics=<br />
* [[Generation 3]]??<br />
* [[Pololu Electronics]]??<br />
* [[RAMPS]]<br />
<br />
|download=<br />
The real repository appears to be downloadable by running <br />
git clone https://github.com/tonokip/Tonokip-Firmware.git<br />
<br />
This firmware can also be found in the official RepRap git repository. You can <br />
git clone https://github.com/reprap/firmware.git<br />
and the firmware is in the <tt>Tonokip_Firmware</tt> Directory<br />
<br />
|documentation=<br />
Appears to have been forked off as [[Sprinter]] firmware.<br />
This firmware is recommended by Makergear for their Prusa Mendel kit, which runs RAMPS.<br />
}}<br />
<br />
== Klimentkip ==<br />
{{firmware|name=Klimentkip<br />
|author=[[User:Kliment|Kliment]]<br />
|status=superseded by [[List of Firmware#Sprinter|Sprinter]]<br />
|description=This was originally a fork of [[List of Firmware#Tonokip|Tonokip]] but is now called Sprinter<br />
<br />
|features=<br />
unknown<br />
<br />
|electronics=<br />
* [[Over RAMPS1.3 Nederlands|RAMPS 1.3]]<br />
<br />
|download=<br />
You can still download from Kliment's github repository by running<br />
git clone https://github.com/kliment/Klimentkip.git<br />
<br />
|documentation=<br />
Can't find any documentation and the firmware is officially defunct now<br />
}}<br />
<br />
<br />
[[Firmware build process]] which documents the process for Darwin hardware using the PIC 16F648 in Generation 1 Electronics.<br />
<br />
{{merge from | RepRapMicrocontrollerSoftware}}<br />
<br />
[[Category:Firmware]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=115170Rambo2014-01-16T04:50:26Z<p>Johnnyr: updating for v1.2</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = {{tag|Electronics}}<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
The features have evolved with newer versions of RAMBo. Find version specific info at:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation<br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
=Powering RAMBo=<br />
Different versions of RAMBo require different power rails connected to power the logic. Please see the page for your board:<br><br />
See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br><br />
See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br />
=Firmware=<br />
Support for RAMBo is in several firmwares.<br />
<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo v1.1schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
Sources for replacement 5A fuses for F2 and F3 are below.<br />
<br />
*UltiMachine: https://ultimachine.com/content/fuse-0448005mr<br />
*Mouser: http://www.mouser.com/ProductDetail/Littelfuse/0448005MR/?qs=zLq6hPBL7g7rOZQEM1wS4Q==<br />
*Octopart listing: http://octopart.com/0448005.mr-littelfuse-672815<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.2&diff=115169Rambo v1.22014-01-16T04:44:02Z<p>Johnnyr: new page</p>
<hr />
<div>This page is applicable for RAMBo version 1.2<br />
<br />
See [[rambo | RAMBo]] for general RAMBo details including firmware, configuration, drivers, etc. See [[Rambo_v1.1| RAMBo v1.1]] for information applicable to version 1.0 through 1.1.<br />
<br/><br />
<br />
=Powering RAMBo 1.2=<br />
Starting v1.2 you must connect power to the Heater, Fans, and Logic input for the RAMBo to operate. The USB connection is now isolated from the rest of the board and cannot be a power source.<br />
<br />
<gallery><br />
Image:rambo1-2conn-all.jpg|All connectors<br />
Image:rambo1-2conn-main.jpg|Main connectors<br />
Image:rambo1-2conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-2schematic.png|Schematic<br />
Image:rambo1-2top.png|Top/1<small><sup>st</sup></small>v1.2 copper layer<br />
Image:rambo1-2gnd.png|Ground/2<small><sup>nd</sup></small>v1.2 copper layer<br />
Image:rambo1-2sply.png|Supply/3<small><sup>rd</sup></small>v1.2 copper layer<br />
Image:rambo1-2bottom.png|Bottom/4<small><sup>th</sup></small>v1.2 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]](2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-35V<br />
**Extruders + fans and logic, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
**Motors, 5A 12-35V (fuse can be exchanged for up to 10A capacity)<br />
*Built in SMPS for 5V generation from Extruders + fans and logic <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
=Schematic=<br />
[[Image:rambo1-2-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Fuses=<br />
RAMBo v1.2 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater + fan outputs and logic.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_v1.1&diff=115168Rambo v1.12014-01-16T04:25:45Z<p>Johnnyr: created page to make room for v1.2 specifics</p>
<hr />
<div>This page is applicable for RAMBo version 1.0 through 1.1<br />
<br />
See [[rambo | RAMBo]] for general RAMBo details including firmware, configuration, drivers, etc. See [[Rambo_v1.2| RAMBo v1.2]] for information applicable to version 1.2.<br />
<br/><br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Fuses=<br />
RAMBo v1.1 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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output. (Version 1.0 has 11A PTC self resetting fuse)</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=114757Rambo development2014-01-10T03:21:52Z<p>Johnnyr: /* Pins */ add fan 2</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| Fan 2, PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=RAMPS_1.4&diff=113197RAMPS 1.42013-12-18T20:05:38Z<p>Johnnyr: Only need 1 advertising section on RAMPS, made link to that effect. Both vendors here are already there.</p>
<hr />
<div>{{RAMPS}}<br />
<br />
{{Languages|RAMPS 1.4}}<br />
<br />
{{Development<br />
|image = RAMPS1-3 fin.JPG<br />
|status = Working<br />
|name = RAMPS 1.4<br />
|description = RepRap Arduino Mega Pololu Shield<br />
Arduino MEGA based modular RepRap electronics.<br />
|license = [[GPL]]<br />
|author = johnnyr<br />
|reprap = Pololu Electronics<br />
|categories = [[:Category:RAMPS|RAMPS]][[Category:RAMPS]]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
<br />
In RAMPS 1.4, the resistors and capacitors are now surface mount to fit more passive components. This does add another set of steps to assembly, but we stuck with larger sizes to make it fairly painless.<br />
<br />
<gallery><br />
Image:RAMPS1-3 fin.JPG<br />
Image:Arduinomega1-4connectors.png<br />
Image:RAMPS1.4schematic.png<br />
Image:Ramps_v1.4_shield_bothsides.png<br />
</gallery><br />
<br />
= Safety Tip =<br />
<br />
[[image:Generation3Electronics-achtung.gif|thumb]]<br />
<br />
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop [http://en.wikipedia.org/wiki/Smoke_detector smoke detector]. Got no smoke detector? Get one!<br />
<br />
<br clear="all"/><br />
<br />
=Assembly=<br />
==Component Soldering==<br />
==Required Tools==<br />
You must have:<br />
Solder iron, solder wire, good tweezers<br />
You really need:<br />
Solder wick, solder sucker, flux pen<br />
Optional methods use:<br />
Solder paste, hot plate or oven <br />
<br />
===Shield Assembly===<br />
[[Image:RAMPS1-3pasteapplied.JPG|thumb]] <br />
Soldering RAMPS 1.4 includes both surface mount and through hole soldering.<br />
<br />
The surface mount can be done a few ways. Since all the SMT components on this board are large 2 pad parts you can do pin by pin soldering pretty easy with normal soldering equipment. Start by putting a small amount of solder on one pad. If you have flux, coat the soldered pad. Use the tweezers to hold the component down in position and heat the solder to tack the component into place (make sure the entire solder blob flows so you don't get a cold solder). Then solder the other pad. Also popular is using solder paste for pad by pad soldering, Oven Reflow (need link), and [[HotplateReflowTechnique]]<br />
<br />
Solder the SMT components first. Then the PTH on top of the board. Finally solder the pin headers on the bottom.<br />
<br />
==== C2 - 100nF capacitor====<br />
[[Image:RAMPS1-3 100nF.JPG|thumb]]<br />
This can be placed in any orientation.<br />
<br clear="all"/><br />
==== LED1 - Green LED====<br />
[[Image:RAMPS1-3 GrLED.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
<br />
==== LED2, LED3, LED4 - Red LED====<br />
[[Image:RAMPS1-3 redLEDs.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
====R13, R14, R15 - 10 Ohm resistor====<br />
[[Image:RAMPS1-3 10r.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R12 - 1K resistor====<br />
[[Image:RAMPS1-3 1k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R23, R24, R25 - 1.8K resistor====<br />
[[Image:RAMPS1-3 1-8k.JPG |thumb]]<br />
These are marked 1K on the PCB, but we are using larger ones to accommodate higher voltages. These can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====R1, R7, R11, R21, R22 - 4.7K resistor====<br />
[[Image:RAMPS1-3 4-7k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R16, R17, R18, R19, R20 - 10K resistor====<br />
[[Image:RAMPS1-3 10k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R2, R3, R4, R5, R6, R8, R9, R10 - 100K resistor====<br />
[[Image:RAMPS1-3 100k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====C1, C5, C8 - 10uF capacitor====<br />
[[Image:RAMPS1-3 10uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB.<br />
<br clear="all"/><br />
<br />
====C3, C4, C6, C7, C9, C10 - 100uF capacitor====<br />
[[Image:RAMPS1-3 100uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB. <br />
<br clear="all"/><br />
<br />
====Reflow SMT soldering====<br />
[[Image:RAMPS1-3_placed.JPG|200px|thumb]] [[Image:RAMPS1-3 smtSoldered.JPG|thumb]]<br />
If you are doing oven or hot plate method, now is the time apply heat (add links here). If you used a solder iron, you have probably already soldered all these components.<br />
<br />
Make sure to inspect the SMT soldering at this point since it will be harder to rework after the headers are on top.<br />
<br clear="all"/><br />
====Top pins====<br />
[[Image:RAMPS1-3 tpins.JPG|thumb]]<br />
Solder 1 1x6, 6 1x4, and 7 2x3 pin headers on top of the board. The long post should be standing up to take a connector. Solder one leg on each one to tack them into place. Then re-heat the joint and push on the component until it is perfectly situated. Then you'll want to solder the rest of the leads. You will get burnt if you touch the other side of the pin you are soldering.<br />
<br />
If you want to use the extra pin outputs, now is the time to solder on the rest of the headers.<br />
<br clear="all"/><br />
<br />
====Driver sockets====<br />
[[Image:RAMPS1-3 DrSockets.JPG |thumb]]<br />
Place the female headers for the stepper drivers on top of the board. You can use the 1x8 and 1x6 pin headers to jig them straight. Turn the board over and solder these pins.<br />
<br clear="all"/><br />
====D1, D2 - Diodes====<br />
[[Image:RAMPS1-3 DnF.JPG|thumb]]<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 and D2 diodes]]<br />
These must be placed in the proper orientation. The band on the diode must be turned the same way as the mark on the board.<br />
<br />
Definitely solder D2 in. D2, F1, and F2 are shown installed here.<br />
<br />
D1 should only be installed if the 5A rail is powered by 12V. It can be omitted and the Arduino will be powered from USB. You will want D1 installed if you add components to print without a PC. To reiterate, D1 MUST be omitted if you are powering the 5A rail by more than 12V, or the power is not absolutely clean, otherwise you may damage your ramps.<br />
<br style="clear: both" /><br />
<br />
====F1 - MFR500 Fuse====<br />
This is the smaller yellow fuse. This can be placed in any orientation. When soldering the fuses it is best to use a piece of 3mm filament or something similar to keep the ceramic coating on the pins from blocking proper solder along the through hole.<br />
<br />
Since the fuses are the tallest parts, it is simpler and more convenient to solder them last. From this point on, solder the rest of the RAMPS in order of bottom pins, reset switch, terminals, mosfets and then fuses.<br />
<br />
====Bottom pins====<br />
[[Image:RAMPS1-3 bpins.JPG|thumb]]<br />
[[image:DSC 0148.JPG|thumb]]<br />
Place these on the bottom of the board with the long post out to plug into the Arduino MEGA. You can plug them into the MEGA to hold them in place while you solder. Do not overheat the pins while in Arduino or you may damage its connectors.<br />
<br clear="all"/><br />
<br />
====Reset switch====<br />
[[Image:RAMPS1-3 rst.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Mosfet Terminal====<br />
[[Image:RAMPS1-3 6pos.JPG |thumb|Standard RAMPS 1.4 D8-10 Terminal Block]]<br />
[[Image:RAMPS1-4 6pos_alt.png |thumb|Alternative Plug/Jack Connectors]]<br />
This must be oriented where the wire holes are turned towards the edge of the board. Solder a pin on each end and make sure the component is flat on the board and solder the middle pins.<br />
<br clear="all"/><br />
====Power Terminal====<br />
[[Image:RAMPS1-3 4pos.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Q1, Q2, Q3 - Mosfets====<br />
[[Image:RAMPS1-3 mosfet.JPG|thumb]]<br />
These must be orientated as in the picture. The tall heat sink part of the mosfet needs to be turned the same as the mark on the board.<br />
<br clear="all"/><br />
====F2 - MFR1100 Fuse====<br />
This is the larger yellow fuse. This can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====Inspection====<br />
[[Image:RAMPS1-3 fin.JPG|200px|thumb]]<br />
Inspect your work. Clean any solder bridges and suspect solders.<br />
<br />
===Stepper Driver Boards===<br />
#*Jumpers need to be installed under each stepper driver:<br />
<br />
jumper Yes/No step size<br />
1 2 3<br />
no no no full step<br />
yes no no half step<br />
no yes no 1/4 step<br />
yes yes no 1/8 step<br />
yes yes yes 1/16 step<br />
For now the default is 1/16 micro stepping (all jumpers installed under drivers)<br />
<br />
#Cut the pin headers to 8 pins long so that they fit each side of the stepper driver.<br />
#Insert the pin headers into the sockets on RAMPS<br />
#Fit the stepper drivers onto the pin headers and solder. Only heat each pin for a few seconds at time to avoid damage to the socket. <br />
#*Glue the heatsink (if used) to the top of the [[A4988]]/[[A4983]] chip using the provided pad of double-sided adhesive.<br />
<br />
===Opto Endstops===<br />
Opto board 2.1 build instructions can be found [http://reprap.org/wiki/OptoEndstop_2.1#Build_It here on the reprap opto page], and also [http://reprapsource.com/oe-r1 here] for reprapsource.com's instructions.<br />
#* Cut the 26awg 3 conductor cable into 3 length.[[Image:RAMPSendstopConnector.JPG|right|100px|Close up of endstop connector on endstop.]]<br />
#* Note: you may want until you've built your machine to cut the cables to the perfect length.[[Image:RAMPSendstopConboard.JPG|right|100px|Close up of endstop connection on RAMPS]]<br />
##* crimp and solder a female connector to the ends of each wire. (solder not necessary with proper crimp tools) <br />
#* use the 2.54mm 1x3 housing.<br />
#* Connect at least the minimum endstops. <br />
{| border="1"<br />
| RAMPS End<br />
|<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|-<br />
| VCC (+)<br />
| Red<br />
|}<br />
{| border="1" <br />
| Endstop End<br />
|<br />
|-<br />
| VCC (+)<br />
| Red<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|}<br />
<br />
===Mechanical Endstops===<br />
[[File:MechSwitches 2Wire.JPG|thumb]]<br />
The recommended firmware will provide a configuration to use mechanical endstops with just two wires. <br />
<br />
Find the area labelled "endstops" in the upper right corner of the board and for each of the X, Y, and Z pairs of pins (label should be below each set) do the following: <br />
# Connect S (top row, labelled to the left) on RAMPS to NC on the switch.<br />
# Connect GND on RAMPS to C on the switch.<br />
<br />
'''Note:''' The latest firmware such as Marlin seems to use NO as the default pin on the switch. Otherwise you may need to invert the endstops in the firmware. You can use M119 to check your endstops status.<br />
<br />
===Put the connectors on the motor wires===<br />
#* solder a female connector to the ends of each wire.<br />
#* use the 2.54mm 1x3 housing. <br />
#* Shown is the type used for servos in RC projects. See [[Stepper Motors]] for info on motors.<br />
<br />
===Thermistor Wires===<br />
Use a 2 pin 0.1" connector to terminate the thermistor wires.<br />
#* Connect the cable so the 2 wires go to T0<br />
#Connect the 2 heater wires to D10 (E0H on older boards) and the + connection above it.<br />
#* If changing to an unverified firmware it is best to verify heater circuit function with a meter before connecting heater to prevent damage to the extruder.<br />
<br />
===Pololu carriage===<br />
[[image:PololuExample.JPG|thumb]]<br />
This section assumes you are using Pololu, but there are other options. Insert two 1x8 pin headers into the board. If you bought a kit with one 16 pin header, simply cut it so that you have two 1x8. Make sure that the side with the labels has the long ends of the posts, and the side you want to solder is the side with the heat sink. Doing this backwards will cause you not to see the labels and will most likely not fit. Remember to apply a heat-sink to the largest chip on the back.<br />
<br />
=Final Setup=<br />
==Pre-Flight Check==<br />
If you think you may have mistakes you can install only one stepper driver during initial testing and risk only one stepper driver.<br />
<br />
The trimpot on the stepper drivers controls the current limit. Turn it all the way down (counter clock wise) and back up 25%. Be careful to not force the trimpot, it is delicate. You will need to fine tune the current limit later. Note that it is allways giving the motors that much power, even when not moving, so if your stepper motor drivers are getting hot, you may want to turn it down slightly.<br />
<br />
[http://reprap.org/mediawiki/index.php?title=Arduino_Mega_Pololu_Shield#Make_the_cables_up_for_the_opto_endstops Connect the minimum endstops] for X,Y, and Z<br />
<br />
Connect Motors (Do not disconnect or connect motors while powered; if the connection is loose, this will cause the motors to spazz and possibly kill your stepper driver.)<br />
<br />
You may want to use this [http://reprap.org/wiki/File:RAMPSTestCode.pde code] to test all the electronics before installing any of the suggested firmwares.<br />
<br />
Install firmware (More info below). Firmware flashing can be done without 12V power supply connected.<br />
<br />
==Wiring==<br />
It is relatively simple to wire up the RAMPS. Just add the extruder heating coil wire to D10, the thermistor to the two T0 pins on middle right right, and wire up the steppers and endstops. From left to right, wire all of the stepper motor's wires as red, blue, green, and black or red, green, yellow, blue into the pins next to the Pololus. When you connect the wires to the endstops (if you are using 3 endstops, plug them into the MIN (-) slots), make sure you match the labels. <br />
<br />
[[Image:Rampswire14.svg|500px|]]<br />
<br />
Note that Tesla & Tonok firmware use D9 and Sprinter, Marlin, and Johnny/Tonok use D10 for the extruder hot end.<br />
<br />
===Warnings===<br />
<br />
<font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard.<br />
<br />
Incorrectly inserting stepper drivers will destroy your electronics and cause a fire risk. Always make sure power and USB is disconnected when removing or adjusting stepper drivers. Always make sure to insert drivers in correct orientation and in the socket correctly.<br />
<br />
The endstop pins are Signal - GND - VCC, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.</font><br />
<br />
==Connecting Power==<br />
<br />
Connect your 12V power supply to the RAMPS shield. <font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard</font>.<br />
<br />
The bottom pair of connectors marked 5A power the stepper drivers and Extruder heater/fan (D9, D10). The source should be rated a minimum of 5A.<br />
<br />
The pair of connectors above marked 11A power a Heated Bed, or other output (D8). The source should be rated a minimum 11A (if both power rails are connected to the same supply it should have a minimum rating of 16A).<br />
<br />
The barrel connector, on the Arduino MEGA, will NOT power RAMPS and will not provide power to the stepper motors, heated bed, etc.<br />
<br />
The power connector plug may not be obviously labeled, looking at the power connection the positive is on the left and the negative is on the right of the plug.<br />
<br />
==Power Supply==<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 diode (note that D2 is shown at the left, not D1)]]<br />
RAMPS is quite happy with the 12 V line from [[PCPowerSupply]].<br />
Or you can hack up a 12V laptop power supply, or other 12 V "wall wart" power supply. <font color="red"> Be sure that the power can output 5A or greater.</font> Additional 11A may be needed for heated bed support.<br />
<br />
See Connecting power above.<br />
<br />
The 3 pins next to the reset switch are meant to optionally connect to your PSU.<br />
<br />
The PS_ON pin is intended to switch your power supply on and off. Many firmwares support pulling this pin low with M80 command to turn the power supply on, and M81 to turn it off. This behavior is desired for ATX power supplies and can be modified in firmware to support 5V high power supplies like those borrowed from an Xbox.<br />
<br />
Without D1 installed, or when the 12VIN is not connected, the Arduino gets its power from USB. If you want your kit powered without USB connected you need to solder in D1 OR connect VCC to your PSU.<br />
<br />
The VCC pin can be connected to your ATX's 5Vsb to continuously power the Arduino from your ATX power supply. You will want to make sure that D1 is not installed or cut out. The Arduino is not designed to be powered directly on the VCC rail and the VIN pin at the same time.<br />
<br />
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it<br />
directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.<br />
<br />
===Maximum Input Voltage===<br />
====Power Supply without diode====<br />
The 1N4004 diode connects the RAMPS input voltage to the MEGA. If your board does not have this diode soldered in, you can safely input as much as 35V. (The pololus can do up to 35V)<br />
====Power Supply with diode====<br />
If your board has a 1N4004 diode soldered in, do not apply more than 12 V to it. Original flavor Arduino Mega are rated to 12 V input. While Arduino Mega 2560 can take 20 V, it is not recommended.<br />
<br />
=Firmware and Pin Assignments=<br />
<br />
<font color="red">RAMPS 1.4 uses the same pin definitions as 1.3.</font><br />
<br />
You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega. Arduino MEGA 2560 Rev3 requires Arduino software version 0023, NOT the most recent version.<br />
<br />
Troubleshooting: You may need to make sure that the driver is installed for the Arduino MEGA by going to Control Panel -> Hardware and Sound -> Device Manager. If the device that appears/disappears when you plug in and unplug the board USB is "Unknown Device" under "Other devices", then you need to right click on the device and click the update driver button. Find where on your computer you saved/installed the Arduino software, and tell the wizard to search in the driver folder there. Windows 8 will give this error: "The third party INF does not contain digital signature". If so, save the zip for the latest version of Arduino on your PC, and repeat the steps above with the driver folder in there. It should contain the digital signature Windows needs.<br />
<br />
[[Sprinter]] and [[Marlin]] are popular and stable firmwares for RAMPS as of 3/28/2012. [[Pronterface]] is a cross platform printer control program that can be used for testing/printing.<br />
<br />
Working preconfigured '''Sprinter''' firmware can be downloaded at http://ultimachine.com/sites/default/files/UltiMachineRAMPS1-4Sprinter.zip . Mechanical is in the folder ending with ME, optical endstop firmware is in the folder ending in OE.<br />
<br />
Working preconfigured '''Marlin''' firmware can be downloaded at<br />
http://www.mediafire.com/?un8s4i2lvdgd875 . is for mecanical endstops, for optical endstop need to reverse the logic of endstops from the configuration.h shell, the language of display is in italian, but can easy be canged from the shell language.h, it is preconfigured for the RepRapDiscount Smart Controller and similar LCD module.<br />
<br />
Others (Need pins set in Firmware as below):<br />
<br />
*mechanical endstops (now the default ultimachine.com option) require '''#define OPTO_PULLUPS_INTERNAL 1''' to be added to configuration.h if not there by default.<br />
<br />
Here are the pin definitions for this board.<br />
<pre><br />
// For RAMPS 1.4<br />
#define X_STEP_PIN 54<br />
#define X_DIR_PIN 55<br />
#define X_ENABLE_PIN 38<br />
#define X_MIN_PIN 3<br />
#define X_MAX_PIN 2<br />
<br />
#define Y_STEP_PIN 60<br />
#define Y_DIR_PIN 61<br />
#define Y_ENABLE_PIN 56<br />
#define Y_MIN_PIN 14<br />
#define Y_MAX_PIN 15<br />
<br />
#define Z_STEP_PIN 46<br />
#define Z_DIR_PIN 48<br />
#define Z_ENABLE_PIN 62<br />
#define Z_MIN_PIN 18<br />
#define Z_MAX_PIN 19<br />
<br />
#define E_STEP_PIN 26<br />
#define E_DIR_PIN 28<br />
#define E_ENABLE_PIN 24<br />
<br />
#define SDPOWER -1<br />
#define SDSS 53<br />
#define LED_PIN 13<br />
<br />
#define FAN_PIN 9<br />
<br />
#define PS_ON_PIN 12<br />
#define KILL_PIN -1<br />
<br />
#define HEATER_0_PIN 10<br />
#define HEATER_1_PIN 8<br />
#define TEMP_0_PIN 13 // ANALOG NUMBERING<br />
#define TEMP_1_PIN 14 // ANALOG NUMBERING<br />
</pre><br />
<br />
==Source==<br />
<br />
{|class="wikitable" style="margin: 1em auto 1em auto;"<br />
|- style="background-color:#999999;" <br />
! FILE ID#<br />
! TYPE<br />
! DESCRIPTION<br />
! DOWNLOAD<br />
|-<br />
| [[File:ArduinoMegaPololuShield.zip]]<br />
| Eagle Files<br />
| These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.)<br />
| [[media:ArduinoMegaPololuShield.zip]]<br />
|-<br />
|-<br />
| [[File:RepRapjr.lbr]]<br />
| Eagle Libraries<br />
| The components used in this board are here. see [[Eagle_Library]]<br />
| [[media:RepRapjr.lbr]]<br />
|-<br />
|}<br />
<br />
==Bill of Materials==<br />
{| border="1"<br />
|-<br />
! ID<br />
! Description<br />
! Quantity<br />
! Part Number<br />
! Reichelt Order Number<br />
! Digikey Part Number (Description) <br />
|-<br />
| U1<br />
| Arduino Mega<br />
| 1<br />
|2560 or 1280<br />
|<br />
|[http://www.digikey.com/product-detail/en/A000067/1050-1018-ND/2639006 1050-1018-ND](BOARD MCU MEGA2560)<br />
|-<br />
| U2,U3,U4,U5<br />
| [[Pololu stepper driver board]]s<br />
| 4<br />
| A fifth one can be used for a 2nd extruder or extra axis<br />
|<br />
|N/A<br />
|-<br />
| C2<br />
| 100nF capacitor (0805)(> highest planned voltage)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/CC0805KRX7R8BB104/311-1141-1-ND/303051 311-1141-1-ND](CAP CER 0.1UF 25V 10% X7R 0805)<br />
|-<br />
| C1,C5,C8<br />
| 10uF capacitor (153CLV-0405)(>5V)<br />
| 3<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV106M025A9BAA/399-6724-1-ND/3082855 399-6724-1-ND](CAP ALUM 10UF 25V 20% SMD)<br />
|-<br />
| C3,C4,C6,C7,C9,C10<br />
| 100uF capacitor (153CLV-0605)(> highest planned voltage)<br />
| 6<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV107M016A9GAA/399-6726-1-ND/3082857 399-6726-1-ND](CAP ALUM 100UF 16V 20% SMD)<br />
|-<br />
| R1,R7,R11,R21,R22<br />
| 4.7K resistor (0805)(1%)<br />
| 5<br />
| <br />
|<br />
|[http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=RHM4.70KAECT-ND+ RHM4.70KAECT-ND](RES 4.70K OHM .4W 1% 0805) <br />
|-<br />
| R2,R3,R4,R5,R6,R8,R9,R10<br />
| 100K resistor (0805)<br />
| 8<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1003/RHM100KAECT-ND/1983806 RHM100KAECT-ND](RES 100K OHM .4W 1% 0805)<br />
|-<br />
| R12<br />
| 1K resistor (0805)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1001/RHM1.00KAECT-ND/1983804 RHM1.00KAECT-ND](RES 1.00K OHM .4W 1% 0805)<br />
|- <br />
| R23,R24,R25<br />
| 1.8K resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/RC0805FR-071K8L/311-1.80KCRCT-ND/730467 311-1.80KCRCT-ND](RES 1.80K OHM 1/8W 1% 0805)<br />
|-<br />
| R16,R17,R18,R19,R20<br />
| 10K resistor (0805)<br />
| 5<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/ERJ-6ENF1002V/P10.0KCCT-ND/119248 P10.0KCCT-ND](RES 10.0K OHM 1/8W 1% 0805)<br />
|-<br />
| R13,R14,R15<br />
| 10 ohm resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CRCW080510R0FKEAHP/541-10.0TCT-ND/2222835 541-10.0TCT-ND](RES 10.0 OHM .33W 1% 0805)<br />
|-<br />
| Q1,Q2,Q3<br />
| N-channel Mosfet<br />
| 3<br />
| STP55NF06L<br />
| ZXM 64N035 L3<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=497-6742-5-ND 497-6742-5-ND] (MOSFET N-CH 60V 55A TO-220)<br />
|-<br />
| D1,D2<br />
| Diode<br />
| 2<br />
| 1N4004<br />
| 1N 4004<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=1N4004FSCT-ND 1N4004FSCT-ND] (DIODE GEN PURPOSE 400V 1A DO41)<br />
|-<br />
| F1<br />
| PTC resettable fuse (30V, Hold5A, Trip10A)<br />
| 1<br />
| MF-R500<br />
| PFRA 500<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=MF-R500-ND MF-R500-ND] (FUSE PTC RESETTABLE 5A HOLD)<br />
|-<br />
| F2<br />
| PTC resettable fuse (Hold11A)<br />
| 1<br />
| MF-R1100<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=RGEF1100-ND RGEF1100-ND] (POLYSWITCH RGE SERIES 11.0A HOLD)<br />
|-<br />
| J2<br />
| D8-D10 Outputs // 6 position screw terminal (min 11A per contact) OR Jack/Plug connector pair<br />
| 1<br />
| 282837-6<br />
| AKL 101-06<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7857-ND WM7857-ND] (CONN TERMINAL BLOCK 6POS 5.08MM) <br/>Alternative: 1x [http://www.digikey.com/product-detail/en/20020109-H061A01LF/609-4284-ND/2509130 609-4284-ND] & 1x [http://www.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&keywords=609-4218-ND&x=0&y=0&cur=USD 609-4218-ND]. [https://lh6.googleusercontent.com/--1nJttlNQDs/UNfmaLXKiTI/AAAAAAAADxQ/Z6CSD4V8r6I/s617/20121223_194819.jpg May prevent overtemp events]<br />
|-<br />
| LED1<br />
| Green LED (0805)<br />
| 1<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VGD%2FTR8/L62505CT-ND/254936 L62505CT-ND](LED GREEN DIFF 0805 SMD)<br />
|-<br />
|LED2,LED3,LED4<br />
| Red LED (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VRD%2FTR8/L62501CT-ND/254934 L62501CT-ND](LED HI EFF RED DIFF 0805)<br />
|-<br />
| S1<br />
| Push button switch<br />
| 1<br />
| B3F-3100 <br />
| TASTER 3305B (should fit footprint also, but button will overhang board edge)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=450-1648-ND 450-1648-ND] (SWITCH TACT RA H=6.35MM)<br />
|-<br />
| X1<br />
| Power jack (Plug and fixed receptacle)(Min 11A per position more is better)<br />
| 1<br />
| MSTBA 2,5 and MSTBT 2,5 (5.04mm spacing 4 connector)<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7847-ND WM7847-ND] (CONN HEADER 4POS 5.08MM R/A TIN) &amp; [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7953-ND WM7953-ND] (CONN TERM BLOCK 4POS 5.08MM R/A)<br />
|-<br />
|<br />
| 2 x 3 pin header<br />
| 8<br />
| 961206-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9459-ND 3M9459-ND] (CONN HEADER VERT DUAL 6POS GOLD)<br />
|-<br />
| <br />
| 4 pin header<br />
| 5<br />
| 961104-6404-AR<br />
| SL 1X36G 2,54 (3 of these)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9449-ND 3M9449-ND] (CONN HEADER VERT SGL 4POS GOLD)<br />
|-<br />
| <br />
| 6 pin header<br />
| 2 (? - from http://gala-automation.com/index.php/component/content/article/26-reprap-tutorials/42-ramps-14-bom)<br />
| 961106-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9451-ND 3M9451-ND] (CONN HEADER VERT SGL 6POS GOLD)<br />
|-<br />
|<br />
| 2 x 18 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
| <br />
| MALE: SL 2X25G 2,54 (2 of them, shortened with a saw or pliers)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7121-ND S7121-ND] (CONN HEADER FMAL 36PS.1" DL GOLD) - Not Stackable<br />
|-<br />
| <br />
| 8 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 5<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 6 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7039-ND S7039-ND] (CONN HEADER FEMALE 6POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 24 Pin Female Header * Note *<br />
| 2<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7057-ND S7057-ND] (CONN HEADER FMALE 24POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
| <br />
| 8 Pin Female Header * Note *<br />
| 4<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
|<br />
| 0.1" Jumpers<br />
| 15<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=A26242-ND A26242-ND] (SHUNT LP W/HANDLE 2 POS 30AU)<br />
|-<br />
|<br />
| Circuit Board<br />
|1<br />
|v1.4<br />
|<br />
|N/A<br />
|}<br />
Note * You can use Female Headers which are not the exact size, but they are hard to break/cut so in this case buy some extra! (one wasted header per cut)<br />
<br />
A BOM for sourcing the RAMPS components from Mouser is also available in [https://docs.google.com/spreadsheet/ccc?key=0Auf-66FPv0JidHhtRVB0VVplOURwWklrX0tIeXhsS3c&hl=en_US#gid=0 this google spreadsheet] (This list is incomplete and has missing or incorrect quantities.)<br />
<br />
Shopping lists for v1.4 [http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=d126a71257] .<br />
<br />
= BT Extension =<br />
In order to get rid of the USB connection between RAMPS and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.).<br />
<br />
[[File:jy-mcu_f.jpg|300px]] [[File:jy-mcu_b.jpg|300px]]<br />
<br />
==Change module setting==<br />
Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:<br />
<pre><br />
AT OK <br />
AT+BAUD8 OK115200BAUD (set baud rate for RAMPS/Arduino Mega)<br />
AT+NAMEPRUSAI3 OKsetname (optional set name, default: linvor)<br />
AT+PIN0000 OKsetPIN (optional set pin, default: 1234)<br />
</pre><br />
<br />
More details about the configuration you will find here [[http://reprap.org/wiki/Melzi#Connect_via_Bluetooth]]<br />
<br />
==Wiring==<br />
On RAMPS/Arduino Mega the UART level are 5V but the BT module supports only 3.3V input. Therefore the TxD level has to be divided by resistor. This passive solution is fast enough for 115kBaud. Overall only 4 wires have to be soldered. <br />
<br />
[[File:BT_Connection_RAMPS1.4.png|400px]]<br />
<br />
==Connect via Bluetooth==<br />
Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.<br />
<br />
==How to buy it==<br />
See [[Arduino_Mega_Pololu_Shield#How_to_get_it| Where to buy RAMPS]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Arduino_Mega_Pololu_Shield&diff=113196Arduino Mega Pololu Shield2013-12-18T20:05:30Z<p>Johnnyr: /* How to get it */ fix geeetech's entry, tag developer</p>
<hr />
<div>{{RAMPS}}<br />
{{Languages}}<br />
{{Development<br />
|image = RAMPS1_3.JPG<br />
|status = Working<br />
|name = RAMPS<br />
|description = Arduino based modular RepRap electronics.<br />
|license = [[GPL]]<br />
|author = johnnyr<br />
|reprap = Pololu Electronics<br />
|categories = [[:Category:Electronics|Electronics]]<br />
}}'''RepRap Arduino Mega Pololu Shield''', or '''RAMPS''' for short. It is designed to fit the entire electronics needed for a RepRap in one small package for low cost. RAMPS interfaces an [[Arduino Mega]] with the powerful Arduino MEGA platform and has plenty room for expansion. The modular design includes plug in stepper drivers and extruder control electronics on an Arduino MEGA shield for easy service, part replacement, upgrade-ability and expansion. Additionally, a number of Arduino expansion boards can be added to the system as long as the main RAMPS board is kept to the top of the stack.<br />
<br />
== Introduction ==<br />
<br />
Version 1.4 uses surface mount capacitors and resistors to further cover edge issue cases. As of version 1.3 in order to fit more stuff RAMPS is no longer designed for easy circuit home etching. If you want to etch your own PCB either get version 1.25 or [[Generation 7 Electronics]]. Version 1.25 and earlier are "1.5 layer" designed boards (i.e. it's double sided board, but one of layers can easily be replaced with wire-jumpers) that is printable on your RepRap with the etch resist pen method, or home fabbed with toner transfer.<br />
<br />
This board is mostly based on Adrian's [[Pololu_Electronics]] and work by Tonok. Copper etch resists methods suggested by Vik. Also inspired by Vik's work with EasyDrivers. Circuit design based mostly on Adrian's [[Pololu_Electronics]]. Joaz at RepRapSource.com supplied initial pin definitions and many design improvements. Much inspiration, suggestions, and ideas from Prusajr, Kliment, Maxbots, Rick, and many others in the RepRap community.<br />
{{Clear}}<br />
<br />
<center><gallery widths=300px perrow="2"><br />
Image:ramps.jpg|Mendel printed RAMPS wired to Mendel.<br />
Image:rampsMendel.jpg|Mendel with RAMPS in enclosure mounted.<br />
Image:arduinomegapololushieldboardbothsides.png | screen capture of 2-sided RAMPS layout<br />
Image:RAMPSopen.jpg | commercially fabbed 2-sided RAMPS wired to Mendel<br />
</gallery></center><br />
<br />
== Features ==<br />
* It has provisions for the cartesian robot and extruder. <br />
* Expandable to control other accessories.<br />
* 3 mosfets for heater / fan outputs and 3 thermistor circuits.<br />
* Fused at 5A for additional safety and component protection<br />
* Heated bed control with additional 11A fuse<br />
* Fits 5 [[Pololu stepper driver board]]<br />
* Pololu boards are on pin header sockets so they can be replaced easily or removed for use in future designs.<br />
* I2C and SPI pins left available for future expansion.<br />
* All the Mosfets are hooked into PWM pins for versatility.<br />
* Servo style connectors are used to connect to the endstops, motors, and leds. These connectors are gold plated, rated for 3A, very compact, and globally available.<br />
* USB type B receptacle<br />
* SD Card add on available -- Available now made by Kliment - [[Sdramps]]<br />
* LEDs indicate when heater outputs on<br />
* Option to connect 2 motors to Z for Prusa Mendel<br />
<br />
<videoflash type="youtube">0k_KArg_sgA</videoflash><br />
<br />
== Safety Tip ==<br />
<br />
[[image:Generation3Electronics-achtung.gif|thumb]]<br />
<br />
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop [http://en.wikipedia.org/wiki/Smoke_detector smoke detector]. Don't have a smoke detector? Get one!<br />
<br />
== Support ==<br />
The primary channel for RAMPS support is the [http://forums.reprap.org/list.php?219 RAMPS Forum]<br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?219 Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?219,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br />
== Build and Use ==<br />
<br />
See the page that corresponds with the version you are building [[RAMPS1.4]],[[RAMPS1.3]] or [[RAMPS 1.2]] <br />
<br />
== Ingredients ==<br />
<br />
===Schematic ===<br />
<br />
Current schematic shown. For older versions click the image. Click again for full image.<br />
[[Image:arduinomegapololushieldschematic.png|800px|This is the schematic of the shield.]]<br />
<br />
=== Source ===<br />
<br />
{|class="wikitable" style="margin: 1em auto 1em auto;"<br />
|- style="background-color:#999999;" <br />
! FILE ID#<br />
! TYPE<br />
! DESCRIPTION<br />
! DOWNLOAD<br />
|-<br />
| [[File:ArduinoMegaPololuShield.zip]]<br />
| Eagle Files<br />
| These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.)<br />
| [[media:ArduinoMegaPololuShield.zip]]<br />
|-<br />
|-<br />
| [[File:RepRapjr.lbr]]<br />
| Eagle Libraries<br />
| The components used in this board are here. see [[Eagle_Library]]<br />
| [[media:RepRapjr.lbr]]<br />
|-<br />
|}<br />
<br />
== Custom Versions ==<br />
<br />
=== Grogyans ===<br />
<br />
Will have locking connectors for the motors.<br />
Uses the MAX6675 thermocouple sensor, which essentially replaces the AD595.<br />
Less vias, which should also increase building time.<br />
Bottom only, to enable the possibility of a RepRap or toner transfer method to fabricate the board.<br />
Moved the power LED to the front for easy identification.<br />
Providing the user has a proto-shield for Mega, there is plenty of pins left for them to play with.<br />
By using another tiered board, will alow the possibility of more extruders and LCD all of which can communicate over the I2C protocol.<br />
<br />
== Showcase ==<br />
<br />
<gallery><br />
Image:rampsbottom.jpg|printed on a RepRap Mendel with the etch resist method [[Plotting|Using_cad.py]]<br />
Image:rampslabels.jpg|attempt at printing labels with sharpie<br />
Image:Ramps-2sided.jpg|Two-sided PCB Built v1.0<br />
Image:arduinomegapololushieldback.jpg|messy back of the first prototype of RAMPS -- built on a generic megaproto shield with point to point wiring, rather than a custom RAMPS PCB<br />
Image:rampsStandardPinHeaders.jpg|RAMPS with standard pin headers<br />
</gallery><br />
<br />
== Change Log ==<br />
<br />
*1.4 August 4, 2011<br />
#Changed capacitors and resistors to surface mount components<br />
#Added LEDs to mosfet outputs<br />
#Added bulk capacitors for each stepper driver<br />
#Added pull up resistors to enable to override the Pololu drivers default enabled state<br />
#Added mosfet gate resistors<br />
#Added pull-ups for I2C<br />
#Servo1 connector moved to pin 11 to free 7 for ADK<br />
#Fixed thermals<br />
#Servo 5V supply is only connected to VCC if a jumper is added<br />
#Reset switch changed for small footprint<br />
#Moved Aux conectors around a bit and increased board size ~0.1"<br />
#Added some space around Q3 for a small heatsink<br />
<br />
*1.3 May 13, 2011<br />
#Added 5th stepper driver socket<br />
#Added 3rd thermistor circuit<br />
#Added Heated bed circuit w/ 11A PTC fuse, changed to 4 position pluggable input jack to accommodate additional current<br />
#Increased board size to 4"x2.32"<br />
#Pin order on heater outputs changed<br />
#Increased spacing increased to accommodate different connectors<br />
#Added connectors for optional 2 motors on Z driver<br />
#Added connector for PS control<br />
#Improved expansion connector layout<br />
#Moved LED towards corner and added resistor to LED circuit<br />
#No longer optimised for home etching :(<br />
#License changed to GPL v3 or newer<br />
<br />
* v1.2 January 04, 2011<br />
# Added 0.1" motor connector to RAMPS for each driver (motors no longer have to be connected on top of stepper drivers)<br />
# Added breakouts for serial and I2C<br />
# Changed extra power and pin headers around for easier connection to extra boards.<br />
# Lost most extra analog breakouts<br />
# More silk screen and bottom layer fixing<br />
<br />
* v1.1 September 30, 2010<br />
# Replaced power barrel jack with plug-able screw terminal<br />
# Added jumpers to select micro-stepping on stepper driver boards<br />
# Added debug LED<br />
# Changed mosfet pins to be compatible with FiveD firmware<br />
# Reduced number of 100uF capacitors to 1<br />
# Added 100nF capacitor to 12V input<br />
# Put auxiliary 12VIN and GNDIN pads in a straight line<br />
# Silk screen and bottom layer cleaned up<br />
<br />
* v1.0 Original RAMPS PCB design<br />
<br />
* v0.1? Point to point wired Arduino MEGA Prototype shield<br />
<br />
== How to get it ==<br />
<br />
Bare PCB and components are available from<br />
<br />
#[http://ultimachine.com/ramps Ultimachine]<br />
#[http://www.makerfarm.com/index.php/printer-electronics.html MakerFarm]<br />
#[http://myworld.ebay.com/tijnekind/?_trksid=p4340.l2559 Brupje] - see items for sale<br />
#[http://reprapsource.com/shop/shop/list/196 ReprapSource]<br />
#[https://shop.grrf.de/index.php?main_page= German RepRap Foundation (GRRF)] - seller of Ramps electronics, plastruder parts, stepper motors, plastics (ABS), mechanics kits.<br />
#[http://xyzprinters.com/23-ramps XYZ-Printers]<br />
#[http://reprapworld.com/?searchresults&cPath=1591_1593 Reprapworld.com]<br />
#[http://stores.ebay.ca/reprapdiscount RepRapDiscount.com]<br />
#[http://NorcalReprap.com NorcalReprap.com]<br />
#[http://www.reprap.cn Reprap.cn]<br />
<br />
Fully assembled board are available from <br />
<br />
#[http://www.reprap.cc Austrian Reprap] '''Fully asssembled Ramps 1.4 & DIY 1.3'''<br />
#[http://www.reprap-france.com/electronique/54-electronique-ramps-14-assembl%C3%A9e.html eMotion Tech]<br />
#[http://www.ebay.com/sch/reprap_z/m.html RepRap Z eBay] '''Fully asssembled Ramps 1.4 KIT Plug&Print'''<br />
#[http://www.charlies3dtechnologies.eu/Ramps_14_Kit/p1675911_8814386.aspx Charlie's 3D Technologies] '''Fully assembled RAMPS 1.4'''<br />
#[http://gadgets3d.com/index.php?route=product/product&product_id=54 GADGETS3D.com] '''Fully assembled RAMPS 1.4'''<br />
#[http://www.ebay.com/sch/fabster3d/m.html Fabster3D Ebay]<br />
#[http://www.sainsmart.com/sainsmart-mega2560-a4988-ramps-1-4-3d-printer-kit-for-arduino-reprap.html Ramps 1.4 Kit]<br />
#[http://www.makerfarm.com/index.php/printer-electronics.html MakerFarm]<br />
#[http://ultimachine.com/content/ramps-pre-assembled-kit Ultimachine] '''RAMPS Original Developer'''<br />
#[http://www.sainsmart.com/sainsmart-3d-printer-control-board-ramps-1-4-for-arduino-reprap-mendel-prusa.html SainSmart.com]<br />
#[http://myworld.ebay.com/tijnekind/?_trksid=p4340.l2559 Brupje] - see items for sale<br />
#[http://xyzprinters.com/23-ramps XYZ-Printers]<br />
#[http://www.mixshop.com/ MixShop] '''RAMPS 1.4 Pre-Assembled'''<br />
#[http://www.a2aprinter.com/ A2APrinter] '''RAMPS 1.4 Pre-Assembled'''<br />
#[http://store.bcndynamics.com/ BCNdynamics store]<br />
#[http://www.2printbeta.de/ 2PrintBeta]<br />
#[http://reprapworld.com/?searchresults&cPath=1591_1593 Reprapworld.com]<br />
#[http://stores.ebay.ca/reprapdiscount RepRapDiscount.com] '''Fully assembled RAMPS 1.4 including wiring kit (20 cables)'''<br />
#[http://www.create3d.com.au/ Create3D] '''RAMPS 1.4 Pre-Assembled'''<br />
#[http://www.seemecnc.com/ SeeMeCNC] '''RAMPS 1.4 and RAMBo Pre-Assembled'''<br />
#[http://www.ultibots.com/arduino-mega-ramps-1-4-bundle Ultibots]'''RAMPS 1.4 Pre-Assembled'''<br />
#[http://norcalreprap.com/index.php?main_page=index&cPath=1_10 NorcalReprap]''' RAMPS 1.4 Fully assembled & Tested'''<br />
#[http://reprap.me/epages/reprap_nu_4149051.sf/en_US/?ObjectPath=/Shops/reprap_nu_4149051/Products/RAMPS1.4/SubProducts/RAMPS1.4-0001 RepRap.me]'''Pre or Fully assembled RAMPS 1.4 and kit with stepstick and endstops'''<br />
#[http://3dprinterczar.com/shop/electronics/assembled-ramps-1-4-electronics/ 3D Printer Czar]'''Fully assembled RAMPS 1.4 Worldwide Shipping'''<br />
#[http://www.reprap.cn He3D]<br />
#[http://geeetech.com/ramps-14-reprap-mega-pololu-a4988-extend-shield-p-606 Geeetech]<br />
<br />
== Wish list ==<br />
This shield would like to replicate with the following external boards<br />
#Additional Stepper Driver.<br />
#Replace the resettable fuse with a traditional [http://www.altronics.com.au/index.asp?area=item&id=S5906 15A blade fuse] and [http://www.altronics.com.au/index.asp?area=item&id=S6040 holder]?<br />
#DC Driver<br />
#Two additional Thermistors (for a second extruder and heated chamber)<br />
#Include a second resistor in parallel to the thermistor to reduce self heating. [http://hydraraptor.blogspot.com/2007/10/measuring-temperature-easy-way.html See here]<br />
#Thermocouple<br />
#SD Card -- Available now made by Kliment - [[Sdramps]]<br />
#Control Panel w/LCD<br />
#Ethernet<br />
#Host USB<br />
<br />
== Troubleshooting ==<br />
*Check List<br />
#RAMPS shield firmly seated on Arduino MEGA<br />
#No stray wires/metal to cause short<br />
#All connections firmly seated, screws tight<br />
#Power connection oriented correctly, connected to RAMPS shield (only USB is connected to MEGA)<br />
#Thermistor connected to T0<br />
#Firmware uploaded<br />
#Stepper driver potentiometers to a sane setting (maybe 25% from CCW to start, adjust to enough power to drive axis + not overheat)<br />
#Heater wires properly connected<br />
<br />
*Cannot connect?<br />
** Verify firmware and host software baud rate matches<br />
** Disconnect USB, reconnect, and retry<br />
** It may be a problem with the software you're using (repsnapper). Try using [http://koti.kapsi.fi/~kliment/printrun/ pronterface].<br />
<br />
*Stepper motor getting too hot?<br />
** Adjust the potentiometer (small screw) on the stepper driver in question by rotating the screw counterclockwise to decrease the current going to the stepper motor.<br />
<br />
*My fan is not working.<br />
** If you have RAMPs 1.3+ and sprinter firmware (set with the default pins for RAMPs 1.3), try attaching the fan to D9 output.<br />
** In pronterface, the fan can be turned on by using the M106 command and turned off with M107.<br />
<br />
=== Stepper Driver Testing ===<br />
If you are not sure whether you have a problem with your RAMPS or the stepper drivers you can test that the driver is getting the power and signals it needs to work.<br />
<br />
*Stepper motors getting too hot?<br />
** Adjust the potentiometer (small screw) on the stepper driver by rotating the screw counterclockwise to decrease the current going to the stepper motor.<br />
<br />
Use a meter of some sort to test the signals at one of the motor drivers. Be careful not to short anything out. You can use a (-) pad in AUX-1 for ground and test the voltage on VMOT, VDD, EN, STEP, and DIR. If all of these are working correctly then the stepper driver is likely bad.<br />
<pre><br />
High(5V) when disabled, Low when enabled EN-| |-VMOT 12V (or voltage at 5A side of input power connector<br />
Set by Jumper MS1-| |-GND 0V <br />
Set by Jumper MS2-| |-1A ---------------| <Motor Coil A <br />
Set by Jumper MS3-| |-2A ---------------|____<br />
Not used (tied to SLP) RST-| |-1B -----------------/ | <Motor Coil B<br />
Not used (tied to RST) SLP-| |-2B -------------------/<br />
Pulse High for each step STEP-| |-VDD 5V<br />
Switches between High and Low when driven direction changes DIR-| |-GND 0V<br />
</pre><br />
<br />
<br />
=== Q&A ===<br />
*What power supply you recommend for your ramps board. I have just finished assembly and looking at the diagrams for a pc power supply and wondering about the separate amperages for the extruder and heated bed. Can they be higher amps without damage?<br />
<br />
Yes, the power supply being capable of more amps than required is the desired configuration. The current shown are the max supported by RAMPS and is the minimum the power supply should be capable of. It is also OK to have both of the inputs on RAMPS connected to one PSU with enough capacity. If you are not using a heated bed the entire thing can run off the 5A side (D8 will just not work).<br />
<br />
*I got a RAMPS V1.3 as part of a kit, but it doesn't have any installation instructions - just a schematic. Can you point us to a good tutorial for connecting everything? (i.e. stepper motors, opto flag pcb's, power, data, etc) Some of it (like the single USB port) is obvious, but some of it isn't.<br />
<br />
See [[RAMPS1.3]] for instructions for version 1.3. There is a version navigation bar at the top of the RAMPS pages that allow you to jump to a specific versions instructions. There is a very helpful graphic under Final Check section.<br />
<br />
*For RAMPS V1.3 the power section of the schematic shows several places with GND/12V (C4/C6, X4-2/1, X4-4/3, VCC/D12). Which one is the GND/12V from the power supply? Is it the round power plug like a laptop power plug? Also, is the outside of that plug GND while the inside is +12V? My kit came with a note warning not to reverse the input power or it would cook the board . . . and a plug adapter with no labels that can be installed either way.<br />
<br />
See the connecting power section of your version's page. The round plug is on the Arduino MEGA and will only power the MEGA. You need to power the green pluggable connector, it should not be reversible and the board should be marked (+) and (-). If for some reason your board is not marked you can follow the diagrams and pictures in the wiki.<br />
<br />
[[Category:RAMPS]]</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=113192Rambo development2013-12-18T19:36:59Z<p>Johnnyr: /* Changelog */ update through 1.2f</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2f<br />
**Assembly yield improvements:<br />
***update 0402, 0603, SOT669, SOIC8, and QFN32 footprint<br />
***shrink motor connector drill size<br />
***remove stop from thermal vias<br />
***add overprint to paste layer for fuse holder<br />
**fix MX2 and MX3 silk screen reversed<br />
**schematic cleanup (no changes to nets)<br />
*1.2e<br />
**shrink vias around motor drivers to improve yield in wave process<br />
*1.2d<br />
**remove solder mask between Atmega2560 leads<br />
**minor rerouts<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=RAMPS_1.4&diff=108902RAMPS 1.42013-10-26T04:39:34Z<p>Johnnyr: Undo revision 108889 by Geeetech (talk)</p>
<hr />
<div>{{RAMPS}}<br />
<br />
{{Languages|RAMPS 1.4}}<br />
<br />
{{Development<br />
|image = RAMPS1-3 fin.JPG<br />
|status = Working<br />
|name = RAMPS 1.4<br />
|description = RepRap Arduino Mega Pololu Shield<br />
Arduino MEGA based modular RepRap electronics.<br />
|license = [[GPL]]<br />
|author = johnnyr<br />
|reprap = Pololu Electronics<br />
|categories = [[:Category:RAMPS|RAMPS]][[Category:RAMPS]]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
<br />
In RAMPS 1.4, the resistors and capacitors are now surface mount to fit more passive components. This does add another set of steps to assembly, but we stuck with larger sizes to make it fairly painless.<br />
<br />
<gallery><br />
Image:RAMPS1-3 fin.JPG<br />
Image:Arduinomega1-4connectors.png<br />
Image:RAMPS1.4schematic.png<br />
Image:Ramps_v1.4_shield_bothsides.png<br />
</gallery><br />
<br />
= Safety Tip =<br />
<br />
[[image:Generation3Electronics-achtung.gif|thumb]]<br />
<br />
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop [http://en.wikipedia.org/wiki/Smoke_detector smoke detector]. Got no smoke detector? Get one!<br />
<br />
<br clear="all"/><br />
<br />
=Assembly=<br />
==Component Soldering==<br />
==Required Tools==<br />
You must have:<br />
Solder iron, solder wire, good tweezers<br />
You really need:<br />
Solder wick, solder sucker, flux pen<br />
Optional methods use:<br />
Solder paste, hot plate or oven <br />
<br />
===Shield Assembly===<br />
[[Image:RAMPS1-3pasteapplied.JPG|thumb]] <br />
Soldering RAMPS 1.4 includes both surface mount and through hole soldering.<br />
<br />
The surface mount can be done a few ways. Since all the SMT components on this board are large 2 pad parts you can do pin by pin soldering pretty easy with normal soldering equipment. Start by putting a small amount of solder on one pad. If you have flux, coat the soldered pad. Use the tweezers to hold the component down in position and heat the solder to tack the component into place (make sure the entire solder blob flows so you don't get a cold solder). Then solder the other pad. Also popular is using solder paste for pad by pad soldering, Oven Reflow (need link), and [[HotplateReflowTechnique]]<br />
<br />
Solder the SMT components first. Then the PTH on top of the board. Finally solder the pin headers on the bottom.<br />
<br />
==== C2 - 100nF capacitor====<br />
[[Image:RAMPS1-3 100nF.JPG|thumb]]<br />
This can be placed in any orientation.<br />
<br clear="all"/><br />
==== LED1 - Green LED====<br />
[[Image:RAMPS1-3 GrLED.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
<br />
==== LED2, LED3, LED4 - Red LED====<br />
[[Image:RAMPS1-3 redLEDs.JPG |thumb]]<br />
Place these with the end having green dots away from the + mark on the PCB.<br />
<br clear="all"/><br />
====R13, R14, R15 - 10 Ohm resistor====<br />
[[Image:RAMPS1-3 10r.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R12 - 1K resistor====<br />
[[Image:RAMPS1-3 1k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R23, R24, R25 - 1.8K resistor====<br />
[[Image:RAMPS1-3 1-8k.JPG |thumb]]<br />
These are marked 1K on the PCB, but we are using larger ones to accommodate higher voltages. These can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====R1, R7, R11, R21, R22 - 4.7K resistor====<br />
[[Image:RAMPS1-3 4-7k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R16, R17, R18, R19, R20 - 10K resistor====<br />
[[Image:RAMPS1-3 10k.JPG|thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====R2, R3, R4, R5, R6, R8, R9, R10 - 100K resistor====<br />
[[Image:RAMPS1-3 100k.JPG |thumb]]<br />
These can be placed in any orientation.<br />
<br clear="all"/><br />
====C1, C5, C8 - 10uF capacitor====<br />
[[Image:RAMPS1-3 10uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB.<br />
<br clear="all"/><br />
<br />
====C3, C4, C6, C7, C9, C10 - 100uF capacitor====<br />
[[Image:RAMPS1-3 100uF.JPG|thumb]]<br />
These must be placed in the proper orientation. The board has the foot print of the components printed on it. The rounded corners on the base of the capacitor must line up with the white print on the PCB. <br />
<br clear="all"/><br />
<br />
====Reflow SMT soldering====<br />
[[Image:RAMPS1-3_placed.JPG|200px|thumb]] [[Image:RAMPS1-3 smtSoldered.JPG|thumb]]<br />
If you are doing oven or hot plate method, now is the time apply heat (add links here). If you used a solder iron, you have probably already soldered all these components.<br />
<br />
Make sure to inspect the SMT soldering at this point since it will be harder to rework after the headers are on top.<br />
<br clear="all"/><br />
====Top pins====<br />
[[Image:RAMPS1-3 tpins.JPG|thumb]]<br />
Solder 1 1x6, 6 1x4, and 7 2x3 pin headers on top of the board. The long post should be standing up to take a connector. Solder one leg on each one to tack them into place. Then re-heat the joint and push on the component until it is perfectly situated. Then you'll want to solder the rest of the leads. You will get burnt if you touch the other side of the pin you are soldering.<br />
<br />
If you want to use the extra pin outputs, now is the time to solder on the rest of the headers.<br />
<br clear="all"/><br />
<br />
====Driver sockets====<br />
[[Image:RAMPS1-3 DrSockets.JPG |thumb]]<br />
Place the female headers for the stepper drivers on top of the board. You can use the 1x8 and 1x6 pin headers to jig them straight. Turn the board over and solder these pins.<br />
<br clear="all"/><br />
====D1, D2 - Diodes====<br />
[[Image:RAMPS1-3 DnF.JPG|thumb]]<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 and D2 diodes]]<br />
These must be placed in the proper orientation. The band on the diode must be turned the same way as the mark on the board.<br />
<br />
Definitely solder D2 in. D2, F1, and F2 are shown installed here.<br />
<br />
D1 should only be installed if the 5A rail is powered by 12V. It can be omitted and the Arduino will be powered from USB. You will want D1 installed if you add components to print without a PC. To reiterate, D1 MUST be omitted if you are powering the 5A rail by more than 12V, or the power is not absolutely clean, otherwise you may damage your ramps.<br />
<br style="clear: both" /><br />
<br />
====F1 - MFR500 Fuse====<br />
This is the smaller yellow fuse. This can be placed in any orientation. When soldering the fuses it is best to use a piece of 3mm filament or something similar to keep the ceramic coating on the pins from blocking proper solder along the through hole.<br />
<br />
Since the fuses are the tallest parts, it is simpler and more convenient to solder them last. From this point on, solder the rest of the RAMPS in order of bottom pins, reset switch, terminals, mosfets and then fuses.<br />
<br />
====Bottom pins====<br />
[[Image:RAMPS1-3 bpins.JPG|thumb]]<br />
[[image:DSC 0148.JPG|thumb]]<br />
Place these on the bottom of the board with the long post out to plug into the Arduino MEGA. You can plug them into the MEGA to hold them in place while you solder. Do not overheat the pins while in Arduino or you may damage it's connectors.<br />
<br clear="all"/><br />
====Reset switch====<br />
[[Image:RAMPS1-3 rst.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Mosfet Terminal====<br />
[[Image:RAMPS1-3 6pos.JPG |thumb|Standard RAMPS 1.4 D8-10 Terminal Block]]<br />
[[Image:RAMPS1-4 6pos_alt.png |thumb|Alternative Plug/Jack Connectors]]<br />
This must be oriented where the wire holes are turned towards the edge of the board. Solder a pin on each end and make sure the component is flat on the board and solder the middle pins.<br />
<br clear="all"/><br />
====Power Terminal====<br />
[[Image:RAMPS1-3 4pos.JPG|thumb]]<br />
This can only be oriented in one direction.<br />
<br clear="all"/><br />
====Q1, Q2, Q3 - Mosfets====<br />
[[Image:RAMPS1-3 mosfet.JPG|thumb]]<br />
These must be orientated as in the picture. The tall heat sink part of the mosfet needs to be turned the same as the mark on the board.<br />
<br clear="all"/><br />
====F2 - MFR1100 Fuse====<br />
This is the larger yellow fuse. This can be placed in any orientation.<br />
<br clear="all"/><br />
<br />
====Inspection====<br />
[[Image:RAMPS1-3 fin.JPG|200px|thumb]]<br />
Inspect your work. Clean any solder bridges and suspect solders.<br />
<br />
===Stepper Driver Boards===<br />
#*Jumpers need to be installed under each stepper driver:<br />
<br />
jumper Yes/No step size<br />
1 2 3<br />
no no no full step<br />
yes no no half step<br />
no yes no 1/4 step<br />
yes yes no 1/8 step<br />
yes yes yes 1/16 step<br />
For now the default is 1/16 micro stepping (all jumpers installed under drivers)<br />
<br />
#Cut the pin headers to 8 pins long so that they fit each side of the stepper driver.<br />
#Insert the pin headers into the sockets on RAMPS<br />
#Fit the stepper drivers onto the pin headers and solder. Only heat each pin for a few seconds at time to avoid damage to the socket. <br />
#*Glue the heatsink (if used) to the top of the [[A4988]]/[[A4983]] chip using the provided pad of double-sided adhesive.<br />
<br />
===Opto Endstops===<br />
Opto board 2.1 build instructions can be found [http://reprap.org/wiki/OptoEndstop_2.1#Build_It here on the reprap opto page], and also [http://reprapsource.com/oe-r1 here] for reprapsource.com's instructions.<br />
#* Cut the 26awg 3 conductor cable into 3 length.[[Image:RAMPSendstopConnector.JPG|right|100px|Close up of endstop connector on endstop.]]<br />
#* Note: you may want until you've built your machine to cut the cables to the perfect length.[[Image:RAMPSendstopConboard.JPG|right|100px|Close up of endstop connection on RAMPS]]<br />
##* crimp and solder a female connector to the ends of each wire. (solder not necessary with proper crimp tools) <br />
#* use the 2.54mm 1x3 housing.<br />
#* Connect at least the minimum endstops. <br />
{| border="1"<br />
| RAMPS End<br />
|<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|-<br />
| VCC (+)<br />
| Red<br />
|}<br />
{| border="1" <br />
| Endstop End<br />
|<br />
|-<br />
| VCC (+)<br />
| Red<br />
|-<br />
| SIG (S)<br />
| White<br />
|-<br />
| GND (-)<br />
| Black<br />
|}<br />
<br />
===Mechanical Endstops===<br />
[[File:MechSwitches 2Wire.JPG|thumb]]<br />
The recommended firmware will provide a configuration to use mechanical endstops with just two wires. <br />
<br />
Find the area labelled "endstops" in the upper right corner of the board and for each of the X, Y, and Z pairs of pins (label should be below each set) do the following: <br />
# Connect S (top row, labelled to the left) on RAMPS to NC on the switch.<br />
# Connect GND on RAMPS to C on the switch.<br />
<br />
'''Note:''' The latest firmware such as Marlin seems to use NO as the default pin on the switch. Otherwise you may need to invert the endstops in the firmware. You can use M119 to check your endstops status.<br />
<br />
===Put the connectors on the motor wires===<br />
#* solder a female connector to the ends of each wire.<br />
#* use the 2.54mm 1x3 housing. <br />
#* Shown is the type used for servos in RC projects. See [[Stepper Motors]] for info on motors.<br />
<br />
===Thermistor Wires===<br />
Use a 2 pin 0.1" connector to terminate the thermistor wires.<br />
#* Connect the cable so the 2 wires go to T0<br />
#Connect the 2 heater wires to D10 (E0H on older boards) and the + connection above it.<br />
#* If changing to an unverified firmware it is best to verify heater circuit function with a meter before connecting heater to prevent damage to the extruder.<br />
<br />
===Pololu carriage===<br />
[[image:PololuExample.JPG|thumb]]<br />
This section assumes you are using Pololu, but there are other options. Insert two 1x8 pin headers into the board. If you bought a kit with one 16 pin header, simply cut it so that you have two 1x8. Make sure that the side with the labels has the long ends of the posts, and the side you want to solder is the side with the heat sink. Doing this backwards will cause you not to see the labels and will most likely not fit. Remember to apply a heat-sink to the largest chip on the back.<br />
<br />
=Final Setup=<br />
==Pre-Flight Check==<br />
If you think you may have mistakes you can install only one stepper driver during initial testing and risk only one stepper driver.<br />
<br />
The trimpot on the stepper drivers controls the current limit. Turn it all the way down (counter clock wise) and back up 25%. Be careful to not force the trimpot, it is delicate. You will need to fine tune the current limit later. Note that it is allways giving the motors that much power, even when not moving, so if your stepper motor drivers are getting hot, you may want to turn it down slightly.<br />
<br />
[http://reprap.org/mediawiki/index.php?title=Arduino_Mega_Pololu_Shield#Make_the_cables_up_for_the_opto_endstops Connect the minimum endstops] for X,Y, and Z<br />
<br />
Connect Motors (Do not disconnect or connect motors while powered; if the connection is loose, this will cause the motors to spazz and possibly kill your stepper driver.)<br />
<br />
You may want to use this [http://reprap.org/wiki/File:RAMPSTestCode.pde code] to test all the electronics before installing any of the suggested firmwares.<br />
<br />
Install firmware (More info below). Firmware flashing can be done without 12V power supply connected.<br />
<br />
==Wiring==<br />
It is relatively simple to wire up the RAMPS. Just add the extruder heating coil wire to D10, the thermistor to the two T0 pins on middle right right, and wire up the steppers and endstops. From left to right, wire all of the stepper motor's wires as red, blue, green, and black or red, green, yellow, blue into the pins next to the Pololus. When you connect the wires to the endstops (if you are using 3 endstops, plug them into the MIN (-) slots), make sure you match the labels. <br />
<br />
[[Image:Rampswire14.svg|500px|]]<br />
<br />
Note that tesla & tonok firmware use d9 and sprinter and johnny/tonok use d10 for the extruder hot end.<br />
<br />
===Warnings===<br />
<br />
<font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard.<br />
<br />
Incorrectly inserting stepper drivers will destroy your electronics and cause a fire risk. Always make sure power and USB is disconnected when removing or adjusting stepper drivers. Always make sure to insert drivers in correct orientation and in the socket correctly.<br />
<br />
The endstop pins are Signal - GND - VCC, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.</font><br />
<br />
==Connecting Power==<br />
<br />
Connect your 12V power supply to the RAMPS shield. <font color="red">Reversing +/- or otherwise incorrectly connecting power can destroy your electronics and cause fire hazard</font>.<br />
<br />
The bottom pair of connectors marked 5A power the stepper drivers and Extruder heater/fan (D9, D10). The source should be rated a minimum of 5A.<br />
<br />
The pair of connectors above marked 11A power a Heated Bed, or other output (D8). The source should be rated a minimum 11A (if both power rails are connected to the same supply it should have a minimum rating of 16A).<br />
<br />
The barrel connector, on the Arduino MEGA, will NOT power RAMPS and will not provide power to the stepper motors, heated bed, etc.<br />
<br />
The power connector plug may not be obviously labeled, looking at the power connection the positive is on the left and the negative is on the right of the plug.<br />
<br />
==Power Supply==<br />
[[Image:D1D2.jpg|thumb|Where to find the D1 diode (note that D2 is shown at the left, not D1)]]<br />
RAMPS is quite happy with the 12 V line from [[PCPowerSupply]].<br />
Or you can hack up a 12V laptop power supply, or other 12 V "wall wart" power supply. <font color="red"> Be sure that the power can output 5A or greater.</font> Additional 11A may be needed for heated bed support.<br />
<br />
See Connecting power above.<br />
<br />
The 3 pins next to the reset switch are meant to optionally connect to your PSU.<br />
<br />
The PS_ON pin is intended to switch your power supply on and off. Many firmwares support pulling this pin low with M80 command to turn the power supply on, and M81 to turn it off. This behavior is desired for ATX power supplies and can be modified in firmware to support 5V high power supplies like those borrowed from an Xbox.<br />
<br />
Without D1 installed, or when the 12VIN is not connected, the Arduino gets its power from USB. If you want your kit powered without USB connected you need to solder in D1 OR connect VCC to your PSU.<br />
<br />
The VCC pin can be connected to your ATX's 5Vsb to continuously power the Arduino from your ATX power supply. You will want to make sure that D1 is not installed or cut out. The Arduino is not designed to be powered directly on the VCC rail and the VIN pin at the same time.<br />
<br />
The 5V pin in that connector on RAMPS only supplies the 5V to the auxiliary servo connectors. It is designed so that you can jumper it to the VCC pin and use the Arduino's power supply to supply 5V for extra servos if you are only powered from USB or 5V. Since there is not a lot of extra power from the Arduino's power supply you can connect it<br />
directly to your 5V power supply if you have one. You can also leave this pin not connected if you have no plan to add extra servos.<br />
<br />
===Maximum Input Voltage===<br />
====Power Supply without diode====<br />
The 1N4004 diode connects the RAMPS input voltage to the MEGA. If your board does not have this diode soldered in, you can safely input as much as 35V. (The pololus can do up to 35V)<br />
====Power Supply with diode====<br />
If your board has a 1N4004 diode soldered in, do not apply more than 12 V to it. Original flavor Arduino Mega are rated to 12 V input. While Arduino Mega 2560 can take 20 V, it is not recommended.<br />
<br />
=Firmware and Pin Assignments=<br />
<br />
<font color="red">RAMPS 1.4 uses the same pin definitions as 1.3.</font><br />
<br />
You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega. Arduino MEGA 2560 Rev3 requires Arduino software version 0023.<br />
<br />
[[Sprinter]] and [[Marlin]] are popular and stable firmwares for RAMPS as of 3/28/2012. [[Pronterface]] is a cross platform printer control program that can be used for testing/printing.<br />
<br />
Working preconfigured sprinter firmware can be downloaded at http://ultimachine.com/sites/default/files/UltiMachineRAMPS1-4Sprinter.zip . Mechanical is in the folder ending with ME, optical endstop firmware is in the folder ending in OE.<br />
<br />
Working preconfigured Marlin firmware can be downloaded at<br />
http://www.mediafire.com/?un8s4i2lvdgd875 . is for mecanical endstops, for optical endstop need to reverse the logic of endstops from the configuration.h shell, the language of display is in italian, but can easy be canged from the shell language.h<br />
<br />
Others (Need pins set in Firmware as below):<br />
<br />
*mechanical endstops (now the default ultimachine.com option) require '''#define OPTO_PULLUPS_INTERNAL 1''' to be added to configuration.h if not there by default.<br />
<br />
Here are the pin definitions for this board.<br />
<pre><br />
// For RAMPS 1.4<br />
#define X_STEP_PIN 54<br />
#define X_DIR_PIN 55<br />
#define X_ENABLE_PIN 38<br />
#define X_MIN_PIN 3<br />
#define X_MAX_PIN 2<br />
<br />
#define Y_STEP_PIN 60<br />
#define Y_DIR_PIN 61<br />
#define Y_ENABLE_PIN 56<br />
#define Y_MIN_PIN 14<br />
#define Y_MAX_PIN 15<br />
<br />
#define Z_STEP_PIN 46<br />
#define Z_DIR_PIN 48<br />
#define Z_ENABLE_PIN 62<br />
#define Z_MIN_PIN 18<br />
#define Z_MAX_PIN 19<br />
<br />
#define E_STEP_PIN 26<br />
#define E_DIR_PIN 28<br />
#define E_ENABLE_PIN 24<br />
<br />
#define SDPOWER -1<br />
#define SDSS 53<br />
#define LED_PIN 13<br />
<br />
#define FAN_PIN 9<br />
<br />
#define PS_ON_PIN 12<br />
#define KILL_PIN -1<br />
<br />
#define HEATER_0_PIN 10<br />
#define HEATER_1_PIN 8<br />
#define TEMP_0_PIN 13 // ANALOG NUMBERING<br />
#define TEMP_1_PIN 14 // ANALOG NUMBERING<br />
</pre><br />
<br />
==Source==<br />
<br />
{|class="wikitable" style="margin: 1em auto 1em auto;"<br />
|- style="background-color:#999999;" <br />
! FILE ID#<br />
! TYPE<br />
! DESCRIPTION<br />
! DOWNLOAD<br />
|-<br />
| [[File:ArduinoMegaPololuShield.zip]]<br />
| Eagle Files<br />
| These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.)<br />
| [[media:ArduinoMegaPololuShield.zip]]<br />
|-<br />
|-<br />
| [[File:RepRapjr.lbr]]<br />
| Eagle Libraries<br />
| The components used in this board are here. see [[Eagle_Library]]<br />
| [[media:RepRapjr.lbr]]<br />
|-<br />
|}<br />
<br />
==Bill of Materials==<br />
{| border="1"<br />
|-<br />
! ID<br />
! Description<br />
! Quantity<br />
! Part Number<br />
! Reichelt Order Number<br />
! Digikey Part Number (Description) <br />
|-<br />
| U1<br />
| Arduino Mega<br />
| 1<br />
|2560 or 1280<br />
|<br />
|[http://www.digikey.com/product-detail/en/A000067/1050-1018-ND/2639006 1050-1018-ND](BOARD MCU MEGA2560)<br />
|-<br />
| U2,U3,U4,U5<br />
| [[Pololu stepper driver board]]s<br />
| 4<br />
| A fifth one can be used for a 2nd extruder or extra axis<br />
|<br />
|N/A<br />
|-<br />
| C2<br />
| 100nF capacitor (0805)(> highest planned voltage)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/CC0805KRX7R8BB104/311-1141-1-ND/303051 311-1141-1-ND](CAP CER 0.1UF 25V 10% X7R 0805)<br />
|-<br />
| C1,C5,C8<br />
| 10uF capacitor (153CLV-0405)(>5V)<br />
| 3<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV106M025A9BAA/399-6724-1-ND/3082855 399-6724-1-ND](CAP ALUM 10UF 25V 20% SMD)<br />
|-<br />
| C3,C4,C6,C7,C9,C10<br />
| 100uF capacitor (153CLV-0605)(> highest planned voltage)<br />
| 6<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/EXV107M016A9GAA/399-6726-1-ND/3082857 399-6726-1-ND](CAP ALUM 100UF 16V 20% SMD)<br />
|-<br />
| R1,R7,R11,R21,R22<br />
| 4.7K resistor (0805)(1%)<br />
| 5<br />
| <br />
|<br />
|[http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=RHM4.70KAECT-ND+ RHM4.70KAECT-ND](RES 4.70K OHM .4W 1% 0805) <br />
|-<br />
| R2,R3,R4,R5,R6,R8,R9,R10<br />
| 100K resistor (0805)<br />
| 8<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1003/RHM100KAECT-ND/1983806 RHM100KAECT-ND](RES 100K OHM .4W 1% 0805)<br />
|-<br />
| R12<br />
| 1K resistor (0805)<br />
| 1<br />
| <br />
|<br />
|[http://www.digikey.com/product-detail/en/ESR10EZPF1001/RHM1.00KAECT-ND/1983804 RHM1.00KAECT-ND](RES 1.00K OHM .4W 1% 0805)<br />
|- <br />
| R23,R24,R25<br />
| 1.8K resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/RC0805FR-071K8L/311-1.80KCRCT-ND/730467 311-1.80KCRCT-ND](RES 1.80K OHM 1/8W 1% 0805)<br />
|-<br />
| R16,R17,R18,R19,R20<br />
| 10K resistor (0805)<br />
| 5<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/ERJ-6ENF1002V/P10.0KCCT-ND/119248 P10.0KCCT-ND](RES 10.0K OHM 1/8W 1% 0805)<br />
|-<br />
| R13,R14,R15<br />
| 10 ohm resistor (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CRCW080510R0FKEAHP/541-10.0TCT-ND/2222835 541-10.0TCT-ND](RES 10.0 OHM .33W 1% 0805)<br />
|-<br />
| Q1,Q2,Q3<br />
| N-channel Mosfet<br />
| 3<br />
| STP55NF06L<br />
| ZXM 64N035 L3<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=497-6742-5-ND 497-6742-5-ND] (MOSFET N-CH 60V 55A TO-220)<br />
|-<br />
| D1,D2<br />
| Diode<br />
| 2<br />
| 1N4004<br />
| 1N 4004<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=1N4004FSCT-ND 1N4004FSCT-ND] (DIODE GEN PURPOSE 400V 1A DO41)<br />
|-<br />
| F1<br />
| PTC resettable fuse (30V, Hold5A, Trip10A)<br />
| 1<br />
| MF-R500<br />
| PFRA 500<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=MF-R500-ND MF-R500-ND] (FUSE PTC RESETTABLE 5A HOLD)<br />
|-<br />
| F2<br />
| PTC resettable fuse (Hold11A)<br />
| 1<br />
| MF-R1100<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=RGEF1100-ND RGEF1100-ND] (POLYSWITCH RGE SERIES 11.0A HOLD)<br />
|-<br />
| J2<br />
| D8-D10 Outputs // 6 position screw terminal (min 11A per contact) OR Jack/Plug connector pair<br />
| 1<br />
| 282837-6<br />
| AKL 101-06<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7857-ND WM7857-ND] (CONN TERMINAL BLOCK 6POS 5.08MM) <br/>Alternative: 1x [http://www.digikey.com/product-detail/en/20020109-H061A01LF/609-4284-ND/2509130 609-4284-ND] & 1x [http://www.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&keywords=609-4218-ND&x=0&y=0&cur=USD 609-4218-ND]. [https://lh6.googleusercontent.com/--1nJttlNQDs/UNfmaLXKiTI/AAAAAAAADxQ/Z6CSD4V8r6I/s617/20121223_194819.jpg May prevent overtemp events]<br />
|-<br />
| LED1<br />
| Green LED (0805)<br />
| 1<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VGD%2FTR8/L62505CT-ND/254936 L62505CT-ND](LED GREEN DIFF 0805 SMD)<br />
|-<br />
|LED2,LED3,LED4<br />
| Red LED (0805)<br />
| 3<br />
|<br />
|<br />
|[http://www.digikey.com/product-detail/en/CMD17-21VRD%2FTR8/L62501CT-ND/254934 L62501CT-ND](LED HI EFF RED DIFF 0805)<br />
|-<br />
| S1<br />
| Push button switch<br />
| 1<br />
| B3F-3100 <br />
| TASTER 3305B (should fit footprint also, but button will overhang board edge)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=450-1648-ND 450-1648-ND] (SWITCH TACT RA H=6.35MM)<br />
|-<br />
| X1<br />
| Power jack (Plug and fixed receptacle)(Min 11A per position more is better)<br />
| 1<br />
| MSTBA 2,5 and MSTBT 2,5 (5.04mm spacing 4 connector)<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7847-ND WM7847-ND] (CONN HEADER 4POS 5.08MM R/A TIN) &amp; [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=WM7953-ND WM7953-ND] (CONN TERM BLOCK 4POS 5.08MM R/A)<br />
|-<br />
|<br />
| 2 x 3 pin header<br />
| 8<br />
| 961206-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9459-ND 3M9459-ND] (CONN HEADER VERT DUAL 6POS GOLD)<br />
|-<br />
| <br />
| 4 pin header<br />
| 5<br />
| 961104-6404-AR<br />
| SL 1X36G 2,54 (3 of these)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9449-ND 3M9449-ND] (CONN HEADER VERT SGL 4POS GOLD)<br />
|-<br />
| <br />
| 6 pin header<br />
| 2 (? - from http://gala-automation.com/index.php/component/content/article/26-reprap-tutorials/42-ramps-14-bom)<br />
| 961106-6404-AR<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=3M9451-ND 3M9451-ND] (CONN HEADER VERT SGL 6POS GOLD)<br />
|-<br />
|<br />
| 2 x 18 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
| <br />
| MALE: SL 2X25G 2,54 (2 of them, shortened with a saw or pliers)<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7121-ND S7121-ND] (CONN HEADER FMAL 36PS.1" DL GOLD) - Not Stackable<br />
|-<br />
| <br />
| 8 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 5<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 6 Pin Stackable Female Header (non stackables can be used with plated through holes)<br />
| 1<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7039-ND S7039-ND] (CONN HEADER FEMALE 6POS .1" GOLD) - Not Stackable<br />
|-<br />
| <br />
| 24 Pin Female Header * Note *<br />
| 2<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7057-ND S7057-ND] (CONN HEADER FMALE 24POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
| <br />
| 8 Pin Female Header * Note *<br />
| 4<br />
| Required to carry enough current for motors<br />
| <br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=S7041-ND S7041-ND] (CONN HEADER FEMALE 8POS .1" GOLD) - Rated @ 3A / Pin<br />
|-<br />
|<br />
| 0.1" Jumpers<br />
| 15<br />
|<br />
|<br />
| [http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&KeyWords=A26242-ND A26242-ND] (SHUNT LP W/HANDLE 2 POS 30AU)<br />
|-<br />
|<br />
| Circuit Board<br />
|1<br />
|v1.4<br />
|<br />
|N/A<br />
|}<br />
Note * You can use Female Headers which are not the exact size, but they are hard to break/cut so in this case buy some extra! (one wasted header per cut)<br />
<br />
A BOM for sourcing the RAMPS components from Mouser is also available in [https://docs.google.com/spreadsheet/ccc?key=0Auf-66FPv0JidHhtRVB0VVplOURwWklrX0tIeXhsS3c&hl=en_US#gid=0 this google spreadsheet] (This list is incomplete and has missing or incorrect quantities.)<br />
<br />
Shopping lists for v1.4 [http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=d126a71257] .<br />
<br />
= BT Extension =<br />
In order to get rid of the USB connection between RAMPS and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.).<br />
<br />
[[File:jy-mcu_f.jpg|300px]] [[File:jy-mcu_b.jpg|300px]]<br />
<br />
==Change module setting==<br />
Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:<br />
<pre><br />
AT OK <br />
AT+BAUD8 OK115200BAUD (set baud rate for RAMPS/Arduino Mega)<br />
AT+NAMEPRUSAI3 OKsetname (optional set name, default: linvor)<br />
AT+PIN0000 OKsetPIN (optional set pin, default: 1234)<br />
</pre><br />
<br />
More details about the configuration you will find here [[http://reprap.org/wiki/Melzi#Connect_via_Bluetooth]]<br />
<br />
==Wiring==<br />
On RAMPS/Arduino Mega the UART level are 5V but the BT module supports only 3.3V input. Therefore the TxD level has to be divided by resistor. This passive solution is fast enough for 115kBaud. Overall only 4 wires have to be soldered. <br />
<br />
[[File:BT_Connection_RAMPS1.4.png|400px]]<br />
<br />
==Connect via Bluetooth==<br />
Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=108901Rambo2013-10-26T04:37:26Z<p>Johnnyr: Undo revision 108896 by Geeetech (talk)</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = {{tag|Electronics}}<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all [[list of Firmware | RAMPS class firmware]]<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel [[sdramps | SDRAMPS]] compatible SPI breakout<br />
<br />
Motor Drivers<br />
*5 A4982 1/16th [[Stepper motor driver | microstep motor drivers]] (A4984 1/8th prior to v1.1) (2 connectors on Z for Prusa Mendel and other dual Z printer designs)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**[[Heated Bed]], 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in several firmwares.<br />
<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1Ω. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
V<small><sub>Ref</sub></small> = I<small><sub>TripMAX</sub></small> * 0.8<br />
<br />
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, W<small><sub>v</sub></small>, to be entered into firmware or directly over SPI. <br />
<br />
W<small><sub>v</sub></small> = V<small><sub>Ref</sub></small> / 1.66 * 255<br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
<br />
*F2 supplies the motors and on-board power supply.<br />
*F3 supplies the extruder heater and fan outputs.<br />
*F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
Sources for replacement 5A fuses for F2 and F3 are below.<br />
<br />
*UltiMachine: https://ultimachine.com/content/fuse-0448005mr<br />
*Mouser: http://www.mouser.com/ProductDetail/Littelfuse/0448005MR/?qs=zLq6hPBL7g7rOZQEM1wS4Q==<br />
*Octopart listing: http://octopart.com/0448005.mr-littelfuse-672815<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=107581Rambo development2013-10-05T07:52:08Z<p>Johnnyr: /* Changelog */ caps</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
**through hole capacitors in case they ever need replaced<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=107568Rambo development2013-10-04T19:28:07Z<p>Johnnyr: add v1.2c change log</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.2c<br />
**isolate USB<br />
**thermistor over voltage protection up to 24V.<br />
**add LC filter to analog power input<br />
**board power inputs now support up to 35V<br />
**VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source<br />
**rotate some auxiliary connectors and improve pad size for wave process<br />
**change mounting hole type to ease wave process (no more polyimide taping)<br />
**Seperate decoupling for each VDD pin on motor drivers<br />
**add freewheeling diodes to mosfets<br />
**new layer stackup<br />
**rework pcb edge noise rail<br />
**numerous routing and silk screen updates<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=91732Rambo2013-05-09T15:50:32Z<p>Johnnyr: /* Firmware */ add marlin config basics for rambo</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**Heated Bed, 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in several firmwares.<br />
<br />
For Marlin you will at least need to set the following variables in configuration.h:<br />
<pre><br />
#define MOTHERBOARD 301<br />
</pre><br />
<br />
The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:<br />
<pre><br />
#define TEMP_SENSOR_0 1<br />
#define TEMP_SENSOR_1 0<br />
#define TEMP_SENSOR_2 0<br />
#define TEMP_SENSOR_BED 1<br />
</pre><br />
<br />
You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.<br />
<br />
For some computers you may also need to set #define BAUDRATE 115200 to get communications.<br />
<br />
You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
F2 supplies the motors and on-board power supply.<br />
F3 supplies the extruder heater and fan outputs.<br />
F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=89006Rambo2013-04-17T00:41:21Z<p>Johnnyr: add fuse info</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**Heated Bed, 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in Marlin <br />
<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Fuses=<br />
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<br />
F2 supplies the motors and on-board power supply.<br />
F3 supplies the extruder heater and fan outputs.<br />
F4 is a 15A ATO (the type found in many automotives). F4 supplies the heated bed output.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=83525Rambo development2013-02-25T01:33:01Z<p>Johnnyr: /* Pins */ explain motor extension pins</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=83284Rambo2013-02-23T18:39:15Z<p>Johnnyr: additional link to github</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**Heated Bed, 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in Marlin <br />
<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
Current source files and tagged releases are at [https://github.com/ultimachine/RAMBo Github]<br />
<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=82878Rambo2013-02-21T16:16:02Z<p>Johnnyr: /* Features */ clarify input power options</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails for flexible input power configurations<br />
**Heated Bed, 15A 12-24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders and fans, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic, 5A 12-24V (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from Motor Power Input2 <br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in Marlin <br />
<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=82623Rambo2013-02-19T01:19:48Z<p>Johnnyr: /* USB Driver */ add back link to driver</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails<br />
**Heated Bed 15A, < 32V recommended max 24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders 5A (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic 5A (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from 10V-26V Vin<br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in Marlin <br />
<br />
<br />
===USB Driver===<br />
<br />
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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo&diff=82509Rambo2013-02-17T22:27:37Z<p>Johnnyr: /* USB Driver */ now signed</p>
<hr />
<div>{{Development<br />
|image = DSC07882.JPG<br />
|status = Working<br />
|name = RAMBo<br />
|description = An all in one RAMPS class motherboard targeting convenience, reliability, and performance<br />
|license = Creative Commons Attribution-ShareAlike 3.0<br />
|author = johnnyr<br />
|reprap = RAMPS<br />
|categories = [[:Category:Electronics|Electronics]]<br />
|url = [https://github.com/ultimachine/RAMBo Github]<br />
}}<br />
<br />
<br/><br />
<br />
=Summary=<br />
RAMBo (RepRap Arduino-compatible Mother Board) is an all in one RAMPS class motherboard targeting convenience, reliability, and performance.<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-1-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small>v1.0 copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small>v1.0 copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small>v1.0 copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small>v1.0 copper layer<br />
</gallery><br />
<br />
=Features=<br />
Logic<br />
*Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmwares<br />
*Crystals for both usb and mcu (timing accurate to 10ppm)<br />
*4 Thermistor jacks<br />
*All extra pins broken out on both processors (allows using the 32u2 for LUFA AVR programmer, etc.)<br />
*2 channel SDRAMPS compatible SPI breakout<br />
<br />
Motor Drivers<br />
*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)<br />
*Digital Trimpot for stepper current control<br />
*Current limit on driver IC VCC to prevent permanent latchup<br />
*Microstep mode configured by MCU through firmware (no jumpers needed)<br />
*Test points for driver control signals<br />
*Step and Direction pins are on their own ports for synchronous movement capability<br />
*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)<br />
<br />
PWM DC outputs (Extruders, Fans, Etc.)<br />
*6 outputs<br />
*Low resistance mosfets for cool running<br />
*Indicator led for each channel<br />
<br />
Power<br />
*Three independent power rails<br />
**Heated Bed 15A, < 32V recommended max 24V (version earlier than 1.1 limted to 14A 16V due to fuse rating, see [[rambo_development]] for hacks)<br />
**Extruders 5A (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
**Motors and logic 5A (fuse can be exchanged for up to 10A capacity) 10V-26V input voltage<br />
*Built in SMPS for 5V generation from 10V-26V Vin<br />
<br />
PCB<br />
*4 layer <br />
*2oz copper on all layers<br />
*High quality, High temperature FR4-TG130 PCB<br />
*Gold ENIG finishing<br />
<br />
== LCD panel support ==<br />
<br />
There is now a fairly easy to do method for using a reprapdiscount LCD smart controller with a RAMBo. See [[RamboLCD]] for instructions<br />
<br />
=Firmware=<br />
Support for RAMBo is in Marlin <br />
<br />
<br />
===USB Driver===<br />
<br />
Windows requires a driver to communicate with RAMBo. 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.<br />
<br />
Linux and Mac use the built in CDC driver. RAMBo should show as a option in your 3D printer control interface (/dev/ttyACM0 , etc.).<br />
<br />
=Motor Current=<br />
The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. The following formula from the [http://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A4982-Datasheet.ashx Allegro datasheet] describes how to set the reference voltage: I<small><sub>TripMAX</sub></small> = V<small><sub>REF</sub></small>/(8 X R<small><sub>S</sub></small>). R<small><sub>S</sub></small>, the value of the sense resistor on RAMBo is equal to 0.1<math>\Omega</math>. I<small><sub>TripMAX</sub></small> 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 (V<small><sub>REF</sub></small>) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:<br />
<br />
<math> V_{Ref}= I_{TripMAX} \times 0.8</math><br />
<br />
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, <math>W_v</math>, to be entered into firmware or directly over SPI. <br />
<br />
<math>W_v = \frac{V_{Ref}}{1.66} \times 255</math><br />
<br />
=Schematic=<br />
[[Image:rambo1-1-schematic.png|800px|This is the RAMBo schematic.]]<br />
<br />
=Devolopment information=<br />
There is a page at [[Rambo_development]] with the pin assignments, fuses, changelog, etc.<br />
<br />
=Credits=<br />
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.</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:RAMBo_USBdriver.zip&diff=82508File:RAMBo USBdriver.zip2013-02-17T22:26:10Z<p>Johnnyr: uploaded a new version of "File:RAMBo USBdriver.zip":&#32;now compatible with windows 8</p>
<hr />
<div>Windows USB Driver for RAMBo board by UltiMachine.com</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=File:Rambo1-1-schematic.png&diff=80392File:Rambo1-1-schematic.png2013-01-31T07:01:38Z<p>Johnnyr: </p>
<hr />
<div></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=80388Rambo development2013-01-31T06:53:22Z<p>Johnnyr: link to rambo page</p>
<hr />
<div>This page contains information relevant to the development of the RAMBo PCB. You can find general info at [[Rambo]].<br />
=Pins=<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_1_0&diff=80387Rambo 1 02013-01-31T06:49:37Z<p>Johnnyr: create page for stuff moved off main rambo page, but may need preserved</p>
<hr />
<div>This page is relative to an older revision - 1.0.<br />
<br />
Please see current Rambo page at [[Rambo]]<br />
<br />
<gallery><br />
Image:rambo-conn-all.jpg|All connectors<br />
Image:rambo-conn-main.jpg|Main connectors<br />
Image:rambo-conn-aux.jpg|Auxiliary connectors<br />
Image:rambo1-0-schematic.png|Schematic<br />
Image:rambo1-0top.png|Top/1<small><sup>st</sup></small> copper layer<br />
Image:rambo1-0gnd.png|Ground/2<small><sup>nd</sup></small> copper layer<br />
Image:rambo1-0sply.png|Supply/3<small><sup>rd</sup></small> copper layer<br />
Image:rambo1-0bottom.png|Bottom/4<small><sup>th</sup></small> copper layer<br />
</gallery></div>Johnnyrhttps://reprap.org/mediawiki/index.php?title=Rambo_development&diff=80386Rambo development2013-01-31T06:47:20Z<p>Johnnyr: link 1.0 historical page</p>
<hr />
<div>=Pins=<br />
{| border="1"<br />
|-<br />
| '''Pin Number'''<br />
| '''Pin Name'''<br />
| '''Arduino Pin Name'''<br />
| '''RAMBO Function'''<br />
|-<br />
| 1<br />
| PG5 ( OC0B )<br />
| Digital pin 4 (PWM)<br />
| PWM-Ext 6<br />
|-<br />
| 2<br />
| PE0 ( RXD0/PCINT8 )<br />
| Digital pin 0 (PWM) (RX0)<br />
| USB – serial comms, SER0 3<br />
|-<br />
| 3<br />
| PE1 ( TXD0 )<br />
| Digital pin 1 (PWM) (TX0)<br />
| USB – serial comms, SER0 4<br />
|-<br />
| 4<br />
| PE2 ( XCK0/AIN0 )<br />
| <br />
| Ext2 20<br />
|-<br />
| 5<br />
| PE3 ( OC3A/AIN1 )<br />
| Digital pin 5 (PWM)<br />
| PWM-Ext 5<br />
|-<br />
| 6<br />
| PE4 ( OC3B/INT4 )<br />
| Digital pin 2 (PWM)<br />
| PWM-Ext 4<br />
|-<br />
| 7<br />
| PE5 ( OC3C/INT5 )<br />
| Digital pin 3 (PWM)<br />
| Bed Heater<br />
|-<br />
| 8<br />
| PE6 ( T3/INT6 )<br />
| <br />
| Ext2 18<br />
|-<br />
| 9<br />
| PE7 ( CLKO/ICP3/INT7 )<br />
| <br />
| Ext2 16<br />
|-<br />
| 10<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 11<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 12<br />
| PH0 ( RXD2 )<br />
| Digital pin 17 (PWM) (RX2)<br />
| Serial 7<br />
|-<br />
| 13<br />
| PH1 ( TXD2 )<br />
| Digital pin 16 (PWM) (TX2)<br />
| Serial 8<br />
|-<br />
| 14<br />
| PH2 ( XCK2 )<br />
| <br />
| Ext2 8<br />
|-<br />
| 15<br />
| PH3 ( OC4A )<br />
| Digital pin 6 (PWM)<br />
| Fan 1<br />
|-<br />
| 16<br />
| PH4 ( OC4B )<br />
| Digital pin 7 (PWM)<br />
| Heat 1<br />
|-<br />
| 17<br />
| PH5 ( OC4C )<br />
| Digital pin 8 (PWM)<br />
| Fan 0<br />
|-<br />
| 18<br />
| PH6 ( OC2B )<br />
| Digital pin 9 (PWM)<br />
| Heat 0<br />
|-<br />
| 19<br />
| PB0 ( SS/PCINT0 )<br />
| Digital pin 53 (PWM)(SPI-SS)<br />
| SPI-Ext SS 6<br />
|-<br />
| 20<br />
| PB1 ( SCK/PCINT1 )<br />
| Digital pin 52 (PWM)(SCK)<br />
| SPI-Ext SCK 5<br />
|-<br />
| 21<br />
| PB2 ( MOSI/PCINT2 )<br />
| Digital pin 51 (PWM)(MOSI)<br />
| SPI-Ext MOSI 4<br />
|-<br />
| 22<br />
| PB3 ( MISO/PCINT3 )<br />
| Digital pin 50(MISO)<br />
| SPI-Ext MISO 3<br />
|-<br />
| 23<br />
| PB4 ( OC2A/PCINT4 )<br />
| Digital pin 10 (PWM)<br />
| Z Min Endstop<br />
|-<br />
| 24<br />
| PB5 ( OC1A/PCINT5 )<br />
| Digital pin 11 (PWM)<br />
| Y Min Endstop<br />
|-<br />
| 25<br />
| PB6 ( OC1B/PCINT6 )<br />
| Digital pin 12 (PWM)<br />
| X Min Endstop<br />
|-<br />
| 26<br />
| PB7 ( OC0A/OC1C/PCINT7 )<br />
| Digital pin 13 (PWM)<br />
| LED, PWM-Ext 3<br />
|-<br />
| 27<br />
| PH7 ( T4 )<br />
| <br />
| Ext2 6<br />
|-<br />
| 28<br />
| PG3 ( TOSC2 )<br />
| <br />
| Ext3 7<br />
|-<br />
| 29<br />
| PG4 ( TOSC1 )<br />
| <br />
| Ext3 5<br />
|-<br />
| 30<br />
| RESET<br />
| RESET<br />
| Reset<br />
|-<br />
| 31<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 32<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 33<br />
| XTAL2<br />
| XTAL2<br />
| XTAL2<br />
|-<br />
| 34<br />
| XTAL1<br />
| XTAL1<br />
| XTAL1<br />
|-<br />
| 35<br />
| PL0 ( ICP4 )<br />
| Digital pin 49<br />
| Y Direction<br />
|-<br />
| 36<br />
| PL1 ( ICP5 )<br />
| Digital pin 48<br />
| X Direction<br />
|-<br />
| 37<br />
| PL2 ( T5 )<br />
| Digital pin 47<br />
| Z Direction<br />
|-<br />
| 38<br />
| PL3 ( OC5A )<br />
| Digital pin 46 (PWM)<br />
| MX3-5 Direction<br />
|-<br />
| 39<br />
| PL4 ( OC5B )<br />
| Digital pin 45 (PWM)<br />
| MX2-5 Direction<br />
|-<br />
| 40<br />
| PL5 ( OC5C )<br />
| Digital pin 44 (PWM)<br />
| MX1-5 Direction<br />
|-<br />
| 41<br />
| PL6<br />
| Digital pin 43<br />
| E0 Direction<br />
|-<br />
| 42<br />
| PL7<br />
| Digital pin 42<br />
| E1 Direction<br />
|-<br />
| 43<br />
| PD0 ( SCL/INT0 )<br />
| Digital pin 21 (SCL)<br />
| I2C SCL<br />
|-<br />
| 44<br />
| PD1 ( SDA/INT1 )<br />
| Digital pin 20 (SDA)<br />
| I2C SDA<br />
|-<br />
| 45<br />
| PD2 ( RXDI/INT2 )<br />
| Digital pin 19 (RX1)<br />
| Serial 5<br />
|-<br />
| 46<br />
| PD3 ( TXD1/INT3 )<br />
| Digital pin 18 (TX1)<br />
| Serial 6<br />
|-<br />
| 47<br />
| PD4 ( ICP1 )<br />
| <br />
| Ext2 14<br />
|-<br />
| 48<br />
| PD5 ( XCK1 )<br />
| <br />
| Ext2 12<br />
|-<br />
| 49<br />
| PD6 ( T1 )<br />
| <br />
| Ext2 10<br />
|-<br />
| 50<br />
| PD7 ( T0 )<br />
| Digital pin 38<br />
| Digipot SS<br />
|-<br />
| 51<br />
| PG0 ( WR )<br />
| Digital pin 41<br />
| X Microstep2<br />
|-<br />
| 52<br />
| PG1 ( RD )<br />
| Digital pin 40<br />
| X Microstep1<br />
|-<br />
| 53<br />
| PC0 ( A8 )<br />
| Digital pin 37<br />
| X Step<br />
|-<br />
| 54<br />
| PC1 ( A9 )<br />
| Digital pin 36<br />
| Y Step<br />
|-<br />
| 55<br />
| PC2 ( A10 )<br />
| Digital pin 35<br />
| Z Step<br />
|-<br />
| 56<br />
| PC3 ( A11 )<br />
| Digital pin 34<br />
| E0 Step<br />
|-<br />
| 57<br />
| PC4 ( A12 )<br />
| Digital pin 33<br />
| E1 Step<br />
|-<br />
| 58<br />
| PC5 ( A13 )<br />
| Digital pin 32<br />
| MX1-4 Step<br />
|-<br />
| 59<br />
| PC6 ( A14 )<br />
| Digital pin 31<br />
| MX2-4 Step<br />
|-<br />
| 60<br />
| PC7 ( A15 )<br />
| Digital pin 30<br />
| Z Max, MX3-4 Step<br />
|-<br />
| 61<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 62<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 63<br />
| PJ0 ( RXD3/PCINT9 )<br />
| Digital pin 15 (RX3)<br />
| Serial 9<br />
|-<br />
| 64<br />
| PJ1 ( TXD3/PCINT10 )<br />
| Digital pin 14 (TX3)<br />
| Serial 10<br />
|-<br />
| 65<br />
| PJ2 ( XCK3/PCINT11 )<br />
| align="LEFT" |<br />
| Ext2 9<br />
|-<br />
| 66<br />
| PJ3 ( PCINT12 )<br />
| <br />
| Ext2 11<br />
|-<br />
| 67<br />
| PJ4 ( PCINT13 )<br />
|<br />
| Ext2 15<br />
|-<br />
| 68<br />
| PJ5 ( PCINT14 )<br />
| <br />
| Ext2 17<br />
|-<br />
| 69<br />
| PJ6 ( PCINT 15 )<br />
| <br />
| Ext2 19<br />
|-<br />
| 70<br />
| PG2 ( ALE )<br />
| Digital pin 39<br />
| Y Microstep2<br />
|-<br />
| 71<br />
| PA7 ( AD7 )<br />
| Digital pin 29<br />
| X Enable<br />
|-<br />
| 72<br />
| PA6 ( AD6 )<br />
| Digital pin 28<br />
| Y Enable<br />
|-<br />
| 73<br />
| PA5 ( AD5 )<br />
| Digital pin 27<br />
| Z Enable<br />
|-<br />
| 74<br />
| PA4 ( AD4 )<br />
| Digital pin 26<br />
| E0 Enable<br />
|-<br />
| 75<br />
| PA3 ( AD3 )<br />
| Digital pin 25<br />
| E1 Enable<br />
|-<br />
| 76<br />
| PA2 ( AD2 )<br />
| Digital pin 24<br />
| X Max, MX3-3 Enable<br />
|-<br />
| 77<br />
| PA1 ( AD1 )<br />
| Digital pin 23<br />
| Y Max, MX2-3 Enable<br />
|-<br />
| 78<br />
| PA0 ( AD0 )<br />
| Digital pin 22<br />
| MX1-3 Enable<br />
|-<br />
| 79<br />
| PJ7<br />
| <br />
| Ext2 13<br />
|-<br />
| 80<br />
| VCC<br />
| VCC<br />
| VCC<br />
|-<br />
| 81<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 82<br />
| PK7 ( ADC15/PCINT23 )<br />
| Analog pin 15<br />
| Y Microstep1<br />
|-<br />
| 83<br />
| PK6 ( ADC14/PCINT22 )<br />
| Analog pin 14<br />
| Z Microstep1<br />
|-<br />
| 84<br />
| PK5 ( ADC13/PCINT21 )<br />
| Analog pin 13<br />
| Z Microstep2<br />
|-<br />
| 85<br />
| PK4 ( ADC12/PCINT20 )<br />
| Analog pin 12<br />
| E0 Microstep2<br />
|-<br />
| 86<br />
| PK3 ( ADC11/PCINT19 )<br />
| Analog pin 11<br />
| E0 Microstep1<br />
|-<br />
| 87<br />
| PK2 ( ADC10/PCINT18 )<br />
| Analog pin 10<br />
| E1 Microstep2<br />
|-<br />
| 88<br />
| PK1 ( ADC9/PCINT17 )<br />
| Analog pin 9<br />
| E1 Microstep1<br />
|-<br />
| 89<br />
| PK0 ( ADC8/PCINT16 )<br />
| Analog pin 8<br />
| Analog-Ext 1<br />
|-<br />
| 90<br />
| PF7 ( ADC7/PCINT15 )<br />
| Analog pin 7<br />
| Thermistor 3, Analog-Ext 2<br />
|-<br />
| 91<br />
| PF6 ( ADC6/PCINT14 )<br />
| Analog pin 6<br />
| Analog-Ext 3<br />
|-<br />
| 92<br />
| PF5 ( ADC5/TMS )<br />
| Analog pin 5<br />
| Analog-Ext 4<br />
|-<br />
| 93<br />
| PF4 ( ADC4/TMK )<br />
| Analog pin 4<br />
| Analog-Ext 5<br />
|-<br />
| 94<br />
| PF3 ( ADC3 )<br />
| Analog pin 3<br />
| Analog-Ext 6<br />
|-<br />
| 95<br />
| PF2 ( ADC2 )<br />
| Analog pin 2<br />
| Thermistor 2<br />
|-<br />
| 96<br />
| PF1 ( ADC1 )<br />
| Analog pin 1<br />
| Thermistor 1<br />
|-<br />
| 97<br />
| PF0 ( ADC0 )<br />
| Analog pin 0<br />
| Thermistor 0<br />
|-<br />
| 98<br />
| AREF<br />
| Analog Reference<br />
| <br />
|-<br />
| 99<br />
| GND<br />
| GND<br />
| GND<br />
|-<br />
| 100<br />
| AVCC<br />
| VCC<br />
| VCC<br />
|}<br />
<br />
=Source=<br />
Development is taking place on [https://github.com/ultimachine/RAMBo Github] Latest stable release is in tags - [https://github.com/ultimachine/RAMBo/tree/1.0 Github tags]<br />
<br />
<br />
=Fuses and lockbits=<br />
32u2 fuses -<br />
BODLEVEL = 3V0;<br />
HWBE = [X];<br />
DWEN = [ ];<br />
RSTDISBL = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [ ];<br />
BOOTSZ = 2048W_3800;<br />
BOOTRST = [ ];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1<br />
<br />
EXTENDED = 0xF4;<br />
HIGH = 0xD9;<br />
LOW = 0xEF<br />
<br />
2560 Fuses<br />
BODLEVEL = 2V7;<br />
OCDEN = [ ];<br />
JTAGEN = [ ];<br />
SPIEN = [X];<br />
WDTON = [ ];<br />
EESAVE = [X];<br />
BOOTSZ = 4096W_1F000;<br />
BOOTRST = [X];<br />
CKDIV8 = [ ];<br />
CKOUT = [ ];<br />
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS<br />
<br />
EXTENDED = 0xFD;<br />
HIGH = 0xD0;<br />
LOW = 0xFF;<br />
<br />
Lock bits for both only set BLB1 = LPM_SMP_DISABLE<br />
<br />
=Maximum motor current=<br />
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.<br />
<br />
=Heated bed maximum voltage=<br />
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.<br />
<br />
=Changelog=<br />
*1.1b<br />
**change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16<br />
**change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs<br />
**change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)<br />
**additional decoupling caps<br />
**change license to match Arduino's published requirements<br />
*1.0e [[Rambo_1_0]]<br />
**change R30 value<br />
**remove stop on vias and under drivers<br />
**clarify PS_ON and other silk screen fixes<br />
*1.0d Initial release</div>Johnnyr