Prusa MINI Firmware overview
pins_GEN7_14.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  * Gen7 v1.4 pin assignments
26  */
27 
28 /**
29  * Rev B 26 DEC 2016
30  *
31  * 1) added pointer to a current Arduino IDE extension
32  * 2) added support for M3, M4 & M5 spindle control commands
33  * 3) added case light pin definition
34  *
35  */
36 
37 /**
38  * A useable Arduino IDE extension (board manager) can be found at
39  * https://github.com/Lauszus/Sanguino
40  *
41  * This extension has been tested on Arduino 1.6.12 & 1.8.0
42  *
43  * Here's the JSON path:
44  * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
45  *
46  * When installing select 1.0.2
47  *
48  * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
49  * Just use the above JSON URL instead of Sparkfun's JSON.
50  *
51  * Once installed select the Sanguino board and then select the CPU.
52  *
53  */
54 
55 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
56  #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
57 #endif
58 
59 #define BOARD_INFO_NAME "Gen7 v1.4"
60 
61 #define GEN7_VERSION 14 // v1.4
62 
63 //
64 // Limit switches
65 //
66 #define X_STOP_PIN 0
67 #define Y_STOP_PIN 1
68 #define Z_STOP_PIN 2
69 
70 //
71 // Steppers
72 //
73 #define X_STEP_PIN 29
74 #define X_DIR_PIN 28
75 #define X_ENABLE_PIN 25
76 
77 #define Y_STEP_PIN 27
78 #define Y_DIR_PIN 26
79 #define Y_ENABLE_PIN 25
80 
81 #define Z_STEP_PIN 23
82 #define Z_DIR_PIN 22
83 #define Z_ENABLE_PIN 25
84 
85 #define E0_STEP_PIN 19
86 #define E0_DIR_PIN 18
87 #define E0_ENABLE_PIN 25
88 
89 //
90 // Temperature Sensors
91 //
92 #define TEMP_0_PIN 1 // Analog Input
93 #define TEMP_BED_PIN 0 // Analog Input
94 
95 //
96 // Heaters
97 //
98 #define HEATER_0_PIN 4
99 #define HEATER_BED_PIN 3
100 
101 //
102 // Misc. Functions
103 //
104 #define PS_ON_PIN 15
105 #define CASE_LIGHT_PIN 15 // Hardware PWM
106 
107 // A pin for debugging
108 #define DEBUG_PIN 0
109 
110 // RS485 pins
111 #define TX_ENABLE_PIN 12
112 #define RX_ENABLE_PIN 13
113 
114 //
115 // M3/M4/M5 - Spindle/Laser Control
116 //
117 #define SPINDLE_LASER_ENA_PIN 20 // Pullup or pulldown!
118 #define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
119 #define SPINDLE_DIR_PIN 21