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_EINSY_RAMBO.h 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
  20. *
  21. */
  22. #pragma once
  23. /**
  24. * Einsy-Rambo pin assignments
  25. */
  26. #include "env_validate.h"
  27. #define BOARD_INFO_NAME "Einsy Rambo"
  28. #define DEFAULT_MACHINE_NAME "Prusa MK3"
  29. //#define MK3_FAN_PINS
  30. //
  31. // TMC2130 Configuration_adv defaults for EinsyRambo
  32. //
  33. #if !AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130) || !AXIS_DRIVER_TYPE_E0(TMC2130)
  34. #error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRambo."
  35. #endif
  36. // TMC2130 Diag Pins (currently just for reference)
  37. #define X_DIAG_PIN 64
  38. #define Y_DIAG_PIN 69
  39. #define Z_DIAG_PIN 68
  40. #define E0_DIAG_PIN 65
  41. //
  42. // Limit Switches
  43. //
  44. // Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
  45. // Otherwise use a physical endstop based configuration.
  46. //
  47. // SERVO0_PIN and Z_MIN_PIN configuration for BLTOUCH sensor when combined with SENSORLESS_HOMING.
  48. //
  49. #if DISABLED(SENSORLESS_HOMING)
  50. #define X_STOP_PIN 12
  51. #define Y_STOP_PIN 11
  52. #define Z_STOP_PIN 10
  53. #else
  54. #define X_STOP_PIN X_DIAG_PIN
  55. #define Y_STOP_PIN Y_DIAG_PIN
  56. #if ENABLED(BLTOUCH)
  57. #define Z_STOP_PIN 11 // Y-MIN
  58. #define SERVO0_PIN 10 // Z-MIN
  59. #else
  60. #define Z_STOP_PIN 10
  61. #endif
  62. #endif
  63. //
  64. // Z Probe (when not Z_MIN_PIN)
  65. //
  66. #ifndef Z_MIN_PROBE_PIN
  67. #define Z_MIN_PROBE_PIN 10
  68. #endif
  69. //
  70. // Filament Runout Sensor
  71. //
  72. #ifndef FIL_RUNOUT_PIN
  73. #define FIL_RUNOUT_PIN 62
  74. #endif
  75. //
  76. // Steppers
  77. //
  78. #define X_STEP_PIN 37
  79. #define X_DIR_PIN 49
  80. #define X_ENABLE_PIN 29
  81. #define X_CS_PIN 41
  82. #define Y_STEP_PIN 36
  83. #define Y_DIR_PIN 48
  84. #define Y_ENABLE_PIN 28
  85. #define Y_CS_PIN 39
  86. #define Z_STEP_PIN 35
  87. #define Z_DIR_PIN 47
  88. #define Z_ENABLE_PIN 27
  89. #define Z_CS_PIN 67
  90. #define E0_STEP_PIN 34
  91. #define E0_DIR_PIN 43
  92. #define E0_ENABLE_PIN 26
  93. #define E0_CS_PIN 66
  94. //
  95. // Temperature Sensors
  96. //
  97. #define TEMP_0_PIN 0 // Analog Input, Header J2
  98. #define TEMP_1_PIN 1 // Analog Input, Header J3
  99. #define TEMP_BOARD_PIN 91 // Onboard thermistor, 100k TDK NTCG104LH104JT1
  100. #define TEMP_BED_PIN 2 // Analog Input, Header J6
  101. #define TEMP_PROBE_PIN 3 // Analog Input, Header J15
  102. //
  103. // Heaters / Fans
  104. //
  105. #define HEATER_0_PIN 3
  106. #define HEATER_BED_PIN 4
  107. #ifndef FAN_PIN
  108. #ifdef MK3_FAN_PINS
  109. #define FAN_PIN 6
  110. #else
  111. #define FAN_PIN 8
  112. #endif
  113. #endif
  114. #ifndef FAN1_PIN
  115. #ifdef MK3_FAN_PINS
  116. #define FAN1_PIN -1
  117. #else
  118. #define FAN1_PIN 6
  119. #endif
  120. #endif
  121. /**
  122. * ------ ------ ------
  123. * 84 PH2 | 1 2 | PH6 9 50 MISO | 1 2 | SCK 52 62 PK0 | 1 2 | PJ5 76
  124. * 61 PF7 | 3 4 | PD5 82 72 PJ2 | 3 4 | SDSS 77 20 SDA | 3 4 | GND
  125. * 59 PF5 | 5 6 PG4 70 14 TX3 | 5 6 MOSI 51 21 SCL | 5 6 RX2 16
  126. * 85 PH7 | 7 8 | PG3 71 15 RX3 | 7 8 | RESET GND | 7 8 | TX2 17
  127. * GND | 9 10 | 5V GND | 9 10 | PE3 5 5V | 9 10 | 5V
  128. * ------ ------ ------
  129. * P1 P2 P3
  130. */
  131. #define EXP1_01_PIN 84
  132. #define EXP1_02_PIN 9
  133. #define EXP1_03_PIN 61
  134. #define EXP1_04_PIN 82
  135. #define EXP1_05_PIN 59
  136. #define EXP1_06_PIN 70
  137. #define EXP1_07_PIN 85
  138. #define EXP1_08_PIN 71
  139. #define EXP2_01_PIN 50
  140. #define EXP2_02_PIN 52
  141. #define EXP2_03_PIN 72
  142. #define EXP2_04_PIN 77
  143. #define EXP2_05_PIN 14
  144. #define EXP2_06_PIN 51
  145. #define EXP2_07_PIN 15
  146. #define EXP2_08_PIN -1
  147. //
  148. // Misc. Functions
  149. //
  150. #define SDSS EXP2_04_PIN
  151. #define LED_PIN 13
  152. #ifndef CASE_LIGHT_PIN
  153. #define CASE_LIGHT_PIN EXP1_02_PIN
  154. #endif
  155. //
  156. // M3/M4/M5 - Spindle/Laser Control
  157. //
  158. // use P1 connector for spindle pins
  159. #define SPINDLE_LASER_PWM_PIN EXP1_02_PIN // Hardware PWM
  160. #define SPINDLE_LASER_ENA_PIN 18 // Pullup!
  161. #define SPINDLE_DIR_PIN 19
  162. //
  163. // Průša i3 MK2 Multiplexer Support
  164. //
  165. #if HAS_PRUSA_MMU1
  166. #define E_MUX0_PIN 17
  167. #define E_MUX1_PIN 16
  168. #define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
  169. #endif
  170. //
  171. // LCD / Controller
  172. //
  173. #if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
  174. #define KILL_PIN 32
  175. #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
  176. #if ENABLED(CR10_STOCKDISPLAY)
  177. #define LCD_PINS_RS EXP1_07_PIN
  178. #define LCD_PINS_ENABLE EXP1_08_PIN
  179. #define LCD_PINS_D4 EXP1_06_PIN
  180. #define BTN_EN1 EXP1_03_PIN
  181. #define BTN_EN2 EXP1_05_PIN
  182. #else
  183. #define LCD_PINS_RS EXP1_04_PIN
  184. #define LCD_PINS_ENABLE EXP1_03_PIN
  185. #define LCD_PINS_D4 EXP1_05_PIN
  186. #define LCD_PINS_D5 EXP1_06_PIN
  187. #define LCD_PINS_D6 EXP1_07_PIN
  188. #define LCD_PINS_D7 EXP1_08_PIN
  189. #define BTN_EN1 EXP2_05_PIN
  190. #define BTN_EN2 EXP2_03_PIN
  191. #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
  192. #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
  193. #endif
  194. #endif
  195. #define BTN_ENC EXP1_02_PIN // P1
  196. #define BEEPER_PIN EXP1_01_PIN // P1
  197. #define SD_DETECT_PIN EXP2_07_PIN
  198. #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
  199. #endif // HAS_WIRED_LCD
  200. #if IS_U8GLIB_ST7920
  201. #define BOARD_ST7920_DELAY_1 0
  202. #define BOARD_ST7920_DELAY_2 250
  203. #define BOARD_ST7920_DELAY_3 0
  204. #endif
  205. #undef MK3_FAN_PINS