Prusa MINI Firmware overview
pins_SMOOTHIEBOARD.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  * Smoothieboard pin assignments
26  */
27 
28 #ifndef LPC1769
29  #error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
30 #endif
31 
32 #define BOARD_INFO_NAME "Smoothieboard"
33 #define BOARD_WEBSITE_URL "smoothieware.org/smoothieboard"
34 
35 //
36 // Custom CPU Speed 120MHz
37 //
38 #undef F_CPU
39 #define F_CPU 120000000
40 
41 //
42 // Servos
43 //
44 #define SERVO0_PIN P1_23
45 
46 //
47 // Limit Switches
48 //
49 #define X_MIN_PIN P1_24
50 #define X_MAX_PIN P1_25
51 #define Y_MIN_PIN P1_26
52 #define Y_MAX_PIN P1_27
53 #define Z_MIN_PIN P1_28
54 #define Z_MAX_PIN P1_29
55 
56 //
57 // Steppers
58 //
59 #define X_STEP_PIN P2_00
60 #define X_DIR_PIN P0_05
61 #define X_ENABLE_PIN P0_04
62 
63 #define Y_STEP_PIN P2_01
64 #define Y_DIR_PIN P0_11
65 #define Y_ENABLE_PIN P0_10
66 
67 #define Z_STEP_PIN P2_02
68 #define Z_DIR_PIN P0_20
69 #define Z_ENABLE_PIN P0_19
70 
71 #define E0_STEP_PIN P2_03
72 #define E0_DIR_PIN P0_22
73 #define E0_ENABLE_PIN P0_21
74 
75 #define E1_STEP_PIN P2_08
76 #define E1_DIR_PIN P2_13
77 #define E1_ENABLE_PIN P4_29
78 
79 //
80 // Temperature Sensors
81 // 3.3V max when defined as an analog input
82 //
83 #define TEMP_0_PIN 0 // P0.23 (T1)
84 #define TEMP_BED_PIN 1 // P0.24 (T2)
85 #define TEMP_1_PIN 2 // P0.25 (T3)
86 #define TEMP_2_PIN 3 // P0.26 (T4)
87 
88 //
89 // Heaters / Fans
90 //
91 #define HEATER_BED_PIN P2_05
92 #define HEATER_0_PIN P2_07
93 #define HEATER_1_PIN P1_23
94 #ifndef FAN_PIN
95  #define FAN_PIN P2_06
96 #endif
97 #define FAN1_PIN P2_04
98 
99 //
100 // LCD / Controller
101 //
102 #if ANY(VIKI2, miniVIKI)
103 
104  #define BEEPER_PIN P1_31
105  #define DOGLCD_A0 P2_11
106  #define DOGLCD_CS P0_16
107 
108  #define BTN_EN1 P3_25
109  #define BTN_EN2 P3_26
110  #define BTN_ENC P1_30
111 
112  #define SD_DETECT_PIN P1_18
113  #define SDSS P1_21
114 
115  #define STAT_LED_RED_PIN P1_19
116  #define STAT_LED_BLUE_PIN P1_20
117 
118 #elif HAS_SPI_LCD
119 
120  #error "Marlin's Smoothieboard support cannot drive your LCD."
121 
122 #endif