Prusa MINI Firmware overview
pins_AZTEEG_X3_PRO.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  * AZTEEG_X3_PRO (Arduino Mega) pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
30 #elif HOTENDS > 5 || E_STEPPERS > 5
31  #error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue."
32 #endif
33 
34 #define BOARD_INFO_NAME "Azteeg X3 Pro"
35 
36 //
37 // RAMPS pins overrides
38 //
39 
40 //
41 // Servos
42 //
43 // Tested this pin with bed leveling on a Delta with 1 servo.
44 // Physical wire attachment on EXT1: GND, 5V, D47.
45 //
46 #define SERVO0_PIN 47
47 
48 //
49 // Limit Switches
50 //
51 #define X_STOP_PIN 3
52 #define Y_STOP_PIN 14
53 #define Z_STOP_PIN 18
54 
55 #ifndef FAN_PIN
56  #define FAN_PIN 6
57 #endif
58 
59 #if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
60  #define CASE_LIGHT_PIN 44
61 #endif
62 
63 //
64 // Import RAMPS 1.4 pins
65 //
66 #include "pins_RAMPS.h"
67 
68 // DIGIPOT slave addresses
69 #ifndef DIGIPOT_I2C_ADDRESS_A
70  #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1)
71 #endif
72 #ifndef DIGIPOT_I2C_ADDRESS_B
73  #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1)
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 18
81 #endif
82 
83 //
84 // Steppers
85 //
86 #define E2_STEP_PIN 23
87 #define E2_DIR_PIN 25
88 #define E2_ENABLE_PIN 40
89 
90 #define E3_STEP_PIN 27
91 #define E3_DIR_PIN 29
92 #define E3_ENABLE_PIN 41
93 
94 #define E4_STEP_PIN 43
95 #define E4_DIR_PIN 37
96 #define E4_ENABLE_PIN 42
97 
98 //
99 // Temperature Sensors
100 //
101 #define TEMP_2_PIN 12 // Analog Input
102 #define TEMP_3_PIN 11 // Analog Input
103 #define TEMP_4_PIN 10 // Analog Input
104 #define TC1 4 // Analog Input (Thermo couple on Azteeg X3Pro)
105 #define TC2 5 // Analog Input (Thermo couple on Azteeg X3Pro)
106 
107 //
108 // Heaters / Fans
109 //
110 #define HEATER_2_PIN 16
111 #define HEATER_3_PIN 17
112 #define HEATER_4_PIN 4
113 #define HEATER_5_PIN 5
114 #define HEATER_6_PIN 6
115 #define HEATER_7_PIN 11
116 
117 #ifndef CONTROLLER_FAN_PIN
118  #define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable)
119 #endif
120 
121 // Fans/Water Pump to cool the hotend cool side.
122 #define ORIG_E0_AUTO_FAN_PIN 5
123 #define ORIG_E1_AUTO_FAN_PIN 5
124 #define ORIG_E2_AUTO_FAN_PIN 5
125 #define ORIG_E3_AUTO_FAN_PIN 5
126 
127 //
128 // LCD / Controller
129 //
130 #undef BEEPER_PIN
131 #define BEEPER_PIN 33
132 
133 #if ANY(VIKI2, miniVIKI)
134  #undef SD_DETECT_PIN
135  #define SD_DETECT_PIN 49 // For easy adapter board
136  #undef BEEPER_PIN
137  #define BEEPER_PIN 12 // 33 isn't physically available to the LCD display
138 #else
139  #define STAT_LED_RED_PIN 32
140  #define STAT_LED_BLUE_PIN 35
141 #endif
142 
143 //
144 // Misc. Functions
145 //
146 #if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
147  #undef DOGLCD_A0 // Steal pin 44 for the case light; if you have a Viki2 and have connected it
148  #define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
149  // as the wiring diagram uses pin 44 for DOGLCD_A0
150 #endif
151 
152 //
153 // M3/M4/M5 - Spindle/Laser Control
154 //
155 #undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3pro board
156 #undef SPINDLE_LASER_ENA_PIN
157 #undef SPINDLE_DIR_PIN
158 
159 #if HAS_CUTTER // EXP2 header
160  #if ANY(VIKI2, miniVIKI)
161  #define BTN_EN2 31 // Pin 7 needed for Spindle PWM
162  #endif
163  #define SPINDLE_LASER_PWM_PIN 7 // Hardware PWM
164  #define SPINDLE_LASER_ENA_PIN 20 // Pullup!
165  #define SPINDLE_DIR_PIN 21
166 #endif
pins_RAMPS.h