pins_CREALITY_F401.h 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (c) 2023 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. #include "env_validate.h"
  24. #define BOARD_INFO_NAME "STM32F401RET6"
  25. #define DEFAULT_MACHINE_NAME "Ender-5 S1"
  26. #define IIC_BL24CXX_EEPROM // EEPROM on I2C-0 used only for display settings
  27. #if ENABLED(IIC_BL24CXX_EEPROM)
  28. #define IIC_EEPROM_SDA PA11
  29. #define IIC_EEPROM_SCL PA12
  30. #define MARLIN_EEPROM_SIZE 0x800 // 2Kb (24C16)
  31. #else
  32. #define SDCARD_EEPROM_EMULATION // SD EEPROM until all EEPROM is BL24CXX
  33. #define MARLIN_EEPROM_SIZE 0x800 // 2Kb
  34. #endif
  35. // SPI
  36. //#define SPI_EEPROM // EEPROM on SPI-0
  37. //#define SPI_CHAN_EEPROM1 ?
  38. //#define SPI_EEPROM1_CS ?
  39. // 2K EEPROM
  40. //#define SPI_EEPROM2_CS ?
  41. // 32Mb FLASH
  42. //#define SPI_FLASH_CS ?
  43. //
  44. // Servos
  45. //
  46. #define SERVO0_PIN PC13 // BLTouch OUT
  47. //
  48. // Limit Switches
  49. //
  50. #define X_STOP_PIN PA5
  51. #define Y_STOP_PIN PA6
  52. #if ENABLED(BLTOUCH)
  53. #define Z_MAX_PIN PA15 // ROCK_20220730
  54. #define Z_MIN_PIN PC14
  55. //#define Z_STOP_PIN_NADD PA15 // Added z-axis limit switch
  56. #elif ENABLED(PROBE_ACTIVATION_SWITCH)
  57. #define Z_MIN_PIN PA15
  58. #define PROBE_TARE_PIN PC14
  59. #define PROBE_ACTIVATION_SWITCH_PIN PB2
  60. #else
  61. #define Z_MIN_PIN PA15
  62. #endif
  63. //
  64. // Filament runout
  65. //
  66. #if ENABLED(FILAMENT_RUNOUT_SENSOR)
  67. #define FIL_RUNOUT_PIN PC15
  68. #endif
  69. //
  70. // Steppers Motor drive chip power control
  71. //
  72. #define X_ENABLE_PIN PC3
  73. #define X_STEP_PIN PC2
  74. #define X_DIR_PIN PB9
  75. #define Y_ENABLE_PIN PC3
  76. #define Y_STEP_PIN PB8
  77. #define Y_DIR_PIN PB7
  78. #define Z_ENABLE_PIN PC3
  79. #define Z_STEP_PIN PB6
  80. #define Z_DIR_PIN PB5
  81. #define E0_ENABLE_PIN PC3
  82. #define E0_STEP_PIN PB4
  83. #define E0_DIR_PIN PB3
  84. //
  85. // Temperature Sensors
  86. //
  87. #ifndef TEMP_0_PIN
  88. #define TEMP_0_PIN PC5 // E1_THERMISTOR PA0 -> PT100
  89. #endif
  90. #define TEMP_BED_PIN PC4 // BED_THERMISTOR_1
  91. //
  92. // Heaters / Fans
  93. //
  94. #define HEATER_0_PIN PA1 // E1_HEAT_PWM
  95. #define HEATER_BED_PIN PA7 // BED_HEAT_1 FET
  96. #define FAN0_PIN PA0 // Part cooling fan FET
  97. //#define FAN1_PIN PE11 // Extruder fan FET
  98. //#define FAN2_PIN PE1 // Controller fan FET
  99. #ifndef E0_AUTO_FAN_PIN
  100. #define E0_AUTO_FAN_PIN PA1 // FAN1_PIN
  101. #endif
  102. //
  103. // SD Card
  104. //
  105. #define SD_DETECT_PIN PC7
  106. #define SDCARD_CONNECTION ONBOARD
  107. #define ONBOARD_SPI_DEVICE 1
  108. #define ONBOARD_SD_CS_PIN PC12 // SDSS
  109. #define ONBOARD_SDIO
  110. #define NO_SD_HOST_DRIVE // This board's SD is only seen by the printer
  111. // SPI 2
  112. #if ENABLED(RET6_12864_LCD)
  113. #define LCD_PINS_RS PB12
  114. #define LCD_PINS_EN PB15
  115. #define LCD_PINS_D4 PB13
  116. #define BTN_EN2 PB14
  117. #endif
  118. //#define LED_CONTROL_PIN PA7
  119. //
  120. // WiFi Reset
  121. //
  122. #ifdef MENU_RESET_WIFI
  123. #define RESET_WIFI_PIN PB12
  124. #endif
  125. //
  126. // Backpower
  127. //
  128. #ifndef BACKPOWER_CTRL_PIN
  129. #define BACKPOWER_CTRL_PIN PA4 // Pull down on the electricity, When the ADC detects that the 24V power supply is below 20V, Save the continued call data first, PA4 = 1
  130. #endif
  131. #ifndef CHECK_24V_PIN
  132. #define POWER_DETECTION_PIN PB0 // Detect ADC input pin of 24V power supply
  133. #endif
  134. /**
  135. * Logical pin vs. port/pin cross reference
  136. *
  137. * PA0 54 // E1_THERMISTOR PA9 0 // TX
  138. * PA1 55 // E2_THERMISTOR PA10 1 // RX
  139. * PA2 56 // E3_THERMISTOR PD3 2 // CTS
  140. * PA3 53 // BED_THERMISTOR_3 PD4 3 // RTS
  141. * PA4 16 // SPI_CS PD5 4 // TX
  142. * PA5 17 // SPI_SCK PD6 5 // RX
  143. * PA6 18 // SPI_MISO PB5 6 // WIFI_WAKEUP
  144. * PA7 19 // SPI_MOSI PE11 7 // WIFI_RESET
  145. * PA8 43 // V_STOP PE12 8 // WIFI_BOOT
  146. * PA9 0 // TX PE1 9 // STATUS_LED
  147. * PA10 1 // RX PB12 10 // SPI_CS
  148. * PA11 30 // OTG_DM PB15 11 // SPI_MOSI
  149. * PA12 31 // OTG_DP PB14 12 // SPI_MISO
  150. * PA13 20 // JTAG_TMS/SWDIO PB13 13 // SPI_SCK
  151. * PA14 21 // JTAG_TCK/SWCLK PB7 14 // SDA
  152. * PA15 25 // SD_CARD_DETECT PB6 15 // SCL
  153. * PB0 49 // E2_HEAT_PWM PA4 16 // SPI_CS
  154. * PB1 50 // E3_HEAT_PWM PA5 17 // SPI_SCK
  155. * PB3 22 // JTAG_TDO/SWO PA6 18 // SPI_MISO
  156. * PB4 37 // USER4 PA7 19 // SPI_MOSI
  157. * PB5 6 // WIFI_WAKEUP PA13 20 // JTAG_TMS/SWDIO
  158. * PB6 15 // SCL PA14 21 // JTAG_TCK/SWCLK
  159. * PB7 14 // SDA PB3 22 // JTAG_TDO/SWO
  160. * PB8 77 // E3_PWM PC8 23 // SDIO_D0
  161. * PB9 35 // USER1 PC9 24 // SDIO_D1
  162. * PB10 64 // Y_PWM PA15 25 // SD_CARD_DETECT
  163. * PB12 10 // SPI_CS PC10 26 // SDIO_D2
  164. * PB13 13 // SPI_SCK PC11 27 // SDIO_D3
  165. * PB14 12 // SPI_MISO PC12 28 // SDIO_CK
  166. * PB15 11 // SPI_MOSI PD2 29 // SDIO_CMD
  167. * PC0 68 // Z_DIR PA11 30 // OTG_DM
  168. * PC1 33 // IR_ON PA12 31 // OTG_DP
  169. * PC2 51 // BED_THERMISTOR_1 PD1 32 // IR_OUT
  170. * PC3 52 // BED_THERMISTOR_2 PC1 33 // IR_ON
  171. * PC4 57 // E1_FAN PD7 34 // USER3
  172. * PC5 58 // E2_FAN PB9 35 // USER1
  173. * PC6 67 // Z_PWM PE0 36 // USER2
  174. * PC7 48 // E1_HEAT_PWM PB4 37 // USER4
  175. * PC8 23 // SDIO_D0 PE7 38 // USER_BUTTON
  176. * PC9 24 // SDIO_D1 PD8 39 // X_STOP
  177. * PC10 26 // SDIO_D2 PD9 40 // Y_STOP
  178. * PC11 27 // SDIO_D3 PD10 41 // Z_STOP
  179. * PC12 28 // SDIO_CK PD11 42 // U_STOP
  180. * PC13 70 // E1_DIR PA8 43 // V_STOP
  181. * PC14 69 // E1_RESET PD0 44 // W_STOP
  182. * PC15 66 // Z_RESET PD13 45 // BED_HEAT_2
  183. * PD0 44 // W_STOP PD14 46 // BED_HEAT_1
  184. * PD1 32 // IR_OUT PD15 47 // BED_HEAT_3
  185. * PD2 29 // SDIO_CMD PC7 48 // E1_HEAT_PWM
  186. * PD3 2 // CTS PB0 49 // E2_HEAT_PWM
  187. * PD4 3 // RTS PB1 50 // E3_HEAT_PWM
  188. * PD5 4 // TX PC2 51 // BED_THERMISTOR_1
  189. * PD6 5 // RX PC3 52 // BED_THERMISTOR_2
  190. * PD7 34 // USER3 PA3 53 // BED_THERMISTOR_3
  191. * PD8 39 // X_STOP PA0 54 // E1_THERMISTOR
  192. * PD9 40 // Y_STOP PA1 55 // E2_THERMISTOR
  193. * PD10 41 // Z_STOP PA2 56 // E3_THERMISTOR
  194. * PD11 42 // U_STOP PC4 57 // E1_FAN
  195. * PD12 71 // E1_PWM PC5 58 // E2_FAN
  196. * PD13 45 // BED_HEAT_2 PE8 59 // E3_FAN
  197. * PD14 46 // BED_HEAT_1 PE13 60 // X_RESET
  198. * PD15 47 // BED_HEAT_3 PE14 61 // X_PWM
  199. * PE0 36 // USER2 PE15 62 // X_DIR
  200. * PE1 9 // STATUS_LED PE10 63 // Y_RESET
  201. * PE2 76 // E3_DIR PB10 64 // Y_PWM
  202. * PE3 75 // E3_RESET PE9 65 // Y_DIR
  203. * PE4 72 // E2_RESET PC15 66 // Z_RESET
  204. * PE5 73 // E2_PWM PC6 67 // Z_PWM
  205. * PE6 74 // E2_DIR PC0 68 // Z_DIR
  206. * PE7 38 // USER_BUTTON PC14 69 // E1_RESET
  207. * PE8 59 // E3_FAN PC13 70 // E1_DIR
  208. * PE9 65 // Y_DIR PD12 71 // E1_PWM
  209. * PE10 63 // Y_RESET PE4 72 // E2_RESET
  210. * PE11 7 // WIFI_RESET PE5 73 // E2_PWM
  211. * PE12 8 // WIFI_BOOT PE6 74 // E2_DIR
  212. * PE13 60 // X_RESET PE3 75 // E3_RESET
  213. * PE14 61 // X_PWM PE2 76 // E3_DIR
  214. * PE15 62 // X_DIR PB8 77 // E3_PWM
  215. */