Prusa MINI Firmware overview
pins_OVERLORD.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  * Dreammaker Overlord v1.1 pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
30 #elif HOTENDS > 2 || E_STEPPERS > 2
31  #error "Overlord Controller supports up to 2 hotends / E-steppers. Comment out this line to continue."
32 #endif
33 
34 #define BOARD_INFO_NAME "OVERLORD"
35 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
36 
37 //
38 // Limit Switches
39 //
40 #define X_STOP_PIN 24
41 #define Y_STOP_PIN 28
42 #define Z_MIN_PIN 46
43 #define Z_MAX_PIN 32
44 
45 //
46 // Z Probe (when not Z_MIN_PIN)
47 //
48 #ifndef Z_MIN_PROBE_PIN
49  #define Z_MIN_PROBE_PIN 46 // JP4, Tfeed1
50 #endif
51 
52 #if ENABLED(FILAMENT_RUNOUT_SENSOR)
53  #define FIL_RUNOUT_PIN 44 // JP3, Tfeed2
54 #endif
55 
56 //
57 // Steppers
58 //
59 #define X_STEP_PIN 25
60 #define X_DIR_PIN 23
61 #define X_ENABLE_PIN 27
62 
63 #define Y_STEP_PIN 31
64 #define Y_DIR_PIN 33
65 #define Y_ENABLE_PIN 29
66 
67 #define Z_STEP_PIN 37
68 #define Z_DIR_PIN 39
69 #define Z_ENABLE_PIN 35
70 
71 #define E0_STEP_PIN 43
72 #define E0_DIR_PIN 45
73 #define E0_ENABLE_PIN 41
74 
75 #define E1_STEP_PIN 49
76 #define E1_DIR_PIN 47
77 #define E1_ENABLE_PIN 48
78 
79 //
80 // Temperature Sensors
81 //
82 #define TEMP_0_PIN 8 // Analog Input
83 #define TEMP_1_PIN 9 // Analog Input - Redundant temp sensor
84 #define TEMP_2_PIN 12 // Analog Input
85 #define TEMP_3_PIN 14 // Analog Input
86 #define TEMP_BED_PIN 10 // Analog Input
87 
88 //
89 // Heaters / Fans
90 //
91 #define HEATER_0_PIN 2
92 #define HEATER_1_PIN 3
93 #define HEATER_BED_PIN 4
94 
95 #define FAN_PIN 7 // material cooling fan
96 
97 //
98 // SD Card
99 //
100 #define SDSS 53
101 #define SD_DETECT_PIN 38
102 
103 //
104 // Misc. Functions
105 //
106 #define LED_PIN 13 // On PCB status led
107 #define PS_ON_PIN 12 // For stepper/heater/fan power. Active HIGH.
108 #define POWER_LOSS_PIN 34 // Power check - whether hotends/steppers/fans have power
109 
110 #if ENABLED(BATTERY_STATUS_AVAILABLE)
111  #undef BATTERY_STATUS_PIN
112  #define BATTERY_STATUS_PIN 26 // Status of power loss battery, whether it is charged (low) or charging (high)
113 #endif
114 #if ENABLED(INPUT_VOLTAGE_AVAILABLE)
115  #undef VOLTAGE_DETECTION_PIN
116  #define VOLTAGE_DETECTION_PIN 11 // Analog Input - ADC Voltage level of main input
117 #endif
118 
119 //
120 // LCD / Controller
121 //
122 #if HAS_GRAPHICAL_LCD
123  // OVERLORD OLED pins
124  #define LCD_PINS_RS 20
125  #define LCD_PINS_D5 21
126  #define LCD_PINS_ENABLE 15
127  #define LCD_PINS_D4 14
128  #define LCD_PINS_D6 5
129  #define LCD_PINS_D7 6
130  #ifndef LCD_RESET_PIN
131  #define LCD_RESET_PIN 5 // LCD_PINS_D6
132  #endif
133 #endif
134 
135 #if ENABLED(NEWPANEL)
136  #define BTN_ENC 16 // Enter Pin
137  #define BTN_UP 19 // Button UP Pin
138  #define BTN_DWN 17 // Button DOWN Pin
139 #endif
140 
141 // Additional connectors/pins on the Overlord V1.X board
142 #define PCB_VERSION_PIN 22
143 #define APPROACH_PIN 11 // JP7, Tpd
144 #define GATE_PIN 36 // Threshold, JP6, Tg