Skip to content

Commit

Permalink
MKS Robin E3 / E3D v1.1 (MarlinFirmware#20216)
Browse files Browse the repository at this point in the history
  • Loading branch information
mks-viva authored and RFBomb committed Dec 23, 2020
1 parent 1aac57b commit 7219ac8
Show file tree
Hide file tree
Showing 6 changed files with 181 additions and 29 deletions.
54 changes: 28 additions & 26 deletions Marlin/src/core/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -289,11 +289,11 @@
// STM32 ARM Cortex-M3
//

#define BOARD_MALYAN_M200_V2 4000 // STM32F070CB STM32F0 controller
#define BOARD_MALYAN_M200_V2 4000 // STM32F070CB controller
#define BOARD_MALYAN_M300 4001 // STM32F070-based delta
#define BOARD_STM32F103RE 4002 // STM32F103RE Libmaple-based STM32F1 controller
#define BOARD_MALYAN_M200 4003 // STM32C8T6 Libmaple-based STM32F1 controller
#define BOARD_STM3R_MINI 4004 // STM32F103RE Libmaple-based STM32F1 controller
#define BOARD_MALYAN_M200 4003 // STM32C8T6 Libmaple-based STM32F1 controller
#define BOARD_STM3R_MINI 4004 // STM32F103RE Libmaple-based STM32F1 controller
#define BOARD_GTM32_PRO_VB 4005 // STM32F103VET6 controller
#define BOARD_GTM32_MINI 4006 // STM32F103VET6 controller
#define BOARD_GTM32_MINI_A30 4007 // STM32F103VET6 controller
Expand All @@ -307,29 +307,31 @@
#define BOARD_MKS_ROBIN_LITE 4015 // MKS Robin Lite/Lite2 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_LITE3 4016 // MKS Robin Lite3 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_PRO 4017 // MKS Robin Pro (STM32F103ZET6)
#define BOARD_MKS_ROBIN_E3 4018 // MKS Robin E3 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3D 4019 // MKS Robin E3D (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3P 4020 // MKS Robin E3p (STM32F103VET6)
#define BOARD_BTT_SKR_MINI_V1_1 4021 // BigTreeTech SKR Mini v1.1 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_0 4022 // BigTreeTech SKR Mini E3 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_2 4023 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V2_0 4024 // BigTreeTech SKR Mini E3 V2.0 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_MZ_V1_0 4025 // BigTreeTech SKR Mini MZ V1.0 (STM32F103RC)
#define BOARD_BTT_SKR_E3_DIP 4026 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC / STM32F103RE)
#define BOARD_JGAURORA_A5S_A1 4027 // JGAurora A5S A1 (STM32F103ZET6)
#define BOARD_FYSETC_AIO_II 4028 // FYSETC AIO_II
#define BOARD_FYSETC_CHEETAH 4029 // FYSETC Cheetah
#define BOARD_FYSETC_CHEETAH_V12 4030 // FYSETC Cheetah V1.2
#define BOARD_LONGER3D_LK 4031 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6
#define BOARD_CCROBOT_MEEB_3DP 4032 // ccrobot-online.com MEEB_3DP (STM32F103RC)
#define BOARD_CHITU3D_V5 4033 // Chitu3D TronXY X5SA V5 Board
#define BOARD_CHITU3D_V6 4034 // Chitu3D TronXY X5SA V5 Board
#define BOARD_CREALITY_V4 4035 // Creality v4.x (STM32F103RE)
#define BOARD_CREALITY_V427 4036 // Creality v4.2.7 (STM32F103RE)
#define BOARD_TRIGORILLA_PRO 4037 // Trigorilla Pro (STM32F103ZET6)
#define BOARD_FLY_MINI 4038 // FLY MINI (STM32F103RCT6)
#define BOARD_FLSUN_HISPEED 4039 // FLSUN HiSpeedV1 (STM32F103VET6)
#define BOARD_BEAST 4040 // STM32F103RET6 Libmaple-based controller
#define BOARD_MKS_ROBIN_E3 4018 // MKS Robin E3 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3_V1_1 4019 // MKS Robin E3 V1.1 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3D 4020 // MKS Robin E3D (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3D_V1_1 4021 // MKS Robin E3D V1.1 (STM32F103RCT6)
#define BOARD_MKS_ROBIN_E3P 4022 // MKS Robin E3p (STM32F103VET6)
#define BOARD_BTT_SKR_MINI_V1_1 4023 // BigTreeTech SKR Mini v1.1 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_0 4024 // BigTreeTech SKR Mini E3 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V1_2 4025 // BigTreeTech SKR Mini E3 V1.2 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_E3_V2_0 4026 // BigTreeTech SKR Mini E3 V2.0 (STM32F103RC)
#define BOARD_BTT_SKR_MINI_MZ_V1_0 4027 // BigTreeTech SKR Mini MZ V1.0 (STM32F103RC)
#define BOARD_BTT_SKR_E3_DIP 4028 // BigTreeTech SKR E3 DIP V1.0 (STM32F103RC / STM32F103RE)
#define BOARD_JGAURORA_A5S_A1 4029 // JGAurora A5S A1 (STM32F103ZET6)
#define BOARD_FYSETC_AIO_II 4030 // FYSETC AIO_II
#define BOARD_FYSETC_CHEETAH 4031 // FYSETC Cheetah
#define BOARD_FYSETC_CHEETAH_V12 4032 // FYSETC Cheetah V1.2
#define BOARD_LONGER3D_LK 4033 // Alfawise U20/U20+/U30 (Longer3D LK1/2) / STM32F103VET6
#define BOARD_CCROBOT_MEEB_3DP 4034 // ccrobot-online.com MEEB_3DP (STM32F103RC)
#define BOARD_CHITU3D_V5 4035 // Chitu3D TronXY X5SA V5 Board
#define BOARD_CHITU3D_V6 4036 // Chitu3D TronXY X5SA V5 Board
#define BOARD_CREALITY_V4 4037 // Creality v4.x (STM32F103RE)
#define BOARD_CREALITY_V427 4038 // Creality v4.2.7 (STM32F103RE)
#define BOARD_TRIGORILLA_PRO 4039 // Trigorilla Pro (STM32F103ZET6)
#define BOARD_FLY_MINI 4040 // FLY MINI (STM32F103RCT6)
#define BOARD_FLSUN_HISPEED 4041 // FLSUN HiSpeedV1 (STM32F103VET6)
#define BOARD_BEAST 4042 // STM32F103RET6 Libmaple-based controller

//
// ARM Cortex-M4F
Expand Down
4 changes: 4 additions & 0 deletions Marlin/src/pins/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -552,8 +552,12 @@
#include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro
#elif MB(MKS_ROBIN_E3)
#include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3_V1_1)
#include "stm32f1/pins_MKS_ROBIN_E3_V1_1.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3D)
#include "stm32f1/pins_MKS_ROBIN_E3D.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3D_V1_1)
#include "stm32f1/pins_MKS_ROBIN_E3D_V1_1.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3P)
#include "stm32f1/pins_MKS_ROBIN_E3P.h" // STM32F1 env:mks_robin_e3p
#elif MB(BTT_SKR_MINI_V1_1)
Expand Down
67 changes: 67 additions & 0 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3D_V1_1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* MKS Robin E3D v1.1 (STM32F103RCT6) board pin assignments
*/

#if HOTENDS > 1 || E_STEPPERS > 1
#error "MKS Robin E3D v1.1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif

#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "MKS Robin E3D V1.1"
#endif

//
// Steppers
//
#ifndef X_CS_PIN
#define X_CS_PIN PC7
#endif
#ifndef Y_CS_PIN
#define Y_CS_PIN PD2
#endif
#ifndef Z_CS_PIN
#define Z_CS_PIN PC12
#endif
#ifndef E0_CS_PIN
#define E0_CS_PIN PC11
#endif

//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI PB15
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO PB14
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK PB13
#endif
#endif

#include "pins_MKS_ROBIN_E3_V1_1_common.h"
36 changes: 36 additions & 0 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_V1_1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* MKS Robin E3 v1.1 (STM32F103RCT6) board pin assignments
*/

#if HOTENDS > 1 || E_STEPPERS > 1
#error "MKS Robin E3 v1.1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif

#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "MKS Robin E3 V1.1"
#endif

#include "pins_MKS_ROBIN_E3_V1_1_common.h"
39 changes: 39 additions & 0 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_V1_1_common.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

//
// EEPROM
//
// Onboard I2C EEPROM
#if NO_EEPROM_SELECTED
#define I2C_EEPROM
#define MARLIN_EEPROM_SIZE 0x1000// 4KB
#undef NO_EEPROM_SELECTED
#endif

#define Z_STEP_PIN PC14
#define Z_DIR_PIN PC15

#define BTN_ENC_EN -1

#include "pins_MKS_ROBIN_E3_common.h"
10 changes: 7 additions & 3 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,12 @@
#define Y_DIR_PIN PB9
#define Y_ENABLE_PIN PB12

#define Z_STEP_PIN PB7
#define Z_DIR_PIN PB6
#ifndef Z_STEP_PIN
#define Z_STEP_PIN PB7
#endif
#ifndef Z_DIR_PIN
#define Z_DIR_PIN PB6
#endif
#define Z_ENABLE_PIN PB8

#define E0_STEP_PIN PB4
Expand Down Expand Up @@ -161,7 +165,7 @@
#define LCD_PINS_D6 PC4
#define LCD_PINS_D7 PC5

#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#if !defined(BTN_ENC_EN) && ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif

Expand Down

0 comments on commit 7219ac8

Please sign in to comment.