Prusa MINI Firmware overview
pins_MEGATRONICS_2.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  * MegaTronics v2.0 pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
30 #endif
31 
32 #define BOARD_INFO_NAME "Megatronics v2.0"
33 //
34 // Limit Switches
35 //
36 #define X_MIN_PIN 37
37 #define X_MAX_PIN 40
38 #define Y_MIN_PIN 41
39 #define Y_MAX_PIN 38
40 #define Z_MIN_PIN 18
41 #define Z_MAX_PIN 19
42 
43 //
44 // Z Probe (when not Z_MIN_PIN)
45 //
46 #ifndef Z_MIN_PROBE_PIN
47  #define Z_MIN_PROBE_PIN 19
48 #endif
49 
50 //
51 // Steppers
52 //
53 #define X_STEP_PIN 26
54 #define X_DIR_PIN 27
55 #define X_ENABLE_PIN 25
56 
57 #define Y_STEP_PIN 4 // A6
58 #define Y_DIR_PIN 54 // A0
59 #define Y_ENABLE_PIN 5
60 
61 #define Z_STEP_PIN 56 // A2
62 #define Z_DIR_PIN 60 // A6
63 #define Z_ENABLE_PIN 55 // A1
64 
65 #define E0_STEP_PIN 35
66 #define E0_DIR_PIN 36
67 #define E0_ENABLE_PIN 34
68 
69 #define E1_STEP_PIN 29
70 #define E1_DIR_PIN 39
71 #define E1_ENABLE_PIN 28
72 
73 #define E2_STEP_PIN 23 // ? schematic says 24
74 #define E2_DIR_PIN 24 // ? schematic says 23
75 #define E2_ENABLE_PIN 22
76 
77 //
78 // Temperature Sensors
79 //
80 #if TEMP_SENSOR_0 == -1
81  #define TEMP_0_PIN 4 // Analog Input
82 #else
83  #define TEMP_0_PIN 13 // Analog Input
84 #endif
85 
86 #if TEMP_SENSOR_1 == -1
87  #define TEMP_1_PIN 8 // Analog Input
88 #else
89  #define TEMP_1_PIN 15 // Analog Input
90 #endif
91 
92 #if TEMP_SENSOR_BED == -1
93  #define TEMP_BED_PIN 8 // Analog Input
94 #else
95  #define TEMP_BED_PIN 14 // Analog Input
96 #endif
97 
98 //
99 // Heaters / Fans
100 //
101 #define HEATER_0_PIN 9
102 #define HEATER_1_PIN 8
103 #define HEATER_BED_PIN 10
104 
105 #ifndef FAN_PIN
106  #define FAN_PIN 7
107 #endif
108 #define FAN1_PIN 6
109 
110 //
111 // Misc. Functions
112 //
113 #define SDSS 53
114 #define LED_PIN 13
115 #define PS_ON_PIN 12
116 #define CASE_LIGHT_PIN 2
117 
118 //
119 // M3/M4/M5 - Spindle/Laser Control
120 //
121 #define SPINDLE_LASER_PWM_PIN 3 // Hardware PWM
122 #define SPINDLE_LASER_ENA_PIN 16 // Pullup!
123 #define SPINDLE_DIR_PIN 11
124 
125 //
126 // LCD / Controller
127 //
128 #define BEEPER_PIN 64
129 
130 #if HAS_SPI_LCD
131 
132  #define LCD_PINS_RS 14
133  #define LCD_PINS_ENABLE 15
134  #define LCD_PINS_D4 30
135  #define LCD_PINS_D5 31
136  #define LCD_PINS_D6 32
137  #define LCD_PINS_D7 33
138 
139  #if ENABLED(NEWPANEL)
140  // Buttons are directly attached using keypad
141  #define BTN_EN1 61
142  #define BTN_EN2 59
143  #define BTN_ENC 43
144  #else
145  // Buttons attached to shift register of reprapworld keypad v1.1
146  #define SHIFT_CLK 63
147  #define SHIFT_LD 42
148  #define SHIFT_OUT 17
149  #define SHIFT_EN 17
150  #endif
151 
152 #endif // HAS_SPI_LCD