Subversion Repositories MK-Marlin

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 ron 1
/**
2
 * Marlin 3D Printer Firmware
3
 * Copyright (C) 2017 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
 
23
/**
24
 *  Rev B  2 JUN 2017
25
 *
26
 *  Converted to Arduino pin numbering
27
 */
28
 
29
/**
30
 *  There are two Arduino IDE extensions that are compatible with this board
31
 *  and with the mainstream Marlin software.
32
 *
33
 *  Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
34
 *    Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
35
 *
36
 *    Installation instructions are at the above URL.  Don't bother loading the
37
 *    libraries - they are not used with the Marlin software.
38
 *
39
 *  Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
40
 *
41
 *    Installation:
42
 *
43
 *       1. Go to the above URL, click on the "Clone or Download" button and then
44
 *          click on "Download ZIP" button.
45
 *       2. Unzip the file, find the "printrboard" directory and then copy it to the
46
 *          hardware directory in Arduino.  The Arduino hardware directory will probably
47
 *          be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
48
 *       3. Restart Arduino.
49
 *       4. Select "Printrboard" from the 'Tools -> Boards' menu.
50
 *
51
 *  Teensyduino is the most popular option. Printrboard is used if your board doesn't have
52
 *  the Teensyduino bootloader on it.
53
 */
54
 
55
/**
56
 *  To burn the bootloader that comes with Printrboard:
57
 *
58
 *   1. Connect your programmer to the board.
59
 *   2. In the Arduino IDE select "Printrboard" and then select the programmer.
60
 *   3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
61
 *   4. The programmer is no longer needed. Remove it.
62
 */
63
 
64
/**
65
 * Teensy++ 2.0 Breadboard pin assignments (AT90USB1286)
66
 * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
67
 * http://www.pjrc.com/teensy/teensyduino.html
68
 * See http://reprap.org/wiki/Printrboard for more info
69
 *
70
 * CLI build: HARDWARE_MOTHERBOARD=84 make
71
 *
72
 *  DaveX plan for Teensylu/printrboard-type pinouts for a TeensyBreadboard:
73
 *  (ref teensylu & sprinter)
74
 *
75
 *                               USB
76
 *           GND       GND |-----#####-----| +5V              ATX +5SB
77
 *     ATX PS_ON    PWM 27 |b7   #####   b6| 26    PWM*       Stepper Enable
78
 *                  PWM  0 |d0           b5| 25    PWM*
79
 *                  PWM  1 |d1           b4| 24    PWM
80
 *         X_MIN         2 |d2           b3| 23               MISO_PIN
81
 *         Y_MIN         3 |d3           b2| 22               MOSI_PIN
82
 *         Z_MIN         4 |d4  * *      b1| 21               SCK_PIN
83
 *                       5 |d5  e e      b0| 20               SDSS
84
 *                LED    6 |d6  5 4      e7| 19
85
 *                       7 |d7           e6| 18
86
 *       LCD  RS         8 |e0             | GND
87
 *       LCD  EN         9 |e1   a4 a0    R| AREF
88
 *       LCD  D4        10 |c0   a5 a1   f0| 38 A0            ENC_1
89
 *       LCD  D5        11 |c1   a6 a2   f1| 39 A1            ENC_2
90
 *       LCD  D6        12 |c2   a7 a3   f2| 40 A2            ENC_CLK
91
 *       LCD  D6        13 |c3           f3| 41 A3
92
 *      Bed Heat    PWM 14 |c4   V G R   f4| 42 A4
93
 * Extruder Heat    PWM 15 |c5   c n S   f5| 43 A5
94
 *           Fan    PWM 16 |c6   c d T   f6| 44 A6            Bed TC
95
 *                      17 |c7   * * *   f7| 45 A7            Extruder TC * 4.7k * +5
96
 *                         -----------------
97
 *
98
 *      Interior E4: 36, INT4
99
 *      Interior E5: 37, INT5
100
 *      Interior PA0-7: 28-35  -- Printrboard and Teensylu use these pins for step & direction:
101
 *             T++ PA Signal  Marlin
102
 *
103
 *       Z STEP  32 a4  a0 28 X STEP
104
 *       Z DIR   33 a5  a1 29 X DIR
105
 *       E STEP  34 a6  a2 30 Y STEP
106
 *       E DIR   35 a7  a3 31 Y DIR
107
 */
108
 
109
#ifndef __AVR_AT90USB1286__
110
  #error "Oops!  Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
111
#endif
112
 
113
#define BOARD_NAME         "Teensy++2.0"
114
 
115
//
116
// Limit Switches
117
//
118
#define X_STOP_PIN          2   // D2
119
#define Y_STOP_PIN          3   // D3
120
#define Z_STOP_PIN          4   // D4
121
 
122
//
123
// Steppers
124
//
125
#define X_STEP_PIN         28   // A0 Marlin
126
#define X_DIR_PIN          29   // A1 Marlin
127
#define X_ENABLE_PIN       26   // B6
128
 
129
#define Y_STEP_PIN         30   // A2 Marlin
130
#define Y_DIR_PIN          31   // A3
131
#define Y_ENABLE_PIN       26   // B6 Shared w/x
132
 
133
#define Z_STEP_PIN         32   // A4
134
#define Z_DIR_PIN          33   // A5
135
#define Z_ENABLE_PIN       26   // B6 Shared w/x
136
 
137
#define E0_STEP_PIN        34   // A6
138
#define E0_DIR_PIN         35   // A7
139
#define E0_ENABLE_PIN      26   // B6 Shared w/x
140
 
141
//
142
// Temperature Sensors
143
//
144
#define TEMP_0_PIN          7   // F7 Analog Input (Extruder)
145
#define TEMP_BED_PIN        6   // F6 Analog Input (Bed)
146
 
147
//
148
// Heaters / Fans
149
//
150
#define HEATER_0_PIN       15   // C5 PWM3B  Extruder
151
#define HEATER_BED_PIN     14   // C4 PWM3C
152
#ifndef FAN_PIN
153
  #define FAN_PIN          16   // C6 PWM3A  Fan
154
#endif
155
 
156
//
157
// Misc. Functions
158
//
159
#define SDSS               20   // B0
160
#define LED_PIN             6   // D6
161
#define PS_ON_PIN          27   // B7
162
#define CASE_LIGHT_PIN      1   // D1 PWM2B  MUST BE HARDWARE PWM
163
 
164
//
165
// LCD / Controller
166
//
167
#if ENABLED(ULTIPANEL)
168
  #define LCD_PINS_RS       8   // E0
169
  #define LCD_PINS_ENABLE   9   // E1
170
  #define LCD_PINS_D4      10   // C0
171
  #define LCD_PINS_D5      11   // C1
172
  #define LCD_PINS_D6      12   // C2
173
  #define LCD_PINS_D7      13   // C3
174
  #define BTN_EN1          38   // F0
175
  #define BTN_EN2          39   // F1
176
  #define BTN_ENC          40   // F2
177
#endif
178
 
179
//
180
// M3/M4/M5 - Spindle/Laser Control
181
//
182
#define SPINDLE_LASER_ENABLE_PIN  5   // D5  Pin should have a pullup!
183
#define SPINDLE_LASER_PWM_PIN     0   // D0 PWM0B   MUST BE HARDWARE PWM
184
#define SPINDLE_DIR_PIN           7   // D7