Prusa MINI Firmware overview
pins_EINSY_RAMBO.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  */
22 #pragma once
23 
24 /**
25  * Einsy-Rambo pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'"
30 #endif
31 
32 #define BOARD_INFO_NAME "Einsy Rambo"
33 
34 //
35 // TMC2130 Configuration_adv defaults for EinsyRambo
36 //
37 #if !AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130) || !AXIS_DRIVER_TYPE_E0(TMC2130)
38  #error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRambo."
39 #endif
40 
41 // TMC2130 Diag Pins (currently just for reference)
42 #define X_DIAG_PIN 64
43 #define Y_DIAG_PIN 69
44 #define Z_DIAG_PIN 68
45 #define E0_DIAG_PIN 65
46 
47 //
48 // Limit Switches
49 //
50 // Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
51 // Otherwise use a physical endstop based configuration.
52 //
53 // SERVO0_PIN and Z_MIN_PIN configuration for BLTOUCH sensor when combined with SENSORLESS_HOMING.
54 //
55 
56 #if DISABLED(SENSORLESS_HOMING)
57 
58  #define X_STOP_PIN 12
59  #define Y_STOP_PIN 11
60  #define Z_STOP_PIN 10
61 
62 #else
63 
64  #define X_STOP_PIN X_DIAG_PIN
65  #define Y_STOP_PIN Y_DIAG_PIN
66 
67  #if ENABLED(BLTOUCH)
68  #define Z_STOP_PIN 11 // Y-MIN
69  #define SERVO0_PIN 10 // Z-MIN
70  #else
71  #define Z_STOP_PIN 10
72  #endif
73 
74 #endif
75 
76 //
77 // Z Probe (when not Z_MIN_PIN)
78 //
79 #ifndef Z_MIN_PROBE_PIN
80  #define Z_MIN_PROBE_PIN 10
81 #endif
82 
83 //
84 // Steppers
85 //
86 #define X_STEP_PIN 37
87 #define X_DIR_PIN 49
88 #define X_ENABLE_PIN 29
89 #define X_CS_PIN 41
90 
91 #define Y_STEP_PIN 36
92 #define Y_DIR_PIN 48
93 #define Y_ENABLE_PIN 28
94 #define Y_CS_PIN 39
95 
96 #define Z_STEP_PIN 35
97 #define Z_DIR_PIN 47
98 #define Z_ENABLE_PIN 27
99 #define Z_CS_PIN 67
100 
101 #define E0_STEP_PIN 34
102 #define E0_DIR_PIN 43
103 #define E0_ENABLE_PIN 26
104 #define E0_CS_PIN 66
105 
106 //
107 // Temperature Sensors
108 //
109 #define TEMP_0_PIN 0 // Analog Input
110 #define TEMP_1_PIN 1 // Analog Input
111 #define TEMP_BED_PIN 2 // Analog Input
112 
113 //
114 // Heaters / Fans
115 //
116 #define HEATER_0_PIN 3
117 #define HEATER_BED_PIN 4
118 
119 #ifndef FAN_PIN
120  #define FAN_PIN 8
121 #endif
122 
123 #ifndef FAN1_PIN
124  #define FAN1_PIN 6
125 #endif
126 
127 //
128 // Misc. Functions
129 //
130 #define SDSS 77
131 #define LED_PIN 13
132 #define CASE_LIGHT_PIN 9
133 
134 //
135 // M3/M4/M5 - Spindle/Laser Control
136 //
137 // use P1 connector for spindle pins
138 #define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
139 #define SPINDLE_LASER_ENA_PIN 18 // Pullup!
140 #define SPINDLE_DIR_PIN 19
141 
142 //
143 // Průša i3 MK2 Multiplexer Support
144 //
145 #define E_MUX0_PIN 17
146 #define E_MUX1_PIN 16
147 #define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
148 
149 //
150 // LCD / Controller
151 //
152 #if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL
153 
154  #define KILL_PIN 32
155 
156  #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
157 
158  #if ENABLED(CR10_STOCKDISPLAY)
159  #define LCD_PINS_RS 85
160  #define LCD_PINS_ENABLE 71
161  #define LCD_PINS_D4 70
162  #define BTN_EN1 61
163  #define BTN_EN2 59
164  #else
165  #define LCD_PINS_RS 82
166  #define LCD_PINS_ENABLE 61
167  #define LCD_PINS_D4 59
168  #define LCD_PINS_D5 70
169  #define LCD_PINS_D6 85
170  #define LCD_PINS_D7 71
171  #define BTN_EN1 14
172  #define BTN_EN2 72
173  #endif
174 
175  #define BTN_ENC 9 // AUX-2
176  #define BEEPER_PIN 84 // AUX-4
177  #define SD_DETECT_PIN 15
178 
179  #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
180 #endif // HAS_SPI_LCD