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_FYSETC_F6_13.h 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  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 <http://www.gnu.org/licenses/>.
  20. *
  21. */
  22. #pragma once
  23. //
  24. // FYSETC F6 1.3 (and 1.4) pin assignments
  25. //
  26. #ifndef __AVR_ATmega2560__
  27. #error "Oops! Select 'FYSETC F6' in 'Tools > Board.'"
  28. #endif
  29. #ifndef BOARD_INFO_NAME
  30. #define BOARD_INFO_NAME "FYSETC F6 1.3"
  31. #endif
  32. #define RESET_PIN 30
  33. #define SPI_FLASH_CS 83
  34. //
  35. // Servos
  36. //
  37. #define SERVO0_PIN 13
  38. #define SERVO1_PIN 11 // (PS_ON_PIN)
  39. #define SERVO2_PIN 10 // (FIL_RUNOUT_PIN)
  40. #define SERVO3_PIN 4 // (RGB_LED_G_PIN)
  41. //
  42. // Limit Switches
  43. //
  44. #define X_MIN_PIN 63
  45. #define X_MAX_PIN 64
  46. #define Y_MIN_PIN 14
  47. #define Y_MAX_PIN 15
  48. #define Z_MIN_PIN 12
  49. #ifndef Z_MAX_PIN
  50. #define Z_MAX_PIN 9
  51. #endif
  52. #ifndef FIL_RUNOUT_PIN
  53. #define FIL_RUNOUT_PIN SERVO2_PIN
  54. #endif
  55. //
  56. // Z Probe (when not Z_MIN_PIN)
  57. //
  58. #ifndef Z_MIN_PROBE_PIN
  59. #define Z_MIN_PROBE_PIN 9 // Servos pin
  60. #endif
  61. //
  62. // Steppers
  63. //
  64. #define X_STEP_PIN 54
  65. #define X_DIR_PIN 55
  66. #define X_ENABLE_PIN 38
  67. #ifndef X_CS_PIN
  68. #define X_CS_PIN 70
  69. #endif
  70. #define Y_STEP_PIN 60
  71. #define Y_DIR_PIN 61
  72. #define Y_ENABLE_PIN 56
  73. #ifndef Y_CS_PIN
  74. #define Y_CS_PIN 39
  75. #endif
  76. #define Z_STEP_PIN 43
  77. #define Z_DIR_PIN 48
  78. #define Z_ENABLE_PIN 58
  79. #ifndef Z_CS_PIN
  80. #define Z_CS_PIN 74
  81. #endif
  82. #define E0_STEP_PIN 26
  83. #define E0_DIR_PIN 28
  84. #define E0_ENABLE_PIN 24
  85. #ifndef E0_CS_PIN
  86. #define E0_CS_PIN 47
  87. #endif
  88. #define E1_STEP_PIN 36
  89. #define E1_DIR_PIN 34
  90. #define E1_ENABLE_PIN 30
  91. #ifndef E1_CS_PIN
  92. #define E1_CS_PIN 32
  93. #endif
  94. #define E2_STEP_PIN 59
  95. #define E2_DIR_PIN 57
  96. #define E2_ENABLE_PIN 40
  97. #ifndef E2_CS_PIN
  98. #define E2_CS_PIN 42
  99. #endif
  100. //
  101. // Sensorless homing DIAG pin is not directly connected to the MCU. Close
  102. // the jumper next to the limit switch socket when using sensorless homing.
  103. //
  104. #if HAS_TMC220x
  105. /**
  106. * TMC2208/TMC2209 stepper drivers
  107. *
  108. * Software serial communication pins.
  109. * At the moment, F6 rx pins are not pc interrupt pins
  110. */
  111. #ifndef X_SERIAL_RX_PIN
  112. #define X_SERIAL_RX_PIN -1 // 71
  113. #endif
  114. #ifndef X_SERIAL_TX_PIN
  115. #define X_SERIAL_TX_PIN 72
  116. #endif
  117. #ifndef Y_SERIAL_RX_PIN
  118. #define Y_SERIAL_RX_PIN -1 // 73
  119. #endif
  120. #ifndef Y_SERIAL_TX_PIN
  121. #define Y_SERIAL_TX_PIN 75
  122. #endif
  123. #ifndef Z_SERIAL_RX_PIN
  124. #define Z_SERIAL_RX_PIN -1 // 78
  125. #endif
  126. #ifndef Z_SERIAL_TX_PIN
  127. #define Z_SERIAL_TX_PIN 79
  128. #endif
  129. #ifndef E0_SERIAL_RX_PIN
  130. #define E0_SERIAL_RX_PIN -1 // 76
  131. #endif
  132. #ifndef E0_SERIAL_TX_PIN
  133. #define E0_SERIAL_TX_PIN 77
  134. #endif
  135. #ifndef E1_SERIAL_RX_PIN
  136. #define E1_SERIAL_RX_PIN -1 // 80
  137. #endif
  138. #ifndef E1_SERIAL_TX_PIN
  139. #define E1_SERIAL_TX_PIN 81
  140. #endif
  141. #ifndef E2_SERIAL_RX_PIN
  142. #define E2_SERIAL_RX_PIN -1 // 22
  143. #endif
  144. #ifndef E2_SERIAL_TX_PIN
  145. #define E2_SERIAL_TX_PIN 82
  146. #endif
  147. #endif
  148. //
  149. // Temperature Sensors
  150. //
  151. #define TEMP_0_PIN 12 // Analog Input
  152. #define TEMP_1_PIN 13 // Analog Input
  153. #define TEMP_2_PIN 14 // Analog Input
  154. #define TEMP_BED_PIN 15 // Analog Input
  155. #ifndef FILWIDTH_PIN
  156. #define FILWIDTH_PIN 9 // Analog Input on X+ endstop
  157. #endif
  158. //
  159. // Heaters / Fans
  160. //
  161. #define HEATER_0_PIN 5
  162. #define HEATER_1_PIN 6
  163. #define HEATER_2_PIN 7
  164. #define HEATER_BED_PIN 8
  165. #define FAN_PIN 44
  166. #define FAN1_PIN 45
  167. #define FAN2_PIN 46
  168. //
  169. // Misc. Functions
  170. //
  171. #define SDSS 53
  172. #define LED_PIN 13
  173. #define KILL_PIN 41
  174. #ifndef PS_ON_PIN
  175. #define PS_ON_PIN SERVO1_PIN
  176. #endif
  177. /**
  178. * ----- -----
  179. * 5V/D41 | · · | GND 5V | · · | GND
  180. * RESET | · · | D49 (SD_DETECT) (LCD_D7) D29 | · · | D27 (LCD_D6)
  181. * (MOSI) D51 | · · | D33 (BTN_EN2) (LCD_D5) D25 | · · | D23 (LCD_D4)
  182. * (SD_SS) D53 | · · | D31 (BTN_EN1) (LCD_RS) D16 | · · | D17 (LCD_EN)
  183. * (SCK) D52 | · · | D50 (MISO) (BTN_ENC) D35 | · · | D37 (BEEPER)
  184. * ----- -----
  185. * EXP2 EXP1
  186. */
  187. //
  188. // LCDs and Controllers
  189. //
  190. #define BEEPER_PIN 37
  191. #define SD_DETECT_PIN 49
  192. #if ENABLED(FYSETC_MINI_12864)
  193. //
  194. // See https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
  195. //
  196. #define DOGLCD_A0 16
  197. #define DOGLCD_CS 17
  198. #if ENABLED(FYSETC_GENERIC_12864_1_1)
  199. #define LCD_BACKLIGHT_PIN 27
  200. #endif
  201. #define KILL_PIN 41
  202. #define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
  203. // Seems to work best if left open.
  204. #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
  205. #ifndef RGB_LED_R_PIN
  206. #define RGB_LED_R_PIN 25
  207. #endif
  208. #ifndef RGB_LED_G_PIN
  209. #define RGB_LED_G_PIN 27
  210. #endif
  211. #ifndef RGB_LED_B_PIN
  212. #define RGB_LED_B_PIN 29
  213. #endif
  214. #elif ENABLED(FYSETC_MINI_12864_2_1)
  215. #define NEOPIXEL_PIN 25
  216. #endif
  217. #elif HAS_GRAPHICAL_LCD
  218. #define LCD_PINS_RS 16
  219. #define LCD_PINS_ENABLE 17
  220. #define LCD_PINS_D4 23
  221. #define LCD_PINS_D5 25
  222. #define LCD_PINS_D6 27
  223. #define LCD_PINS_D7 29
  224. #if ENABLED(MKS_MINI_12864)
  225. #define DOGLCD_CS 25
  226. #define DOGLCD_A0 27
  227. #endif
  228. #endif
  229. #if ENABLED(NEWPANEL)
  230. #define BTN_EN1 31
  231. #define BTN_EN2 33
  232. #define BTN_ENC 35
  233. #endif
  234. #ifndef RGB_LED_R_PIN
  235. #define RGB_LED_R_PIN 3
  236. #endif
  237. #ifndef RGB_LED_G_PIN
  238. #define RGB_LED_G_PIN 4
  239. #endif
  240. #ifndef RGB_LED_B_PIN
  241. #define RGB_LED_B_PIN 9
  242. #endif
  243. #ifndef RGB_LED_W_PIN
  244. #define RGB_LED_W_PIN -1
  245. #endif