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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  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. * Geeetech GTM32 Pro VB board pin assignments
  25. * http://www.geeetech.com/wiki/index.php/File:Hardware_GTM32_PRO_VB.pdf
  26. *
  27. * Also applies to GTM32 Pro VD
  28. */
  29. #include "env_validate.h"
  30. #ifndef BOARD_INFO_NAME
  31. #define BOARD_INFO_NAME "GTM32 Pro VB"
  32. #endif
  33. #define DEFAULT_MACHINE_NAME "STM32F103VET6"
  34. #define BOARD_NO_NATIVE_USB
  35. //#define DISABLE_DEBUG
  36. //
  37. // It is required to disable JTAG function because its pins are
  38. // used as GPIO to drive the Y axis stepper.
  39. // DO NOT ENABLE!
  40. //
  41. #define DISABLE_JTAG
  42. //
  43. // If you don't need the SWDIO functionality (any more), you may
  44. // disable SWD here to regain PA13/PA14 pins for other use.
  45. //
  46. //#define DISABLE_JTAGSWD
  47. // Ignore temp readings during development.
  48. //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
  49. // Enable EEPROM Emulation for this board as it doesn't have EEPROM
  50. #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
  51. #define FLASH_EEPROM_EMULATION
  52. #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
  53. #endif
  54. //
  55. // Limit Switches
  56. //
  57. #define X_MIN_PIN PE5 // ENDSTOPS 15,17
  58. #define X_MAX_PIN PE4 // ENDSTOPS 16,18
  59. #define Y_MIN_PIN PE3 // ENDSTOPS 9,11
  60. #define Y_MAX_PIN PE2 // ENDSTOPS 10,12
  61. #define Z_MIN_PIN PE1 // ENDSTOPS 3,5
  62. #define Z_MAX_PIN PE0 // ENDSTOPS 4,6
  63. //
  64. // Steppers
  65. //
  66. #define X_STEP_PIN PC6
  67. #define X_DIR_PIN PD13
  68. #define X_ENABLE_PIN PA8
  69. #define Y_STEP_PIN PA12
  70. #define Y_DIR_PIN PA11
  71. #define Y_ENABLE_PIN PA15
  72. #define Z_STEP_PIN PD6
  73. #define Z_DIR_PIN PD3
  74. #define Z_ENABLE_PIN PB3
  75. // Extruder stepper pins
  76. // NOTE: Numbering here is made according to EXT connector numbers,
  77. // the FANx_PWM line numbering in the schematics is reverse.
  78. // That is, E0_*_PIN are the E2_* lines connected to E2_A1 step
  79. // stick that drives the EXT0 output on the board.
  80. //
  81. #define E0_STEP_PIN PC14
  82. #define E0_DIR_PIN PC13
  83. #define E0_ENABLE_PIN PC15
  84. #define E1_STEP_PIN PA0
  85. #define E1_DIR_PIN PB6
  86. #define E1_ENABLE_PIN PA1
  87. #define E2_STEP_PIN PB2
  88. #define E2_DIR_PIN PB11
  89. #define E2_ENABLE_PIN PC4
  90. //
  91. // Heaters / Fans
  92. //
  93. #define HEATER_0_PIN PB0 // EXT0 port
  94. #define HEATER_1_PIN PB5 // EXT1 port
  95. #define HEATER_2_PIN PB4 // EXT2 port
  96. #define HEATER_BED_PIN PB1 // CON2X3 hotbed port
  97. //
  98. // These are FAN PWM pins on EXT0..EXT2 connectors.
  99. //
  100. //#define FAN_PIN PB9 // EXT0 port
  101. #define FAN1_PIN PB8 // EXT1 port
  102. #define FAN2_PIN PB7 // EXT2 port
  103. #ifndef E0_AUTO_FAN_PIN
  104. #define E0_AUTO_FAN_PIN PB9 // EXT0 port, used as main extruder fan
  105. #endif
  106. //
  107. // Temperature Sensors
  108. //
  109. #define TEMP_0_PIN PC2 // EXT0 port
  110. #define TEMP_1_PIN PC1 // EXT1 port
  111. #define TEMP_2_PIN PC0 // EXT2 port
  112. #define TEMP_BED_PIN PC3 // CON2X3 hotbed port
  113. //
  114. // Misc. Functions
  115. //
  116. #define LED_PWM PD12 // External LED, pin 2 on LED labeled connector
  117. //
  118. // LCD / Controller
  119. //
  120. #if HAS_WIRED_LCD
  121. #if IS_RRD_SC
  122. //
  123. // LCD display on J2 FFC40
  124. // Geeetech's LCD2004A Control Panel is very much like
  125. // RepRapDiscount Smart Controller, but adds an FFC40 connector
  126. //
  127. #define LCD_PINS_RS PE6 // CS chip select /SS chip slave select
  128. #define LCD_PINS_ENABLE PE14 // SID (MOSI)
  129. #define LCD_PINS_D4 PD8 // SCK (CLK) clock
  130. #define LCD_PINS_D5 PD9
  131. #define LCD_PINS_D6 PD10
  132. #define LCD_PINS_D7 PE15
  133. #else
  134. //
  135. // Serial LCDs can be implemented in ExtUI
  136. //
  137. //#define LCD_UART_TX PD8
  138. //#define LCD_UART_RX PD9
  139. #endif
  140. // Alter timing for graphical display
  141. #if IS_U8GLIB_ST7920
  142. #define BOARD_ST7920_DELAY_1 96
  143. #define BOARD_ST7920_DELAY_2 48
  144. #define BOARD_ST7920_DELAY_3 715
  145. #endif
  146. #endif // HAS_WIRED_LCD
  147. #if IS_RRD_SC
  148. //
  149. // Geeetech's LCD2004A Control Panel is very much like
  150. // RepRapDiscount Smart Controller, but adds an FFC40 connector
  151. // connected with a flat wire to J2 connector on the board.
  152. //
  153. #define BTN_EN1 PE8
  154. #define BTN_EN2 PE9
  155. #define BTN_ENC PE13
  156. #define GTM32_PRO_VB_USE_LCD_BEEPER
  157. #define GTM32_PRO_VB_USE_EXT_SDCARD
  158. #endif
  159. //
  160. // Beeper
  161. //
  162. #ifdef GTM32_PRO_VB_USE_LCD_BEEPER
  163. // This is pin 32 on J2 FFC40 and pin, goes to the beeper
  164. // on Geeetech's version of RepRapDiscount Smart Controller
  165. // (e.g. on Rostock 301)
  166. #define BEEPER_PIN PE12
  167. #else
  168. // This is the beeper on the board itself
  169. #define BEEPER_PIN PB10
  170. #endif
  171. /**
  172. * The on-board TF_CARD_SOCKET microSD card socket has no SD Detect pin wired.
  173. *
  174. * The FFC10 (SD_CARD) connector has the same pins as those routed to the FFC40 (J2)
  175. * connector, which usually go to the SD Card slot on the Geeetech version of the
  176. * RepRapDiscount Smart Controller. Both connectors have the card detect signal.
  177. *
  178. * The on-board SD card and the external card (on either SD_CARD or J2) are two
  179. * separate devices and can work simultaneously. Unfortunately, Marlin only supports
  180. * a single SPI Flash device (as of 2019-07-05) so only one is enabled here.
  181. */
  182. #if ENABLED(GTM32_PRO_VB_USE_EXT_SDCARD)
  183. //
  184. // SD Card on RepRapDiscount Smart Controller (J2) or on SD_CARD connector
  185. //
  186. #define SD_SS_PIN PC11
  187. #define SD_SCK_PIN PC12
  188. #define SD_MOSI_PIN PD2
  189. #define SD_MISO_PIN PC8
  190. #define SD_DETECT_PIN PC7
  191. #else
  192. //
  193. // Use the on-board card socket labeled TF_CARD_SOCKET
  194. //
  195. #define SD_SS_PIN PA4
  196. #define SD_SCK_PIN PA5
  197. #define SD_MOSI_PIN PA7
  198. #define SD_MISO_PIN PA6
  199. #define SD_DETECT_PIN -1 // Card detect is not connected
  200. #endif
  201. #define SDSS SD_SS_PIN
  202. //
  203. // ESP WiFi can be soldered to J9 connector which is wired to USART2.
  204. // Must define WIFISUPPORT in Configuration.h for the printer.
  205. //
  206. #define ESP_WIFI_MODULE_COM 2
  207. #define ESP_WIFI_MODULE_BAUDRATE 115200
  208. #define ESP_WIFI_MODULE_RESET_PIN -1