My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pins_RUMBA.h 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
  4. *
  5. * Based on Sprinter and grbl.
  6. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
  7. *
  8. * This program is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. *
  21. */
  22. /**
  23. * RUMBA pin assignments
  24. */
  25. #ifndef __AVR_ATmega2560__
  26. #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
  27. #endif
  28. #if HOTENDS > 3 || E_STEPPERS > 3
  29. #error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
  30. #endif
  31. #define DEFAULT_MACHINE_NAME "Rumba"
  32. #define BOARD_NAME "Rumba"
  33. //
  34. // Servos
  35. //
  36. #define SERVO0_PIN 5
  37. //
  38. // Limit Switches
  39. //
  40. #define X_MIN_PIN 37
  41. #define X_MAX_PIN 36
  42. #define Y_MIN_PIN 35
  43. #define Y_MAX_PIN 34
  44. #define Z_MIN_PIN 33
  45. #define Z_MAX_PIN 32
  46. //
  47. // Z Probe (when not Z_MIN_PIN)
  48. //
  49. #ifndef Z_MIN_PROBE_PIN
  50. #define Z_MIN_PROBE_PIN 32
  51. #endif
  52. //
  53. // Steppers
  54. //
  55. #define X_STEP_PIN 17
  56. #define X_DIR_PIN 16
  57. #define X_ENABLE_PIN 48
  58. #define Y_STEP_PIN 54
  59. #define Y_DIR_PIN 47
  60. #define Y_ENABLE_PIN 55
  61. #define Z_STEP_PIN 57
  62. #define Z_DIR_PIN 56
  63. #define Z_ENABLE_PIN 62
  64. #define E0_STEP_PIN 23
  65. #define E0_DIR_PIN 22
  66. #define E0_ENABLE_PIN 24
  67. #define E1_STEP_PIN 26
  68. #define E1_DIR_PIN 25
  69. #define E1_ENABLE_PIN 27
  70. #define E2_STEP_PIN 29
  71. #define E2_DIR_PIN 28
  72. #define E2_ENABLE_PIN 39
  73. //
  74. // Temperature Sensors
  75. //
  76. #if TEMP_SENSOR_0 == -1
  77. #define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
  78. #else
  79. #define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
  80. #endif
  81. #if TEMP_SENSOR_1 == -1
  82. #define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
  83. #else
  84. #define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
  85. #endif
  86. #if TEMP_SENSOR_2 == -1
  87. #define TEMP_2_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_BED is defined as thermocouple)
  88. #else
  89. #define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
  90. #endif
  91. // optional for extruder 4 or chamber:
  92. //#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
  93. //#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
  94. #if TEMP_SENSOR_BED == -1
  95. #define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
  96. #else
  97. #define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
  98. #endif
  99. //
  100. // Heaters / Fans
  101. //
  102. #define HEATER_0_PIN 2
  103. #define HEATER_1_PIN 3
  104. #define HEATER_2_PIN 6
  105. #define HEATER_3_PIN 8
  106. #define HEATER_BED_PIN 9
  107. #ifndef FAN_PIN
  108. #define FAN_PIN 7
  109. #endif
  110. #define FAN1_PIN 8
  111. //
  112. // Misc. Functions
  113. //
  114. #define SDSS 53
  115. #define LED_PIN 13
  116. #define PS_ON_PIN 45
  117. #define KILL_PIN 46
  118. #define CASE_LIGHT_PIN 45
  119. //
  120. // M3/M4/M5 - Spindle/Laser Control
  121. //
  122. #ifndef SPINDLE_LASER_PWM_PIN
  123. #define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM. Pin 4 interrupts OC0* and OC1* always in use?
  124. #endif
  125. #ifndef SPINDLE_LASER_ENABLE_PIN
  126. #define SPINDLE_LASER_ENABLE_PIN 14 // Pin should have a pullup!
  127. #endif
  128. #ifndef SPINDLE_DIR_PIN
  129. #define SPINDLE_DIR_PIN 15
  130. #endif
  131. //
  132. // LCD / Controller
  133. //
  134. #define SD_DETECT_PIN 49
  135. #define BEEPER_PIN 44
  136. #define LCD_PINS_D7 40
  137. #define BTN_EN1 11
  138. #define BTN_EN2 12
  139. #define BTN_ENC 43
  140. #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
  141. #define LCD_PINS_DC 38 // Set as output on init
  142. #define LCD_PINS_RS 41 // Pull low for 1s to init
  143. // DOGM SPI LCD Support
  144. #define DOGLCD_CS 19
  145. #define DOGLCD_MOSI 42
  146. #define DOGLCD_SCK 18
  147. #define DOGLCD_A0 LCD_PINS_DC
  148. #else
  149. #define LCD_PINS_RS 19
  150. #define LCD_PINS_ENABLE 42
  151. #define LCD_PINS_D4 18
  152. #define LCD_PINS_D5 38
  153. #define LCD_PINS_D6 41
  154. #endif