Prusa MINI Firmware overview
pins_RURAMPS4D_11.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 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  * Ported sys0724 & Vynt
22  */
23 
24 /**
25  * Arduino Mega? or Due with RuRAMPS4DUE pin assignments
26  *
27  * Applies to the following boards:
28  * RURAMPS4DUE (Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed)
29  *
30  * Differences between
31  * RADDS | RuRAMPS4DUE
32  * |
33  */
34 
35 #ifndef __SAM3X8E__
36  #error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
37 #endif
38 
39 #define BOARD_INFO_NAME "RuRAMPS4Due v1.1"
40 
41 //
42 // Servos
43 //
44 #define SERVO0_PIN 5
45 #define SERVO1_PIN 3
46 
47 //
48 // Limit Switches
49 //
50 #define X_MIN_PIN 45
51 #define X_MAX_PIN 39
52 #define Y_MIN_PIN 46
53 #define Y_MAX_PIN 41
54 #define Z_MIN_PIN 47
55 #define Z_MAX_PIN 43
56 
57 //
58 // Z Probe (when not Z_MIN_PIN)
59 //
60 #ifndef Z_MIN_PROBE_PIN
61  #define Z_MIN_PROBE_PIN 43
62 #endif
63 
64 //
65 // Steppers
66 //
67 #define X_STEP_PIN 37 // Support Extension Board
68 #define X_DIR_PIN 36
69 #define X_ENABLE_PIN 38
70 #ifndef X_CS_PIN
71  #define X_CS_PIN -1
72 #endif
73 
74 #define Y_STEP_PIN 32 // Support Extension Board
75 #define Y_DIR_PIN 35
76 #define Y_ENABLE_PIN 34
77 #ifndef Y_CS_PIN
78  #define Y_CS_PIN -1
79 #endif
80 
81 #define Z_STEP_PIN 30 // Support Extension Board
82 #define Z_DIR_PIN 2
83 #define Z_ENABLE_PIN 33
84 #ifndef Z_CS_PIN
85  #define Z_CS_PIN -1
86 #endif
87 
88 #define E0_STEP_PIN 29
89 #define E0_DIR_PIN 28
90 #define E0_ENABLE_PIN 31
91 #ifndef E0_CS_PIN
92  #define E0_CS_PIN -1
93 #endif
94 
95 #define E1_STEP_PIN 22
96 #define E1_DIR_PIN 24
97 #define E1_ENABLE_PIN 26
98 #ifndef E1_CS_PIN
99  #define E1_CS_PIN -1
100 #endif
101 
102 #define E2_STEP_PIN 25
103 #define E2_DIR_PIN 23
104 #define E2_ENABLE_PIN 27
105 #ifndef E2_CS_PIN
106  #define E2_CS_PIN -1
107 #endif
108 
109 #define E3_STEP_PIN 15 // Only For Extension Board
110 #define E3_DIR_PIN 14
111 #define E3_ENABLE_PIN 61
112 #ifndef E3_CS_PIN
113  #define E3_CS_PIN -1
114 #endif
115 
116 // For Future: Microstepping pins - Mapping not from fastio.h (?)
117 //#define E3_MS1_PIN ?
118 //#define E3_MS2_PIN ?
119 //#define E3_MS3_PIN ?
120 
121 #if HAS_CUSTOM_PROBE_PIN
122  #define Z_MIN_PROBE_PIN 49
123 #endif
124 
125 #if HAS_FILAMENT_SENSOR
126  #ifndef FIL_RUNOUT_PIN
127  #define FIL_RUNOUT_PIN Y_MIN_PIN
128  #endif
129 #endif
130 
131 //
132 // Heaters / Fans
133 //
134 #define HEATER_0_PIN 13
135 #define HEATER_1_PIN 12
136 #define HEATER_2_PIN 11
137 #define HEATER_BED_PIN 7 // BED H1
138 
139 #ifndef FAN_PIN
140  #define FAN_PIN 9
141 #endif
142 #define FAN1_PIN 8
143 #define CONTROLLER_FAN_PIN -1
144 
145 //
146 // Temperature Sensors
147 //
148 #define TEMP_0_PIN 0 // ANALOG A0
149 #define TEMP_1_PIN 1 // ANALOG A1
150 #define TEMP_2_PIN 2 // ANALOG A2
151 #define TEMP_3_PIN 3 // ANALOG A3
152 #define TEMP_BED_PIN 4 // ANALOG A4
153 
154 // The thermocouple uses Analog pins
155 #if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h
156  #define TEMP_4_PIN 5 // A5
157  #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support)
158 #endif
159 
160 // SPI for Max6675 or Max31855 Thermocouple
161 /*
162 #if DISABLED(SDSUPPORT)
163  #define MAX6675_SS_PIN 53
164 #else
165  #define MAX6675_SS_PIN 49
166 #endif
167 */
168 
169 //
170 // Misc. Functions
171 //
172 #define SDSS 4 // 4,10,52 if using HW SPI.
173 #define LED_PIN -1 // 13 - HEATER_0_PIN
174 #define PS_ON_PIN -1 // 65
175 
176 // MKS TFT / Nextion Use internal USART-1
177 #define TFT_LCD_MODULE_COM 1
178 #define TFT_LCD_MODULE_BAUDRATE 115600
179 
180 // ESP WiFi Use internal USART-2
181 #define ESP_WIFI_MODULE_COM 2
182 #define ESP_WIFI_MODULE_BAUDRATE 115600
183 #define ESP_WIFI_MODULE_RESET_PIN -1
184 #define PIGGY_GPIO_PIN -1
185 
186 //
187 // EEPROM
188 //
189 #define E2END 0x7FFF // 32Kb (24lc256)
190 #define I2C_EEPROM // EEPROM on I2C-0
191 //#define EEPROM_SD // EEPROM on SDCARD
192 //#define SPI_EEPROM // EEPROM on SPI-0
193 //#define SPI_CHAN_EEPROM1 ?
194 //#define SPI_EEPROM1_CS ?
195 // 2K EEPROM
196 //#define SPI_EEPROM2_CS ?
197 // 32Mb FLASH
198 //#define SPI_FLASH_CS ?
199 
200 //
201 // LCD / Controller
202 //
203 #if HAS_SPI_LCD
204 
205  #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
206  #define BEEPER_PIN 62
207  #define LCD_PINS_D4 48
208  #define LCD_PINS_D5 50
209  #define LCD_PINS_D6 52
210  #define LCD_PINS_D7 53
211  #define SD_DETECT_PIN 51
212  #endif
213 
214  #if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER)
215 
216  #define LCD_PINS_RS 63
217  #define LCD_PINS_ENABLE 64
218 
219  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
220 
221  #define LCD_PINS_RS 52
222  #define LCD_PINS_ENABLE 53
223 
224  #elif HAS_SSD1306_OLED_I2C
225 
226  #define BEEPER_PIN 62
227  #define LCD_SDSS 10
228  #define SD_DETECT_PIN 51
229 
230  #elif ENABLED(FYSETC_MINI_12864)
231 
232  #define BEEPER_PIN 62
233  #define DOGLCD_CS 64
234  #define DOGLCD_A0 63
235 
236  //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
237  // results in LCD soft SPI mode 3, SD soft SPI mode 0
238 
239  #define LCD_RESET_PIN 48 // Must be high or open for LCD to operate normally.
240 
241  #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
242  #ifndef RGB_LED_R_PIN
243  #define RGB_LED_R_PIN 50 // D5
244  #endif
245  #ifndef RGB_LED_G_PIN
246  #define RGB_LED_G_PIN 52 // D6
247  #endif
248  #ifndef RGB_LED_B_PIN
249  #define RGB_LED_B_PIN 53 // D7
250  #endif
251  #elif ENABLED(FYSETC_MINI_12864_2_1)
252  #define NEOPIXEL_PIN 50 // D5
253  #endif
254 
255  #elif ENABLED(SPARK_FULL_GRAPHICS)
256 
257  //http://doku.radds.org/dokumentation/other-electronics/sparklcd/
258  #error "Oops! SPARK_FULL_GRAPHICS not supported with RURAMPS4D."
259  //#define LCD_PINS_D4 29 //?
260  //#define LCD_PINS_ENABLE 27 //?
261  //#define LCD_PINS_RS 25 //?
262  //#define BTN_EN1 35 //?
263  //#define BTN_EN2 33 //?
264  //#define BTN_ENC 37 //?
265 
266  #endif // SPARK_FULL_GRAPHICS
267 
268  #if ENABLED(NEWPANEL)
269  #define BTN_EN1 44
270  #define BTN_EN2 42
271  #define BTN_ENC 40
272  #endif
273 
274 #endif // HAS_SPI_LCD