Prusa MINI Firmware overview
pins_GEN7_CUSTOM.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 Alfons3 board pin assignments
26  *
27  * These Pins are assigned for the modified GEN7 Board from Alfons3.
28  * Please review the pins and adjust them for your needs.
29  */
30 
31 /**
32  * Rev B 26 DEC 2016
33  *
34  * 1) added pointer to a current Arduino IDE extension
35  * 2) added support for M3, M4 & M5 spindle control commands
36  * 3) added case light pin definition
37  *
38  */
39 
40 /**
41  * A useable Arduino IDE extension (board manager) can be found at
42  * https://github.com/Lauszus/Sanguino
43  *
44  * This extension has been tested on Arduino 1.6.12 & 1.8.0
45  *
46  * Here's the JSON path:
47  * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
48  *
49  * When installing select 1.0.2
50  *
51  * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
52  * Just use the above JSON URL instead of Sparkfun's JSON.
53  *
54  * Once installed select the Sanguino board and then select the CPU.
55  *
56  */
57 
58 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
59  #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
60 #endif
61 
62 #define BOARD_INFO_NAME "Gen7 Custom"
63 
64 //
65 // Limit Switches
66 //
67 #define X_STOP_PIN 0
68 #define Y_STOP_PIN 1
69 #define Z_STOP_PIN 2
70 
71 //
72 // Steppers
73 //
74 #define X_STEP_PIN 21 // different from standard GEN7
75 #define X_DIR_PIN 20 // different from standard GEN7
76 #define X_ENABLE_PIN 24
77 
78 #define Y_STEP_PIN 23
79 #define Y_DIR_PIN 22
80 #define Y_ENABLE_PIN 24
81 
82 #define Z_STEP_PIN 26
83 #define Z_DIR_PIN 25
84 #define Z_ENABLE_PIN 24
85 
86 #define E0_STEP_PIN 28
87 #define E0_DIR_PIN 27
88 #define E0_ENABLE_PIN 24
89 
90 //
91 // Temperature Sensors
92 //
93 #define TEMP_0_PIN 2 // Analog Input
94 #define TEMP_BED_PIN 1 // Analog Input (pin 34 bed)
95 
96 //
97 // Heaters
98 //
99 #define HEATER_0_PIN 4
100 #define HEATER_BED_PIN 3 // (bed)
101 
102 //
103 // Misc. Functions
104 //
105 #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
106 #define PS_ON_PIN 19
107 #define CASE_LIGHT_PIN 15 // Hardware PWM
108 
109 // A pin for debugging
110 #define DEBUG_PIN -1
111 
112 //
113 // LCD / Controller
114 //
115 #define BEEPER_PIN -1
116 
117 // 4bit LCD Support
118 #define LCD_PINS_RS 18
119 #define LCD_PINS_ENABLE 17
120 #define LCD_PINS_D4 16
121 #define LCD_PINS_D5 15
122 #define LCD_PINS_D6 13
123 #define LCD_PINS_D7 14
124 
125 // Buttons are directly attached
126 #define BTN_EN1 11
127 #define BTN_EN2 10
128 #define BTN_ENC 12
129 
130 // RS485 pins
131 //#define TX_ENABLE_PIN 12
132 //#define RX_ENABLE_PIN 13
133 
134 //
135 // M3/M4/M5 - Spindle/Laser Control
136 //
137 #define SPINDLE_LASER_ENA_PIN 5 // Pullup or pulldown!
138 #define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
139 #define SPINDLE_DIR_PIN 6