Prusa MINI Firmware overview
pins_TEENSY35_36.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 * Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) Breadboard pin assignments
26 * Requires the Teensyduino software with Teensy 3.5 or Teensy 3.6 selected in Arduino IDE!
27 * http://www.pjrc.com/teensy/teensyduino.html
28 ****************************************************************************************/
29 
30 #if !IS_32BIT_TEENSY
31  #error "Oops! Select 'Teensy 3.5' or 'Teensy 3.6' in 'Tools > Board.'"
32 #endif
33 
34 #if IS_TEENSY35
35  #define BOARD_INFO_NAME "Teensy3.5"
36 #elif IS_TEENSY36
37  #define BOARD_INFO_NAME "Teensy3.6"
38 #endif
39 
40 #define AT90USB 1286 // Disable MarlinSerial etc.
41 #define USBCON //1286 // Disable MarlinSerial etc.
42 /*
43 
44  teemuatlut plan for Teensy3.5 and Teensy3.6:
45  USB
46  GND |-----#####-----| VIN 5V
47  X_STEP_PIN MOSI1 RX1 0 | ##### | Analog GND
48  X_DIR_PIN MISO1 TX1 1 | | 3.3V
49  Y_STEP_PIN PWM 2 | *NC AREF* | 23 A9 PWM
50  Y_DIR_PIN SCL2 CAN0TX PWM 3 | *A26 A10* | 22 A8 PWM
51  Z_STEP_PIN SDA2 CAN0RX PWM 4 | *A25 A11* | 21 A7 PWM CS0 MOSI1 RX1
52  Z_DIR_PIN MISO1 TX1 PWM 5 | *GND * * 57 | 20 A6 PWM CS0 SCK1 FILWIDTH_PIN
53  X_ENABLE_PIN PWM 6 | *GND * * 56 | 19 A5 SCL0 E0_STEP_PIN
54  Y_ENABLE_PIN SCL0 MOSI0 RX3 PWM 7 | * * 55 | 18 A4 SDA0 E0_DIR_PIN
55  Z_ENABLE_PIN SDA0 MISO0 TX3 PWM 8 | * * 54 | 17 A3 SDA0 E0_ENABLE_PIN
56  CS0 RX2 PWM 9 | | 16 A2 SCL0 TEMP_0_PIN
57  CS0 TX2 PWM 10 | | 15 A1 CS0 TEMP_BED_PIN
58  X_STOP_PIN MOSI0 11 | | 14 A0 PWM CS0 TEMP_1_PIN
59  Y_STOP_PIN MISO0 12 | | 13 LED SCK0 LED_PIN
60  3.3V | | GND
61  Z_STOP_PIN 24 | 40 * * 53 | A22 DAC1
62 AUX2 25 | 41 * * 52 | A21 DAC0
63 AUX2 FAN_PIN SCL2 TX1 26 | 42 * * 51 | 39 A20 MISO0 SDSS
64 AUX2 Z-PROBE PWR SCK0 RX1 27 | * * * * * | 38 A19 PWM SDA1
65 AUX2 SOL1_PIN MOSI0 28 | 43 * * 50 | 37 A18 PWM SCL1
66 D10 CONTROLLER_FAN_PIN CAN0TX PWM 29 | 44 * * 49 | 36 A17 PWM
67 D9 HEATER_0_PIN CAN0RX PWM 30 | 45 * * 48 | 35 A16 PWM E1_ENABLE_PIN
68 D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM SDA0 RX5 E1_DIR_PIN
69  SCK1 TX4 A13 32 |__GND_*_*_3.3V_| 33 A14 PWM SCL0 TX5 E1_STEP_PIN
70 
71  Interior pins:
72  LCD_PINS_RS 40 * * 53 SCK2
73  LCD_PINS_ENABLE 41 * * 52 MOSI2
74  LCD_PINS_D4 42 * * 51 MISO2
75  LCD_PINS_D5 CS2 43 * * 50 A24
76  LCD_PINS_D6 MOSI2 44 * * 49 A23
77  LCD_PINS_D7 MISO2 45 * * 48 TX6 SDA0 BTN_ENC
78  BTN_EN1 SCK2 46 * * 47 RX6 SCL0 BTN_EN2
79  GND * * 3.3V
80 
81 */
82 
83 //
84 // Limit Switches
85 //
86 #define X_STOP_PIN 24
87 #define Y_STOP_PIN 26
88 #define Z_STOP_PIN 28
89 
90 //
91 // Steppers
92 //
93 #define X_STEP_PIN 22
94 #define X_DIR_PIN 21
95 #define X_ENABLE_PIN 39
96 
97 #define Y_STEP_PIN 19
98 #define Y_DIR_PIN 18
99 #define Y_ENABLE_PIN 20
100 
101 #define Z_STEP_PIN 38
102 #define Z_DIR_PIN 37
103 #define Z_ENABLE_PIN 17
104 
105 #define E0_STEP_PIN 31
106 #define E0_DIR_PIN 30
107 #define E0_ENABLE_PIN 32
108 
109 #define E1_STEP_PIN 33
110 #define E1_DIR_PIN 34
111 #define E1_ENABLE_PIN 35
112 
113 #define HEATER_0_PIN 30
114 #define HEATER_1_PIN 36
115 #define HEATER_BED_PIN 31
116 #ifndef FAN_PIN
117  #define FAN_PIN 2
118 #endif
119 
120 #define TEMP_0_PIN 2 // Extruder / Analog pin numbering: 2 => A2
121 #define TEMP_1_PIN 0
122 #define TEMP_BED_PIN 1 // Bed / Analog pin numbering
123 
124 #define SDSS 39 // 8
125 #define LED_PIN 13
126 #define PS_ON_PIN 1
127 #define ALARM_PIN -1
128 
129 #define FILWIDTH_PIN 6
130 #define SOL1_PIN 28
131 
132 #if 0
133 // Pretty sure this is obsolete!
134 // Please use Marlin 1.1.x pins files as reference for new pins files.
135 #ifndef SDSUPPORT
136  // these are defined in the SD library if building with SD support
137  #define SCK_PIN 13
138  #define MISO_PIN 12
139  #define MOSI_PIN 11
140 #endif
141 #endif
142 
143 #if HAS_SPI_LCD
144  #define LCD_PINS_RS 40
145  #define LCD_PINS_ENABLE 41
146  #define LCD_PINS_D4 42
147  #define LCD_PINS_D5 43
148  #define LCD_PINS_D6 44
149  #define LCD_PINS_D7 45
150 #endif
151 
152 #if ENABLED(NEWPANEL)
153  #define BTN_EN1 46
154  #define BTN_EN2 47
155  #define BTN_ENC 48
156 #endif
157 
158 #if ENABLED(REPRAPWORLD_KEYPAD)
159  #define SHIFT_OUT 40
160  #define SHIFT_CLK 44
161  #define SHIFT_LD 42
162 #endif