aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/pins/esp32/pins_FYSETC_E4.h
diff options
context:
space:
mode:
Diffstat (limited to 'Marlin/src/pins/esp32/pins_FYSETC_E4.h')
-rw-r--r--Marlin/src/pins/esp32/pins_FYSETC_E4.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/Marlin/src/pins/esp32/pins_FYSETC_E4.h b/Marlin/src/pins/esp32/pins_FYSETC_E4.h
new file mode 100644
index 0000000..50a8587
--- /dev/null
+++ b/Marlin/src/pins/esp32/pins_FYSETC_E4.h
@@ -0,0 +1,126 @@
+/**
+ * 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
+
+/**
+ * FYSETC E4 pin assignments
+ * FYSETC E4 is a 3D printer control board based on the ESP32 microcontroller.
+ * Supports 4 stepper drivers, heated bed, single hotend.
+ */
+
+#ifndef ARDUINO_ARCH_ESP32
+ #error "Oops! Select an ESP32 board in 'Tools > Board.'"
+#elif EXTRUDERS > 1 || E_STEPPERS > 1
+ #error "FYSETC E4 only supports one E Stepper. Comment out this line to continue."
+#elif HOTENDS > 1
+ #error "FYSETC E4 only supports one hotend / E-stepper. Comment out this line to continue."
+#endif
+
+#define BOARD_INFO_NAME "FYSETC_E4"
+#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
+
+//
+// Disable I2S stepper stream
+//
+#undef I2S_STEPPER_STREAM
+#define I2S_WS -1
+#define I2S_BCK -1
+#define I2S_DATA -1
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 34
+#define Y_STOP_PIN 35
+#define Z_STOP_PIN 15
+
+//
+// Steppers
+//
+#define X_STEP_PIN 27
+#define X_DIR_PIN 26
+#define X_ENABLE_PIN 25
+
+#define Y_STEP_PIN 33
+#define Y_DIR_PIN 32
+#define Y_ENABLE_PIN X_ENABLE_PIN
+
+#define Z_STEP_PIN 14
+#define Z_DIR_PIN 12
+#define Z_ENABLE_PIN X_ENABLE_PIN
+
+#define E0_STEP_PIN 16
+#define E0_DIR_PIN 17
+#define E0_ENABLE_PIN X_ENABLE_PIN
+
+#if HAS_TMC_UART
+ //
+ // TMC2209 stepper drivers
+ //
+
+ //
+ // Hardware serial 1
+ //
+ #define X_HARDWARE_SERIAL Serial1
+ #define Y_HARDWARE_SERIAL Serial1
+ #define Z_HARDWARE_SERIAL Serial1
+ #define E0_HARDWARE_SERIAL Serial1
+
+ #define TMC_BAUD_RATE 115200
+#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 36 // Analog Input
+#define TEMP_BED_PIN 39 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 2
+#define FAN_PIN 13
+#define HEATER_BED_PIN 4
+
+//
+// MicroSD card
+//
+#define SD_MOSI_PIN 23
+#define SD_MISO_PIN 19
+#define SD_SCK_PIN 18
+#define SDSS 5
+#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
+
+/**
+ * Hardware serial pins
+ *
+ * Override these pins in Configuration.h or Configuration_adv.h if needed.
+ *
+ * Note: Serial2 can be defined using HARDWARE_SERIAL2_RX and HARDWARE_SERIAL2_TX
+ * but MRR ESPA does not have enough spare pins for such reassignment.
+ */
+#ifndef HARDWARE_SERIAL1_RX
+ #define HARDWARE_SERIAL1_RX 21
+#endif
+#ifndef HARDWARE_SERIAL1_TX
+ #define HARDWARE_SERIAL1_TX 22
+#endif