Skip to content

Commit ed85bf6

Browse files
AvanOschkpishere
authored andcommitted
Zonestar Z8 XM2 support (MarlinFirmware#19991)
1 parent 4bc582f commit ed85bf6

File tree

7 files changed

+272
-48
lines changed

7 files changed

+272
-48
lines changed

Marlin/src/core/boards.h

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -69,49 +69,50 @@
6969
#define BOARD_MKS_GEN_L 1113 // MKS GEN L
7070
#define BOARD_KFB_2 1114 // BigTreeTech or BIQU KFB2.0
7171
#define BOARD_ZRIB_V20 1115 // zrib V2.0 control board (Chinese knock off RAMPS replica)
72-
#define BOARD_FELIX2 1116 // Felix 2.0+ Electronics Board (RAMPS like)
73-
#define BOARD_RIGIDBOARD 1117 // Invent-A-Part RigidBoard
74-
#define BOARD_RIGIDBOARD_V2 1118 // Invent-A-Part RigidBoard V2
75-
#define BOARD_SAINSMART_2IN1 1119 // Sainsmart 2-in-1 board
76-
#define BOARD_ULTIMAKER 1120 // Ultimaker
77-
#define BOARD_ULTIMAKER_OLD 1121 // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
78-
#define BOARD_AZTEEG_X3 1122 // Azteeg X3
79-
#define BOARD_AZTEEG_X3_PRO 1123 // Azteeg X3 Pro
80-
#define BOARD_ULTIMAIN_2 1124 // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
81-
#define BOARD_RUMBA 1125 // Rumba
82-
#define BOARD_RUMBA_RAISE3D 1126 // Raise3D N series Rumba derivative
83-
#define BOARD_RL200 1127 // Rapide Lite 200 (v1, low-cost RUMBA clone with drv)
84-
#define BOARD_FORMBOT_TREX2PLUS 1128 // Formbot T-Rex 2 Plus
85-
#define BOARD_FORMBOT_TREX3 1129 // Formbot T-Rex 3
86-
#define BOARD_FORMBOT_RAPTOR 1130 // Formbot Raptor
87-
#define BOARD_FORMBOT_RAPTOR2 1131 // Formbot Raptor 2
88-
#define BOARD_BQ_ZUM_MEGA_3D 1132 // bq ZUM Mega 3D
89-
#define BOARD_MAKEBOARD_MINI 1133 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake
90-
#define BOARD_TRIGORILLA_13 1134 // TriGorilla Anycubic version 1.3-based on RAMPS EFB
91-
#define BOARD_TRIGORILLA_14 1135 // ... Ver 1.4
92-
#define BOARD_TRIGORILLA_14_11 1136 // ... Rev 1.1 (new servo pin order)
93-
#define BOARD_RAMPS_ENDER_4 1137 // Creality: Ender-4, CR-8
94-
#define BOARD_RAMPS_CREALITY 1138 // Creality: CR10S, CR20, CR-X
95-
#define BOARD_DAGOMA_F5 1139 // Dagoma F5
96-
#define BOARD_FYSETC_F6_13 1140 // FYSETC F6 1.3
97-
#define BOARD_FYSETC_F6_14 1141 // FYSETC F6 1.4
98-
#define BOARD_DUPLICATOR_I3_PLUS 1142 // Wanhao Duplicator i3 Plus
99-
#define BOARD_VORON 1143 // VORON Design
100-
#define BOARD_TRONXY_V3_1_0 1144 // Tronxy TRONXY-V3-1.0
101-
#define BOARD_Z_BOLT_X_SERIES 1145 // Z-Bolt X Series
102-
#define BOARD_TT_OSCAR 1146 // TT OSCAR
103-
#define BOARD_OVERLORD 1147 // Overlord/Overlord Pro
104-
#define BOARD_HJC2560C_REV1 1148 // ADIMLab Gantry v1
105-
#define BOARD_HJC2560C_REV2 1149 // ADIMLab Gantry v2
106-
#define BOARD_TANGO 1150 // BIQU Tango V1
107-
#define BOARD_MKS_GEN_L_V2 1151 // MKS GEN L V2
108-
#define BOARD_MKS_GEN_L_V21 1152 // MKS GEN L V2.1
109-
#define BOARD_COPYMASTER_3D 1153 // Copymaster 3D
110-
#define BOARD_ORTUR_4 1154 // Ortur 4
111-
#define BOARD_TENLOG_D3_HERO 1155 // Tenlog D3 Hero IDEX printer
112-
#define BOARD_RAMPS_S_12_EEFB 1156 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed)
113-
#define BOARD_RAMPS_S_12_EEEB 1157 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Hotend2, Bed)
114-
#define BOARD_RAMPS_S_12_EFFB 1158 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend, Fan0, Fan1, Bed)
72+
#define BOARD_ZRIB_V52 1116 // zrib V5.2 control board (Chinese knock off RAMPS replica)
73+
#define BOARD_FELIX2 1117 // Felix 2.0+ Electronics Board (RAMPS like)
74+
#define BOARD_RIGIDBOARD 1118 // Invent-A-Part RigidBoard
75+
#define BOARD_RIGIDBOARD_V2 1119 // Invent-A-Part RigidBoard V2
76+
#define BOARD_SAINSMART_2IN1 1120 // Sainsmart 2-in-1 board
77+
#define BOARD_ULTIMAKER 1121 // Ultimaker
78+
#define BOARD_ULTIMAKER_OLD 1122 // Ultimaker (Older electronics. Pre 1.5.4. This is rare)
79+
#define BOARD_AZTEEG_X3 1123 // Azteeg X3
80+
#define BOARD_AZTEEG_X3_PRO 1124 // Azteeg X3 Pro
81+
#define BOARD_ULTIMAIN_2 1125 // Ultimainboard 2.x (Uses TEMP_SENSOR 20)
82+
#define BOARD_RUMBA 1126 // Rumba
83+
#define BOARD_RUMBA_RAISE3D 1127 // Raise3D N series Rumba derivative
84+
#define BOARD_RL200 1128 // Rapide Lite 200 (v1, low-cost RUMBA clone with drv)
85+
#define BOARD_FORMBOT_TREX2PLUS 1129 // Formbot T-Rex 2 Plus
86+
#define BOARD_FORMBOT_TREX3 1130 // Formbot T-Rex 3
87+
#define BOARD_FORMBOT_RAPTOR 1131 // Formbot Raptor
88+
#define BOARD_FORMBOT_RAPTOR2 1132 // Formbot Raptor 2
89+
#define BOARD_BQ_ZUM_MEGA_3D 1133 // bq ZUM Mega 3D
90+
#define BOARD_MAKEBOARD_MINI 1134 // MakeBoard Mini v2.1.2 is a control board sold by MicroMake
91+
#define BOARD_TRIGORILLA_13 1135 // TriGorilla Anycubic version 1.3-based on RAMPS EFB
92+
#define BOARD_TRIGORILLA_14 1136 // ... Ver 1.4
93+
#define BOARD_TRIGORILLA_14_11 1137 // ... Rev 1.1 (new servo pin order)
94+
#define BOARD_RAMPS_ENDER_4 1138 // Creality: Ender-4, CR-8
95+
#define BOARD_RAMPS_CREALITY 1139 // Creality: CR10S, CR20, CR-X
96+
#define BOARD_DAGOMA_F5 1140 // Dagoma F5
97+
#define BOARD_FYSETC_F6_13 1141 // FYSETC F6 1.3
98+
#define BOARD_FYSETC_F6_14 1142 // FYSETC F6 1.4
99+
#define BOARD_DUPLICATOR_I3_PLUS 1143 // Wanhao Duplicator i3 Plus
100+
#define BOARD_VORON 1144 // VORON Design
101+
#define BOARD_TRONXY_V3_1_0 1145 // Tronxy TRONXY-V3-1.0
102+
#define BOARD_Z_BOLT_X_SERIES 1146 // Z-Bolt X Series
103+
#define BOARD_TT_OSCAR 1147 // TT OSCAR
104+
#define BOARD_OVERLORD 1148 // Overlord/Overlord Pro
105+
#define BOARD_HJC2560C_REV1 1149 // ADIMLab Gantry v1
106+
#define BOARD_HJC2560C_REV2 1150 // ADIMLab Gantry v2
107+
#define BOARD_TANGO 1151 // BIQU Tango V1
108+
#define BOARD_MKS_GEN_L_V2 1152 // MKS GEN L V2
109+
#define BOARD_MKS_GEN_L_V21 1153 // MKS GEN L V2.1
110+
#define BOARD_COPYMASTER_3D 1154 // Copymaster 3D
111+
#define BOARD_ORTUR_4 1155 // Ortur 4
112+
#define BOARD_TENLOG_D3_HERO 1156 // Tenlog D3 Hero IDEX printer
113+
#define BOARD_RAMPS_S_12_EEFB 1157 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Fan, Bed)
114+
#define BOARD_RAMPS_S_12_EEEB 1158 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend0, Hotend1, Hotend2, Bed)
115+
#define BOARD_RAMPS_S_12_EFFB 1159 // Ramps S 1.2 by Sakul.cz (Power outputs: Hotend, Fan0, Fan1, Bed)
115116

116117
//
117118
// RAMBo and derivatives

Marlin/src/lcd/menu/menu_tramming.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* GNU General Public License for more details.
1717
*
1818
* 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/>.
19+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
2020
*
2121
*/
2222

Marlin/src/lcd/thermistornames.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
#define THERMISTOR_NAME "Zonestar (Tronxy X3A)"
6969
#elif THERMISTOR_ID == 502
7070
#define THERMISTOR_NAME "Zonestar (P802M Hot Bed)"
71+
#elif THERMISTOR_ID == 503
72+
#define THERMISTOR_NAME "Zonestar (Z8XM2 Bed)"
7173
#elif THERMISTOR_ID == 512
7274
#define THERMISTOR_NAME "RPW-Ultra"
7375
#elif THERMISTOR_ID == 6
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
// Zonestar (Z8XM2) Heated Bed thermistor. Added By AvanOsch
25+
// These are taken from the Zonestar settings in original Repetier firmware: Z8XM2_ZRIB_LCD12864_V51.zip
26+
const temp_entry_t temptable_503[] PROGMEM = {
27+
{ OV( 12), 300 },
28+
{ OV( 27), 270 },
29+
{ OV( 47), 250 },
30+
{ OV( 68), 230 },
31+
{ OV( 99), 210 },
32+
{ OV( 120), 200 },
33+
{ OV( 141), 190 },
34+
{ OV( 171), 180 },
35+
{ OV( 201), 170 },
36+
{ OV( 261), 160 },
37+
{ OV( 321), 150 },
38+
{ OV( 401), 140 },
39+
{ OV( 451), 130 },
40+
{ OV( 551), 120 },
41+
{ OV( 596), 110 },
42+
{ OV( 626), 105 },
43+
{ OV( 666), 100 },
44+
{ OV( 697), 90 },
45+
{ OV( 717), 85 },
46+
{ OV( 798), 69 },
47+
{ OV( 819), 65 },
48+
{ OV( 870), 55 },
49+
{ OV( 891), 51 },
50+
{ OV( 922), 39 },
51+
{ OV( 968), 28 },
52+
{ OV( 980), 23 },
53+
{ OV( 991), 17 },
54+
{ OV( 1001), 9 },
55+
{ OV(1021), -27 },
56+
{ OV(1023), -200}
57+
};

Marlin/src/module/thermistor/thermistors.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ typedef struct { int16_t value, celsius; } temp_entry_t;
7575
#if ANY_THERMISTOR_IS(502) // Unknown thermistor used by the Zonestar Průša P802M hot bed
7676
#include "thermistor_502.h"
7777
#endif
78+
#if ANY_THERMISTOR_IS(503) // Zonestar (Z8XM2) Heated Bed thermistor
79+
#include "thermistor_503.h"
80+
#endif
7881
#if ANY_THERMISTOR_IS(512) // 100k thermistor in RPW-Ultra hotend, Pull-up = 4.7 kOhm, "unknown model"
7982
#include "thermistor_512.h"
8083
#endif

Marlin/src/pins/pins.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@
104104
#elif MB(3DRAG)
105105
#include "ramps/pins_3DRAG.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
106106
#elif MB(K8200)
107-
#include "ramps/pins_K8200.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 (3DRAG)
107+
#include "ramps/pins_K8200.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
108108
#elif MB(K8400)
109-
#include "ramps/pins_K8400.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 (3DRAG)
109+
#include "ramps/pins_K8400.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
110110
#elif MB(K8600)
111111
#include "ramps/pins_K8600.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
112112
#elif MB(K8800)
113-
#include "ramps/pins_K8800.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 (3DRAG)
113+
#include "ramps/pins_K8800.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
114114
#elif MB(BAM_DICE)
115115
#include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
116116
#elif MB(BAM_DICE_DUE)
@@ -132,7 +132,9 @@
132132
#elif MB(KFB_2)
133133
#include "ramps/pins_BIQU_KFB_2.h" // ATmega2560 env:mega2560
134134
#elif MB(ZRIB_V20)
135-
#include "ramps/pins_ZRIB_V20.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560 (MKS_GEN_13)
135+
#include "ramps/pins_ZRIB_V20.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
136+
#elif MB(ZRIB_V52)
137+
#include "ramps/pins_ZRIB_V52.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
136138
#elif MB(FELIX2)
137139
#include "ramps/pins_FELIX2.h" // ATmega1280, ATmega2560 env:mega1280 env:mega2560
138140
#elif MB(RIGIDBOARD)
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
/**
2+
* Marlin 3D Printer Firmware
3+
* Copyright (c) 2020 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 <https://www.gnu.org/licenses/>.
20+
*
21+
*/
22+
#pragma once
23+
24+
/**
25+
* ZRIB V5.2 Based on MKS BASE v1.4 with A4982 stepper drivers and digital micro-stepping
26+
*/
27+
28+
#if HOTENDS > 2 || E_STEPPERS > 2
29+
#error "ZRIB V5.2 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
30+
#endif
31+
32+
#define BOARD_INFO_NAME "ZRIB V5.2"
33+
34+
#define MKS_BASE_VERSION 14
35+
#define IS_RAMPS_EFB
36+
37+
//
38+
// Heaters / Fans
39+
//
40+
#define FAN_PIN 9 // PH6 ** Pin18 ** PWM9
41+
#define FAN1_PIN 6
42+
43+
//
44+
// Extra Extruder / Stepper for V5.2
45+
//
46+
#define E2_STEP_PIN 4
47+
#define E2_DIR_PIN 5
48+
#define E2_ENABLE_PIN 22
49+
50+
#include "pins_MKS_BASE_common.h"
51+
52+
/*
53+
Available connectors on MKS BASE v1.4 (Basically same as ZRIB V5.2)
54+
55+
=======
56+
| GND |
57+
|-----| E0
58+
| 10 | (10) PB4 ** Pin23 ** PWM10
59+
|-----|
60+
| GND |
61+
|-----| E1
62+
| 7 | ( 7) PH4 ** Pin16 ** PWM7
63+
|-----|
64+
| GND |
65+
|-----| FAN
66+
| 9 | ( 9) PH6 ** Pin18 ** PWM9
67+
=======
68+
69+
=======
70+
| GND |
71+
|-----| Heated Bed
72+
| 8 | ( 8) PH5 ** Pin17 ** PWM8
73+
=======
74+
75+
==========
76+
| 12-24V |
77+
|--------| Power
78+
| GND |
79+
==========
80+
81+
XS3 Connector
82+
=================
83+
| 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
84+
|----|-----|----|
85+
| 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
86+
=================
87+
88+
Servos Connector
89+
=================
90+
| 11 | GND | 5V | (11) PB5 ** Pin24 ** PWM11
91+
|----|-----|----|
92+
| 12 | GND | 5V | (12) PB6 ** Pin25 ** PWM12
93+
=================
94+
95+
ICSP
96+
=================
97+
| 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
98+
|----|----|-----|
99+
| 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
100+
================= (52) PB1 ** Pin20 ** SPI_SCK
101+
102+
XS6/AUX-1 Connector
103+
======================
104+
| 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
105+
|----|-----|----|----|
106+
| 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
107+
====================== (51) PB2 ** Pin21 ** SPI_MOSI
108+
(52) PB1 ** Pin20 ** SPI_SCK
109+
(21) PD0 ** Pin43 ** I2C_SCL
110+
111+
Temperature
112+
==================================
113+
| GND | 69 | GND | 68 | GND | 67 |
114+
==================================
115+
(69) PK7 ** Pin82 ** A15
116+
(68) PK6 ** Pin83 ** A14
117+
(67) PK5 ** Pin84 ** A13
118+
119+
Limit Switches
120+
============
121+
| 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
122+
|----|-----|
123+
| 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
124+
|----|-----|
125+
| 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
126+
|----|-----|
127+
| 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
128+
|----|-----|
129+
| 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
130+
|----|-----|
131+
| 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
132+
============
133+
134+
EXP1
135+
============
136+
| 37 | 35 | (37) PC0 ** Pin53 ** D37
137+
|-----|----| (35) PC2 ** Pin55 ** D35
138+
| 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
139+
|-----|----| (16) PH1 ** Pin13 ** USART2_TX
140+
| 23 | 25 | (23) PA1 ** Pin77 ** D23
141+
|-----|----| (25) PA3 ** Pin75 ** D25
142+
| 27 | 29 | (27) PA5 ** Pin73 ** D27
143+
|-----|----| (29) PA7 ** Pin71 ** D29
144+
| GND | 5V |
145+
============
146+
147+
EXP2
148+
============
149+
| 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
150+
|-----|----| (52) PB1 ** Pin20 ** SPI_SCK
151+
| 31 | 53 | (31) PC6 ** Pin59 ** D31
152+
|-----|----| (53) PB0 ** Pin19 ** SPI_SS
153+
| 33 | 51 | (33) PC4 ** Pin57 ** D33
154+
|-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
155+
| 49 | 41 | (49) PL0 ** Pin35 ** D49
156+
|-----|----| (41) PG0 ** Pin51 ** D41
157+
| GND | NC |
158+
============
159+
*/

0 commit comments

Comments
 (0)