Prusa MINI Firmware overview
pins_DUPLICATOR_I3_PLUS.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  * Wanhao Duplicator i3 Plus 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 "Duplicator i3 Plus"
33 
34 //
35 // Limit Switches
36 //
37 #define X_STOP_PIN 54 // PF0 / A0
38 #define Y_STOP_PIN 24 // PA2 / AD2
39 #define Z_MIN_PIN 23 // PA1 / AD1
40 #define Z_MAX_PIN 25 // PA3 / AD3
41 #define SERVO0_PIN 40 // PG1 / !RD
42 
43 //
44 // Steppers
45 //
46 #define X_STEP_PIN 61 // PF7 / A7
47 #define X_DIR_PIN 62 // PK0 / A8
48 #define X_ENABLE_PIN 60 // PF6 / A6
49 
50 #define Y_STEP_PIN 64 // PK2 / A10
51 #define Y_DIR_PIN 65 // PK3 / A11
52 #define Y_ENABLE_PIN 63 // PK1 / A9
53 
54 #define Z_STEP_PIN 67 // PK5 / A13
55 #define Z_DIR_PIN 69 // PK7 / A15
56 #define Z_ENABLE_PIN 66 // PK4 / A12
57 #define Z_MIN_PROBE_PIN 25 // PA3 / AD3
58 
59 #define E0_STEP_PIN 58 // PF4 / A4
60 #define E0_DIR_PIN 59 // PF5 / A5
61 #define E0_ENABLE_PIN 57 // PF3 / A3
62 
63 //
64 // Temperature Sensors
65 //
66 #define TEMP_0_PIN 1 // PF1 / A1 Analog
67 #define TEMP_BED_PIN 14 // PK6 / A14 Analog
68 
69 //
70 // Heaters / Fans
71 //
72 #define HEATER_0_PIN 4 // PG5 / PWM4
73 #define HEATER_BED_PIN 3 // PE5 / PWM3
74 
75 #define FAN_PIN 5 // PE3 / PWM5
76 
77 //
78 // Misc. Functions
79 //
80 #define SDSS 53 // PB0 / SS
81 #define LED_PIN 13 // PB7 / PWM13
82 
83 #define MISO_PIN 50 // PB3
84 #define MOSI_PIN 51 // PB2
85 #define SCK_PIN 52 // PB1
86 
87 //
88 // LCDs and Controllers
89 //
90 #if HAS_SPI_LCD
91  #if ENABLED(ZONESTAR_LCD)
92  #define LCD_PINS_RS 2
93  #define LCD_PINS_ENABLE 36
94  #define LCD_PINS_D4 37
95  #define LCD_PINS_D5 34
96  #define LCD_PINS_D6 35
97  #define LCD_PINS_D7 32
98  #define ADC_KEYPAD_PIN 12 // Analog
99  #endif
100 #endif
101 
102 /**
103  * == EXT connector ==
104  *
105  * 2 4 6 8 10
106  * #---------------#
107  * #2 | ° ° ° ° ° |
108  * #1 | ° ° ° ° ° |
109  * #---------------#
110  * 1 3 5 7 9
111  *
112  * ##################################
113  * # Pin | ATMEGA2560 Pin | Arduino #
114  * ##################################
115  * # 1 | 52 / PG1 (!RD) | 40 #
116  * # 2 | 95 / PF2 (A2) | 2 #
117  * # 3 | 54 / PC1 (A9) | 36 #
118  * # 4 | 53 / PC0 (A8) | 37 #
119  * # 5 | 56 / PC3 (A11) | 34 #
120  * # 6 | 55 / PC2 (A10) | 35 #
121  * # 7 | 58 / PC5 (A13) | 32 #
122  * # 8 | 57 / PC4 (A12) | 33 #
123  * # 9 | GND | - #
124  * # 10 | VCC | + #
125  * ##################################
126  *
127  * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
128  *
129  * == Z-probe connector ==
130  *
131  * 1 2 3
132  * #---------#
133  * | ° ° ° |
134  * #---------#
135  *
136  * ##################################
137  * # Pin | ATMEGA2560 Pin | Arduino #
138  * ##################################
139  * # 1 | 24V or 5V | + #
140  * # 2 | 75 / PA3 (AD3) | 25 #
141  * # 3 | GND | - #
142  * ##################################
143  *
144  * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
145  *
146  * == Y-endstop == == Z-endstop == == Bed temperature ==
147  *
148  * 1 2 1 2 1 2
149  * #------# #------# #------#
150  * | ° ° | | ° ° | | ° ° |
151  * #------# #------# #------#
152  *
153  * ############### Y ################ ############### Z ################ ############## BED ###############
154  * # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino #
155  * ################################## ################################## ##################################
156  * # 1 | GND | - # # 1 | GND | - # # 1 | GND | - #
157  * # 2 | 76 / PA2 (AD2) | 24 # # 2 | 77 / PA1 (AD1) | 23 # # 2 |83 / PK6 (ADC14)| 14 #
158  * ################################## ################################## ##################################
159  *
160  * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
161  *
162  * == SPI connector ==
163  *
164  * 5 3 1
165  * #---------#
166  * | ° ° ° |
167  * | ° ° ° |
168  * #---------#
169  * 6 4 2
170  *
171  * ##################################
172  * # Pin | ATMEGA2560 Pin | Arduino #
173  * ##################################
174  * # 1 | 22 / PB3 (MISO)| 50 #
175  * # 2 | VCC | + #
176  * # 3 | 20 / PB1 (SCK) | 52 #
177  * # 4 | 21 / PB2 (MOSI)| 51 #
178  * # 5 | 30 / !RESET | RESET #
179  * # 6 | GND | - #
180  * ##################################
181  *
182  * Pictogram by Ludy https://github.com/Ludy87
183  * See: https://sebastien.andrivet.com/en/posts/wanhao-duplicator-i3-plus-3d-printer/
184  */