Prusa MINI Firmware overview
pins_MEGATRONICS.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 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"
33 //
34 // Limit Switches
35 //
36 #define X_MIN_PIN 41
37 #define X_MAX_PIN 37
38 #define Y_MIN_PIN 14
39 #define Y_MAX_PIN 15
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 28
55 #define X_ENABLE_PIN 24
56 
57 #define Y_STEP_PIN 60 // A6
58 #define Y_DIR_PIN 61 // A7
59 #define Y_ENABLE_PIN 22
60 
61 #define Z_STEP_PIN 54 // A0
62 #define Z_DIR_PIN 55 // A1
63 #define Z_ENABLE_PIN 56 // A2
64 
65 #define E0_STEP_PIN 31
66 #define E0_DIR_PIN 32
67 #define E0_ENABLE_PIN 38
68 
69 #define E1_STEP_PIN 34
70 #define E1_DIR_PIN 36
71 #define E1_ENABLE_PIN 30
72 
73 //
74 // Temperature Sensors
75 //
76 #if TEMP_SENSOR_0 == -1
77  #define TEMP_0_PIN 8 // Analog Input
78 #else
79  #define TEMP_0_PIN 13 // Analog Input
80 #endif
81 #define TEMP_1_PIN 15 // Analog Input
82 #define TEMP_BED_PIN 14 // Analog Input
83 
84 //
85 // Heaters / Fans
86 //
87 #define HEATER_0_PIN 9
88 #define HEATER_1_PIN 8
89 #define HEATER_BED_PIN 10
90 
91 #ifndef FAN_PIN
92  #define FAN_PIN 7 // IO pin. Buffer needed
93 #endif
94 
95 //
96 // Misc. Functions
97 //
98 #define SDSS 53
99 #define LED_PIN 13
100 #define PS_ON_PIN 12
101 #define CASE_LIGHT_PIN 2
102 
103 //
104 // LCD / Controller
105 //
106 #define BEEPER_PIN 33
107 
108 #if BOTH(ULTRA_LCD, NEWPANEL)
109 
110  #define LCD_PINS_RS 16
111  #define LCD_PINS_ENABLE 17
112  #define LCD_PINS_D4 23
113  #define LCD_PINS_D5 25
114  #define LCD_PINS_D6 27
115  #define LCD_PINS_D7 29
116 
117  // Buttons directly attached to AUX-2
118  #define BTN_EN1 59
119  #define BTN_EN2 64
120  #define BTN_ENC 43
121 
122  #define SD_DETECT_PIN -1 // RAMPS doesn't use this
123 
124 #endif // HAS_SPI_LCD && NEWPANEL
125 
126 //
127 // M3/M4/M5 - Spindle/Laser Control
128 //
129 #define SPINDLE_LASER_PWM_PIN 3 // Hardware PWM
130 #define SPINDLE_LASER_ENA_PIN 4 // Pullup!
131 #define SPINDLE_DIR_PIN 11