aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/pins/sanguino
diff options
context:
space:
mode:
authorGeorgiy Bondarenko <69736697+nehilo@users.noreply.github.com>2021-03-04 20:54:23 +0300
committerGeorgiy Bondarenko <69736697+nehilo@users.noreply.github.com>2021-03-04 20:54:23 +0300
commite8701195e66f2d27ffe17fb514eae8173795aaf7 (patch)
tree9f519c4abf6556b9ae7190a6210d87ead1dfadde /Marlin/src/pins/sanguino
downloadkp3s-lgvl-e8701195e66f2d27ffe17fb514eae8173795aaf7.tar.xz
kp3s-lgvl-e8701195e66f2d27ffe17fb514eae8173795aaf7.zip
Initial commit
Diffstat (limited to 'Marlin/src/pins/sanguino')
-rw-r--r--Marlin/src/pins/sanguino/pins_ANET_10.h289
-rw-r--r--Marlin/src/pins/sanguino/pins_AZTEEG_X1.h30
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h99
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN3_PLUS.h99
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN6.h121
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h54
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN7_12.h147
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN7_13.h54
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN7_14.h120
-rw-r--r--Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h140
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI.h32
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h143
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI_MAKR3D.h29
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h58
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h65
-rw-r--r--Marlin/src/pins/sanguino/pins_MELZI_V2.h39
-rw-r--r--Marlin/src/pins/sanguino/pins_OMCA.h149
-rw-r--r--Marlin/src/pins/sanguino/pins_OMCA_A.h135
-rw-r--r--Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h344
-rw-r--r--Marlin/src/pins/sanguino/pins_SANGUINOLOLU_12.h42
-rw-r--r--Marlin/src/pins/sanguino/pins_SETHI.h124
-rw-r--r--Marlin/src/pins/sanguino/pins_STB_11.h30
-rw-r--r--Marlin/src/pins/sanguino/pins_ZMIB_V2.h234
23 files changed, 2577 insertions, 0 deletions
diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h
new file mode 100644
index 0000000..fb1b6db
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_ANET_10.h
@@ -0,0 +1,289 @@
+/**
+ * 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
+
+/**
+ * Anet V1.0 board pin assignments
+ */
+
+/**
+ * Rev B 16 JUN 2017
+ *
+ * 1) no longer uses Sanguino files to define some of the pins
+ * 2) added pointers to useable Arduino IDE extensions
+ */
+
+/**
+ * The standard Arduino IDE extension (board manager) for this board
+ * is located at https://github.com/SkyNet3D/anet-board.
+ *
+ * Installation instructions are on that page.
+ *
+ * After copying the files to the appropriate location, restart Arduino and
+ * you'll see "Anet V1.0" and "Anet V1.0 (Optiboot)" in the boards list.
+ *
+ * "Anet V1.0" uses the bootloader that was installed on the board when
+ * it shipped from the factory.
+ *
+ * "Anet V1.0 (Optiboot)" frees up another 3K of FLASH. You'll need to burn
+ * a new bootloader to the board to be able to automatically download a
+ * compiled image.
+ */
+
+/**
+ * Another usable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+/**
+ * To burn a new bootloader:
+ *
+ * 1. Connect your programmer to the board.
+ * 2. In the Arduino IDE select the board and then select the programmer.
+ * 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
+ * 4. The programmer is no longer needed. Remove it.
+ */
+
+/**
+ * Additional info:
+ *
+ * Anet Schematics - https://github.com/ralf-e/ANET-3D-Board-V1.0
+ * Wiring RRDFG Smart Controller - https://www.thingiverse.com/thing:2103748
+ * SkyNet3D Anet software development - https://github.com/SkyNet3D/Marlin/
+ * Anet Users / Skynet SW on Facebook - https://www.facebook.com/skynet3ddevelopment/
+ *
+ * Many thanks to Hans Raaf (@oderwat) for developing the Anet-specific software and supporting the Anet community.
+ */
+
+#if NOT_TARGET(__AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Board' and 'ATmega1284P' in 'Tools > Processor.' (For PlatformIO, use 'melzi' or 'melzi_optiboot.')"
+#endif
+
+#define BOARD_INFO_NAME "Anet 1.0"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 18
+#define Y_STOP_PIN 19
+#define Z_STOP_PIN 20
+
+//
+// Steppers
+//
+#define X_STEP_PIN 15
+#define X_DIR_PIN 21
+#define X_ENABLE_PIN 14
+
+#define Y_STEP_PIN 22
+#define Y_DIR_PIN 23
+#define Y_ENABLE_PIN 14
+
+#define Z_STEP_PIN 3
+#define Z_DIR_PIN 2
+#define Z_ENABLE_PIN 26
+
+#define E0_STEP_PIN 1
+#define E0_DIR_PIN 0
+#define E0_ENABLE_PIN 14
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 7 // Analog Input (pin 33 extruder)
+#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 13 // (extruder)
+#define HEATER_BED_PIN 12 // (bed)
+
+#ifndef FAN_PIN
+ #define FAN_PIN 4
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 31
+#define LED_PIN -1
+
+/**
+ * LCD / Controller
+ *
+ * Only the following displays are supported:
+ * ZONESTAR_LCD
+ * ANET_FULL_GRAPHICS_LCD(_ALT_WIRING)?
+ * REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+ */
+
+#if HAS_WIRED_LCD
+
+ #define LCD_SDSS 28
+
+ #if HAS_ADC_BUTTONS
+
+ #define SERVO0_PIN 27 // free for BLTouch/3D-Touch
+ #define LCD_PINS_RS 28
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 10
+ #define LCD_PINS_D5 11
+ #define LCD_PINS_D6 16
+ #define LCD_PINS_D7 17
+ #define ADC_KEYPAD_PIN 1
+
+ #elif IS_RRD_FG_SC
+
+ // Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics
+ // display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb
+ // See below for alternative pin definitions for use with https://www.thingiverse.com/thing:2103748
+
+ #if ENABLED(ANET_FULL_GRAPHICS_LCD_ALT_WIRING)
+ #define SERVO0_PIN 30
+ #define BEEPER_PIN 27
+ #define LCD_PINS_RS 29
+ #define LCD_PINS_ENABLE 16
+ #define LCD_PINS_D4 11
+ #define BTN_EN1 28
+ #define BTN_EN2 10
+ #define BTN_ENC 17
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(250)
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(250)
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(250)
+ #else
+ #define SERVO0_PIN 29 // free for BLTouch/3D-Touch
+ #define BEEPER_PIN 17
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 28
+ #define LCD_PINS_D4 30
+ #define BTN_EN1 11
+ #define BTN_EN2 10
+ #define BTN_ENC 16
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(63)
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
+ #endif
+
+ #endif
+
+#else
+ #define SERVO0_PIN 27
+#endif
+
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN SERVO0_PIN
+#endif
+
+/**
+ * ====================================================================
+ * =============== Alternative RepRapDiscount Wiring ==================
+ * ====================================================================
+ *
+ * An alternative wiring scheme for the RepRapDiscount Full Graphics Display is
+ * published by oderwat on Thingiverse at https://www.thingiverse.com/thing:2103748.
+ *
+ * Using that adapter requires changing the pin definition as follows:
+ * #define SERVO0_PIN 27 // free for BLTouch/3D-Touch
+ * #define BEEPER_PIN 28
+ * #define LCD_PINS_RS 30
+ * #define LCD_PINS_ENABLE 29
+ * #define LCD_PINS_D4 17
+ *
+ * The BLTouch pin becomes LCD:3
+ */
+
+/**
+ * ====================================================================
+ * ===================== LCD PINOUTS ==================================
+ * ====================================================================
+ *
+ * Anet V1.0 controller | ZONESTAR_LCD | ANET_FULL_ | RepRapDiscount Full | Thingiverse RepRap wiring
+ * physical logical alt | | GRAPHICS_LCD | Graphics Display Wiring | https://www.thingiverse
+ * pin pin functions | | | | .com/thing:2103748
+ *------------------------------------------------------------------------------------------------------------------------
+ * ANET-J3.1 8 *** | N/A | J3_TX *** | |
+ * ANET-J3.2 9 *** | N/A | J3_RX *** | |
+ * ANET-J3.3 6 MISO | N/A | MISO *** | EXP2.1 MISO | EXP2.1 MISO
+ * ANET-J3.4 +5V | N/A | +5V | |
+ * ANET-J3.5 7 SCK | N/A | SCK *** | EXP2.2 SCK | EXP2.2 SCK
+ * ANET-J3.6 5 MOSI | N/A | MOSI *** | EXP2.6 MOSI | EXP2.6 MOSI
+ * ANET-J3.7 !RESET | N/A | button | EXP2.8 panel button | EXP2.8 panel button
+ * ANET-J3.8 GND | N/A | GND | EXP2.9 GND | EXP2.9 GND
+ * ANET-J3.9 4 Don't use | N/A | N/C | |
+ * ANET-J3.10 +3.3V | N/A | +3.3V *** | |
+ * | | | |
+ * | | | |
+ * ANET-LCD.1 GND | GND | GND | EXP1.9 GND | EXP1.9 GND
+ * ANET-LCD.2 +5V | +5V | +5V | EXP1.10 +5V | EXP1.10 +5V
+ * ANET-LCD.3 27 A4 | N/C * | LCD_PINS_RS | EXP1.4 LCD_PINS_RS | EXP2.4 SDSS or N/C *
+ * ANET-LCD.4 10 | LCD_PINS_D4 | BTN_EN2 | EXP2.3 BTN_EN2 | EXP2.3 BTN_EN2
+ * ANET-LCD.5 28 A3 | LCD_PINS_RS | LCD_PINS_ENABLE | EXP1.3 LCD_PINS_ENABLE | EXP1.1 BEEPER_PIN
+ * ANET-LCD.6 11 | LCD_PINS_D5 | BTN_EN1 | EXP2.5 BTN_EN1 | EXP2.5 BTN_EN1
+ * ANET-LCD.7 29 A2 | LCD_PINS_ENABLE | N/C * | EXP2.4 SDSS or N/C * | EXP1.3 LCD_PINS_ENABLE
+ * ANET-LCD.8 16 SCL | LCD_PINS_D6 | BTN_ENC | EXP1.2 BTN_ENC | EXP1.2 BTN_ENC
+ * ANET-LCD.9 30 A1 | ADC_KEYPAD_PIN ** | LCD_PINS_D4 | EXP1.5 LCD_PINS_D4 | EXP1.4 LCD_PINS_RS
+ * ANET-LCD.10 17 SDA | LCD_PINS_D7 | BEEPER_PIN | EXP1.1 BEEPER_PIN | EXP1.5 LCD_PINS_D4
+ *
+ * N/C * - if not connected to the LCD can be used for BLTouch servo input
+ * ** - analog pin -WITHOUT a pullup
+ * *** - only connected to something if the Bluetooth module is populated
+ */
+
+/**
+ * REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+ * physical pin function
+ * EXP1.1 BEEPER
+ * EXP1.2 BTN_ENC
+ * EXP1.3 LCD_PINS_ENABLE
+ * EXP1.4 LCD_PINS_RS
+ * EXP1.5 LCD_PINS_D4
+ * EXP1.6 LCD_PINS_D5 (not used)
+ * EXP1.7 LCD_PINS_D6 (not used)
+ * EXP1.8 LCD_PINS_D7 (not used)
+ * EXP1.9 GND
+ * EXP1.10 VCC
+ *
+ *
+ * EXP2.1 MISO
+ * EXP2.2 SCK
+ * EXP2.3 BTN_EN2
+ * EXP2.4 SDSS
+ * EXP2.5 BTN_EN1
+ * EXP2.6 MOSI
+ * EXP2.7 SD_DETECT_PIN
+ * EXP2.8 button
+ * EXP2.9 GND
+ * EXP2.10 NC
+ */
diff --git a/Marlin/src/pins/sanguino/pins_AZTEEG_X1.h b/Marlin/src/pins/sanguino/pins_AZTEEG_X1.h
new file mode 100644
index 0000000..c3c38eb
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_AZTEEG_X1.h
@@ -0,0 +1,30 @@
+/**
+ * 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
+
+/**
+ * Azteeg X1 pin assignments
+ */
+
+#define BOARD_INFO_NAME "Azteeg X1"
+
+#include "pins_SANGUINOLOLU_12.h"
diff --git a/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h
new file mode 100644
index 0000000..29905c1
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN3_MONOLITHIC.h
@@ -0,0 +1,99 @@
+/**
+ * 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
+
+/**
+ * Gen3 Monolithic Electronics pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Board.'"
+#endif
+
+#define BOARD_INFO_NAME "Gen3 Monolithic"
+#define DEBUG_PIN 0
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 20
+#define Y_STOP_PIN 25
+#define Z_STOP_PIN 30
+
+//
+// Steppers
+//
+#define X_STEP_PIN 15
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 24 // actually uses Y_enable_pin
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24 // shared with X_enable_pin
+
+#define Z_STEP_PIN 27
+#define Z_DIR_PIN 28
+#define Z_ENABLE_PIN 29
+
+#define E0_STEP_PIN 12
+#define E0_DIR_PIN 17
+#define E0_ENABLE_PIN 3
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 0 // Analog Input
+
+//
+// Heaters
+//
+#define HEATER_0_PIN 16
+
+//
+// Misc. Functions
+//
+#define PS_ON_PIN 14 // Alex, does this work on the card?
+
+// Alex extras from Gen3+
diff --git a/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h
new file mode 100644
index 0000000..33fc233
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN3_PLUS.h
@@ -0,0 +1,99 @@
+/**
+ * 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
+
+/**
+ * Gen3+ pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the SANGUINO board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Gen3+"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 20
+#define Y_STOP_PIN 25
+#define Z_STOP_PIN 30
+
+//
+// Steppers
+//
+#define X_STEP_PIN 15
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 19
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 27
+#define Z_DIR_PIN 28
+#define Z_ENABLE_PIN 29
+
+#define E0_STEP_PIN 17
+#define E0_DIR_PIN 21
+#define E0_ENABLE_PIN 13
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 0 // Analog Input (pin 33 extruder)
+#define TEMP_BED_PIN 5 // Analog Input (pin 34 bed)
+
+//
+// Heaters
+//
+#define HEATER_0_PIN 12
+#define HEATER_BED_PIN 16
+
+//
+// Misc. Functions
+//
+#define SDSS 4
+#define PS_ON_PIN 14
diff --git a/Marlin/src/pins/sanguino/pins_GEN6.h b/Marlin/src/pins/sanguino/pins_GEN6.h
new file mode 100644
index 0000000..bfca8e9
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN6.h
@@ -0,0 +1,121 @@
+/**
+ * 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
+
+/**
+ * Gen6 pin assignments
+ */
+
+ /**
+ * Rev B 26 DEC 2016
+ *
+ * 1) added pointer to a current Arduino IDE extension
+ * 2) added support for M3, M4 & M5 spindle control commands
+ * 3) added case light pin definition
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Gen6"
+#endif
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 20
+#define Y_STOP_PIN 25
+#define Z_STOP_PIN 30
+
+//
+// Steppers
+//
+#define X_STEP_PIN 15
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 19
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 27
+#define Z_DIR_PIN 28
+#define Z_ENABLE_PIN 29
+
+#define E0_STEP_PIN 4 // Edited @ EJE Electronics 20100715
+#define E0_DIR_PIN 2 // Edited @ EJE Electronics 20100715
+#define E0_ENABLE_PIN 3 // Added @ EJE Electronics 20100715
+
+//
+// Temperature Sensor
+//
+#define TEMP_0_PIN 5 // Analog Input
+
+//
+// Heaters
+//
+#define HEATER_0_PIN 14 // changed @ rkoeppl 20110410
+
+#if !MB(GEN6)
+ #define HEATER_BED_PIN 1 // changed @ rkoeppl 20110410
+ #define TEMP_BED_PIN 0 // Analog Input
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 17
+#define DEBUG_PIN 0
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 16 // Hardware PWM
+#endif
+
+// RS485 pins
+#define TX_ENABLE_PIN 12
+#define RX_ENABLE_PIN 13
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 5 // Pullup or pulldown!
+#define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
+#define SPINDLE_DIR_PIN 6
diff --git a/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h b/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h
new file mode 100644
index 0000000..9c63570
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN6_DELUXE.h
@@ -0,0 +1,54 @@
+/**
+ * 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
+
+/**
+ * Gen6 Deluxe pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the SANGUINO board and then select the CPU.
+ */
+
+
+#define BOARD_INFO_NAME "Gen6 Deluxe"
+
+#include "pins_GEN6.h"
diff --git a/Marlin/src/pins/sanguino/pins_GEN7_12.h b/Marlin/src/pins/sanguino/pins_GEN7_12.h
new file mode 100644
index 0000000..9db7d72
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN7_12.h
@@ -0,0 +1,147 @@
+/**
+ * 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
+
+/**
+ * Gen7 v1.1, v1.2, v1.3 pin assignments
+ */
+
+ /**
+ * Rev B 26 DEC 2016
+ *
+ * 1) added pointer to a current Arduino IDE extension
+ * 2) added support for M3, M4 & M5 spindle control commands
+ * 3) added case light pin definition
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Gen7 v1.1 / 1.2"
+#endif
+
+#ifndef GEN7_VERSION
+ #define GEN7_VERSION 12 // v1.x
+#endif
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 7
+#define Y_MIN_PIN 5
+#define Z_MIN_PIN 1
+#define Z_MAX_PIN 0
+#define Y_MAX_PIN 2
+#define X_MAX_PIN 6
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 0
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 19
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 26
+#define Z_DIR_PIN 25
+#define Z_ENABLE_PIN 24
+
+#define E0_STEP_PIN 28
+#define E0_DIR_PIN 27
+#define E0_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 1 // Analog Input
+#define TEMP_BED_PIN 2 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 4
+#define HEATER_BED_PIN 3
+
+#if !defined(FAN_PIN) && GEN7_VERSION < 13 // Gen7 v1.3 removed the fan pin
+ #define FAN_PIN 31
+#endif
+
+//
+// Misc. Functions
+//
+#define PS_ON_PIN 15
+
+#if GEN7_VERSION < 13
+ #define CASE_LIGHT_PIN 16 // Hardware PWM
+#else // Gen7 v1.3 removed the I2C connector & signals so need to get PWM off the PC power supply header
+ #define CASE_LIGHT_PIN 15 // Hardware PWM
+#endif
+
+// All these generations of Gen7 supply thermistor power
+// via PS_ON, so ignore bad thermistor readings
+//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
+
+#define DEBUG_PIN 0
+
+// RS485 pins
+#define TX_ENABLE_PIN 12
+#define RX_ENABLE_PIN 13
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 10 // Pullup or pulldown!
+#define SPINDLE_DIR_PIN 11
+#if GEN7_VERSION < 13
+ #define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
+#else // Gen7 v1.3 removed the I2C connector & signals so need to get PWM off the PC power supply header
+ #define SPINDLE_LASER_PWM_PIN 15 // Hardware PWM
+#endif
diff --git a/Marlin/src/pins/sanguino/pins_GEN7_13.h b/Marlin/src/pins/sanguino/pins_GEN7_13.h
new file mode 100644
index 0000000..55881aa
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN7_13.h
@@ -0,0 +1,54 @@
+/**
+ * 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
+
+/**
+ * Gen7 v1.3 pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#define BOARD_INFO_NAME "Gen7 v1.3"
+
+#define GEN7_VERSION 13 // v1.3
+#include "pins_GEN7_12.h"
diff --git a/Marlin/src/pins/sanguino/pins_GEN7_14.h b/Marlin/src/pins/sanguino/pins_GEN7_14.h
new file mode 100644
index 0000000..66dba53
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN7_14.h
@@ -0,0 +1,120 @@
+/**
+ * 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
+
+/**
+ * Gen7 v1.4 pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * 1) added pointer to a current Arduino IDE extension
+ * 2) added support for M3, M4 & M5 spindle control commands
+ * 3) added case light pin definition
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Gen7 v1.4"
+
+#define GEN7_VERSION 14 // v1.4
+
+//
+// Limit switches
+//
+#define X_STOP_PIN 0
+#define Y_STOP_PIN 1
+#define Z_STOP_PIN 2
+
+//
+// Steppers
+//
+#define X_STEP_PIN 29
+#define X_DIR_PIN 28
+#define X_ENABLE_PIN 25
+
+#define Y_STEP_PIN 27
+#define Y_DIR_PIN 26
+#define Y_ENABLE_PIN 25
+
+#define Z_STEP_PIN 23
+#define Z_DIR_PIN 22
+#define Z_ENABLE_PIN 25
+
+#define E0_STEP_PIN 19
+#define E0_DIR_PIN 18
+#define E0_ENABLE_PIN 25
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 1 // Analog Input
+#define TEMP_BED_PIN 0 // Analog Input
+
+//
+// Heaters
+//
+#define HEATER_0_PIN 4
+#define HEATER_BED_PIN 3
+
+//
+// Misc. Functions
+//
+#define PS_ON_PIN 15
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 15 // Hardware PWM
+#endif
+
+// A pin for debugging
+#define DEBUG_PIN 0
+
+// RS485 pins
+#define TX_ENABLE_PIN 12
+#define RX_ENABLE_PIN 13
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 20 // Pullup or pulldown!
+#define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
+#define SPINDLE_DIR_PIN 21
diff --git a/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h
new file mode 100644
index 0000000..0c4871f
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_GEN7_CUSTOM.h
@@ -0,0 +1,140 @@
+/**
+ * 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
+
+/**
+ * Gen7 Alfons3 board pin assignments
+ *
+ * These Pins are assigned for the modified GEN7 Board from Alfons3.
+ * Please review the pins and adjust them for your needs.
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * 1) added pointer to a current Arduino IDE extension
+ * 2) added support for M3, M4 & M5 spindle control commands
+ * 3) added case light pin definition
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Gen7 Custom"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 0
+#define Y_STOP_PIN 1
+#define Z_STOP_PIN 2
+
+//
+// Steppers
+//
+#define X_STEP_PIN 21 // different from standard GEN7
+#define X_DIR_PIN 20 // different from standard GEN7
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 26
+#define Z_DIR_PIN 25
+#define Z_ENABLE_PIN 24
+
+#define E0_STEP_PIN 28
+#define E0_DIR_PIN 27
+#define E0_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 2 // Analog Input
+#define TEMP_BED_PIN 1 // Analog Input (pin 34 bed)
+
+//
+// Heaters
+//
+#define HEATER_0_PIN 4
+#define HEATER_BED_PIN 3 // (bed)
+
+//
+// Misc. Functions
+//
+#define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
+#define PS_ON_PIN 19
+
+#ifndef CASE_LIGHT_PIN
+ #define CASE_LIGHT_PIN 15 // Hardware PWM
+#endif
+
+// A pin for debugging
+#define DEBUG_PIN -1
+
+//
+// LCD / Controller
+//
+#define BEEPER_PIN -1
+
+// 4bit LCD Support
+#define LCD_PINS_RS 18
+#define LCD_PINS_ENABLE 17
+#define LCD_PINS_D4 16
+#define LCD_PINS_D5 15
+#define LCD_PINS_D6 13
+#define LCD_PINS_D7 14
+
+// Buttons are directly attached
+#define BTN_EN1 11
+#define BTN_EN2 10
+#define BTN_ENC 12
+
+// RS485 pins
+//#define TX_ENABLE_PIN 12
+//#define RX_ENABLE_PIN 13
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#define SPINDLE_LASER_ENA_PIN 5 // Pullup or pulldown!
+#define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
+#define SPINDLE_DIR_PIN 6
diff --git a/Marlin/src/pins/sanguino/pins_MELZI.h b/Marlin/src/pins/sanguino/pins_MELZI.h
new file mode 100644
index 0000000..887aae1
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI.h
@@ -0,0 +1,32 @@
+/**
+ * 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
+
+/**
+ * Melzi pin assignments
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Melzi"
+#endif
+
+#include "pins_SANGUINOLOLU_12.h"
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
new file mode 100644
index 0000000..97db36d
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
@@ -0,0 +1,143 @@
+/**
+ * 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
+
+/**
+ * Melzi (Creality) pin assignments
+ *
+ * The Creality board needs a bootloader installed before Marlin can be uploaded.
+ * If you don't have a chip programmer you can use a spare Arduino plus a few
+ * electronic components to write the bootloader.
+ *
+ * See https://www.instructables.com/id/Burn-Arduino-Bootloader-with-Arduino-MEGA/
+ *
+ * Schematic: https://bit.ly/2XOnsWb
+ */
+
+#define BOARD_INFO_NAME "Melzi (Creality)"
+
+// Alter timing for graphical display
+#if HAS_MARLINUI_U8GLIB
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
+ #endif
+#endif
+
+#include "pins_MELZI.h"
+
+//
+// For the stock CR-10 enable CR10_STOCKDISPLAY in Configuration.h
+//
+#undef LCD_SDSS
+#undef LED_PIN
+#undef LCD_PINS_RS
+#undef LCD_PINS_ENABLE
+#undef LCD_PINS_D4
+#undef LCD_PINS_D5
+#undef LCD_PINS_D6
+#undef LCD_PINS_D7
+
+#define LCD_SDSS 31 // Smart Controller SD card reader (rather than the Melzi)
+#define LCD_PINS_RS 28 // ST9720 CS
+#define LCD_PINS_ENABLE 17 // ST9720 DAT
+#define LCD_PINS_D4 30 // ST9720 CLK
+
+#if ENABLED(BLTOUCH)
+ #define SERVO0_PIN 27
+ #undef BEEPER_PIN
+#elif ENABLED(FILAMENT_RUNOUT_SENSOR)
+ #ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 27
+ #endif
+ #if FIL_RUNOUT_PIN == BEEPER_PIN
+ #undef BEEPER_PIN
+ #endif
+#endif
+
+#if ENABLED(MINIPANEL)
+ #undef DOGLCD_CS
+ #define DOGLCD_CS LCD_PINS_RS
+#endif
+
+/**
+ PIN: 0 Port: B0 E0_DIR_PIN protected
+ PIN: 1 Port: B1 E0_STEP_PIN protected
+ PIN: 2 Port: B2 Z_DIR_PIN protected
+ PIN: 3 Port: B3 Z_STEP_PIN protected
+ PIN: 4 Port: B4 AVR_SS_PIN protected
+ . FAN_PIN protected
+ . SD_SS_PIN protected
+ PIN: 5 Port: B5 AVR_MOSI_PIN Output = 1
+ . SD_MOSI_PIN Output = 1
+ PIN: 6 Port: B6 AVR_MISO_PIN Input = 0 TIMER3A PWM: 0 WGM: 1 COM3A: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0
+ . SD_MISO_PIN Input = 0
+ PIN: 7 Port: B7 AVR_SCK_PIN Output = 0 TIMER3B PWM: 0 WGM: 1 COM3B: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0
+ . SD_SCK_PIN Output = 0
+ PIN: 8 Port: D0 RXD Input = 1
+ PIN: 9 Port: D1 TXD Input = 0
+ PIN: 10 Port: D2 BTN_EN2 Input = 1
+ PIN: 11 Port: D3 BTN_EN1 Input = 1
+ PIN: 12 Port: D4 HEATER_BED_PIN protected
+ PIN: 13 Port: D5 HEATER_0_PIN protected
+ PIN: 14 Port: D6 E0_ENABLE_PIN protected
+ . X_ENABLE_PIN protected
+ . Y_ENABLE_PIN protected
+ PIN: 15 Port: D7 X_STEP_PIN protected
+ PIN: 16 Port: C0 BTN_ENC Input = 1
+ . SCL Input = 1
+ PIN: 17 Port: C1 LCD_PINS_ENABLE Output = 0
+ . SDA Output = 0
+ PIN: 18 Port: C2 X_MIN_PIN protected
+ . X_STOP_PIN protected
+ PIN: 19 Port: C3 Y_MIN_PIN protected
+ . Y_STOP_PIN protected
+ PIN: 20 Port: C4 Z_MIN_PIN protected
+ . Z_STOP_PIN protected
+ PIN: 21 Port: C5 X_DIR_PIN protected
+ PIN: 22 Port: C6 Y_STEP_PIN protected
+ PIN: 23 Port: C7 Y_DIR_PIN protected
+ PIN: 24 Port: A7 TEMP_0_PIN protected
+ PIN: 25 Port: A6 TEMP_BED_PIN protected
+ PIN: 26 Port: A5 Z_ENABLE_PIN protected
+ PIN: 27 Port: A4 BEEPER_PIN Output = 0
+ PIN: 28 Port: A3 LCD_PINS_RS Output = 0
+ PIN: 29 Port: A2 <unused/unknown> Input = 0
+ PIN: 30 Port: A1 LCD_PINS_D4 Output = 1
+ PIN: 31 Port: A0 SDSS Output = 1
+*/
+
+/**
+ * EXP1 Connector EXP1 as CR10 STOCKDISPLAY
+ * _____ _____
+ * PA4 | 6 5 | PC0 BEEPER_PIN | 6 5 | BTN_ENC
+ * PD3 | 7 4 | RESET BTN_EN1 | 7 4 | RESET
+ * PD2 8 3 | PA1 BTN_EN2 8 3 | LCD_PINS_D4 (ST9720 CLK)
+ * PA3 | 9 2 | PC1 (ST9720 CS) LCD_PINS_RS | 9 2 | LCD_PINS_ENABLE (ST9720 DAT)
+ * GND |10 1 | 5V GND |10 1 | 5V
+ * ----- -----
+ */
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_MAKR3D.h b/Marlin/src/pins/sanguino/pins_MELZI_MAKR3D.h
new file mode 100644
index 0000000..0e09c1f
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI_MAKR3D.h
@@ -0,0 +1,29 @@
+/**
+ * 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
+
+/**
+ * Melzi with ATmega1284 (MaKr3d version) pin assignments
+ */
+
+#define BOARD_INFO_NAME "Melzi (ATmega1284)"
+#include "pins_MELZI.h"
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
new file mode 100644
index 0000000..8b4faee
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
@@ -0,0 +1,58 @@
+/**
+ * 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
+
+/**
+ * Melzi (Malyan M150) pin assignments
+ */
+
+#define BOARD_INFO_NAME "Melzi (Malyan)"
+
+// Alter timing for graphical display
+#if HAS_MARLINUI_U8GLIB
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
+ #endif
+#endif
+
+#include "pins_MELZI.h"
+
+#undef LCD_SDSS
+#undef LCD_PINS_RS
+#undef LCD_PINS_ENABLE
+#undef LCD_PINS_D4
+#undef BTN_EN1
+#undef BTN_EN2
+#undef BTN_ENC
+
+#define LCD_PINS_RS 17 // ST9720 CS
+#define LCD_PINS_ENABLE 16 // ST9720 DAT
+#define LCD_PINS_D4 11 // ST9720 CLK
+#define BTN_EN1 30
+#define BTN_EN2 29
+#define BTN_ENC 28
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
new file mode 100644
index 0000000..f878941
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
@@ -0,0 +1,65 @@
+/**
+ * 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
+
+/**
+ * Melzi pin assignments
+ */
+
+#define BOARD_INFO_NAME "Melzi (Tronxy)"
+
+#if HAS_MARLINUI_U8GLIB
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
+ #endif
+#endif
+
+#include "pins_MELZI.h"
+
+#undef Z_ENABLE_PIN
+#undef LCD_PINS_RS
+#undef LCD_PINS_ENABLE
+#undef LCD_PINS_D4
+#undef LCD_PINS_D5
+#undef LCD_PINS_D6
+#undef LCD_PINS_D7
+#undef BTN_EN1
+#undef BTN_EN2
+#undef BTN_ENC
+#undef LCD_SDSS
+
+#define Z_ENABLE_PIN 14
+#define LCD_PINS_RS 30
+#define LCD_PINS_ENABLE 28
+#define LCD_PINS_D4 16
+#define LCD_PINS_D5 17
+#define LCD_PINS_D6 27
+#define LCD_PINS_D7 29
+#define BTN_EN1 10
+#define BTN_EN2 11
+#define BTN_ENC 26
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_V2.h b/Marlin/src/pins/sanguino/pins_MELZI_V2.h
new file mode 100644
index 0000000..275498d
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_MELZI_V2.h
@@ -0,0 +1,39 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * 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
+
+/**
+ * Melzi V2.0 as found at https://www.reprap.org/wiki/Melzi
+ */
+
+#define BOARD_INFO_NAME "Melzi V2"
+
+#if HAS_MARLINUI_U8GLIB
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(188)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
+ #endif
+#endif
+
+#include "pins_MELZI.h"
diff --git a/Marlin/src/pins/sanguino/pins_OMCA.h b/Marlin/src/pins/sanguino/pins_OMCA.h
new file mode 100644
index 0000000..7f18283
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_OMCA.h
@@ -0,0 +1,149 @@
+/**
+ * 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
+
+/**
+ * Open Motion controller with enable based extruders (Final!)
+ *
+ * ATmega644
+ *
+ * +---\/---+
+ * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
+ * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
+ * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
+ * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
+ * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
+ * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
+ * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
+ * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
+ * RST 9| |32 AREF
+ * VCC 10| |31 GND
+ * GND 11| |30 AVCC
+ * XTAL2 12| |29 PC7 (D 23)
+ * XTAL1 13| |28 PC6 (D 22)
+ * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
+ * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
+ * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
+ * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
+ * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
+ * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
+ * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
+ * +--------+
+ *
+ * REF http://sanguino.wikidot.com/hardware
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at http://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Board' and 'ATmega644' or 'ATmega644P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Final OMCA"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 0
+#define Y_STOP_PIN 1
+#define Z_STOP_PIN 2
+
+//
+// Steppers
+//
+#define X_STEP_PIN 26
+#define X_DIR_PIN 25
+#define X_ENABLE_PIN 10
+
+#define Y_STEP_PIN 28
+#define Y_DIR_PIN 27
+#define Y_ENABLE_PIN 10
+
+#define Z_STEP_PIN 23
+#define Z_DIR_PIN 22
+#define Z_ENABLE_PIN 10
+
+#define E0_STEP_PIN 24
+#define E0_DIR_PIN 21
+#define E0_ENABLE_PIN 10
+
+#define E1_STEP_PIN -1 // 21
+#define E1_DIR_PIN -1 // 20
+#define E1_ENABLE_PIN -1 // 19
+
+#define E2_STEP_PIN -1 // 21
+#define E2_DIR_PIN -1 // 20
+#define E2_ENABLE_PIN -1 // 18
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 0 // Analog Input
+#define TEMP_1_PIN 1 // Analog Input
+#define TEMP_BED_PIN 2 // Analog Input (1,2 or I2C)
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 3 // DONE PWM on RIGHT connector
+#define HEATER_BED_PIN 4
+
+#ifndef FAN_PIN
+ #define FAN_PIN 14 // PWM on MIDDLE connector
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 11
+
+#define I2C_SCL_PIN 16
+#define I2C_SDA_PIN 17
+
+// future proofing
+#define __FS 20
+#define __FD 19
+#define __GS 18
+#define __GD 13
+
+#define UNUSED_PWM 14 // PWM on LEFT connector
diff --git a/Marlin/src/pins/sanguino/pins_OMCA_A.h b/Marlin/src/pins/sanguino/pins_OMCA_A.h
new file mode 100644
index 0000000..7707320
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_OMCA_A.h
@@ -0,0 +1,135 @@
+/**
+ * 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
+
+/**
+ * Open Motion controller with enable based extruders (Alpha!)
+ *
+ * ATmega644
+ *
+ * +---\/---+
+ * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
+ * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
+ * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
+ * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
+ * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
+ * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
+ * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
+ * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
+ * RST 9| |32 AREF
+ * VCC 10| |31 GND
+ * GND 11| |30 AVCC
+ * XTAL2 12| |29 PC7 (D 23)
+ * XTAL1 13| |28 PC6 (D 22)
+ * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
+ * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
+ * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
+ * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
+ * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
+ * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
+ * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
+ * +--------+
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Board' and ATmega644 in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Alpha OMCA"
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 0
+#define Y_STOP_PIN 1
+#define Z_STOP_PIN 2
+
+//
+// Steppers
+//
+#define X_STEP_PIN 21
+#define X_DIR_PIN 20
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 26
+#define Z_DIR_PIN 25
+#define Z_ENABLE_PIN 24
+
+#define E0_STEP_PIN 28
+#define E0_DIR_PIN 27
+#define E0_ENABLE_PIN 24
+
+#define E1_STEP_PIN -1 // 19
+#define E1_DIR_PIN -1 // 18
+#define E1_ENABLE_PIN 24
+
+#define E2_STEP_PIN -1 // 17
+#define E2_DIR_PIN -1 // 16
+#define E2_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 0 // Analog Input (D27)
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 4
+
+#ifndef FAN_PIN
+ #define FAN_PIN 3
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 11
+
+/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
new file mode 100644
index 0000000..af27159
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
@@ -0,0 +1,344 @@
+/**
+ * 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
+
+/**
+ * Sanguinololu board pin assignments
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * 1) added pointer to a current Arduino IDE extension
+ * 2) added support for M3, M4 & M5 spindle control commands
+ * 3) added case light pin definition
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Sanguinololu <1.2"
+#endif
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 18
+#define Y_STOP_PIN 19
+#define Z_STOP_PIN 20
+
+//
+// Steppers
+//
+#define X_STEP_PIN 15
+#define X_DIR_PIN 21
+
+#define Y_STEP_PIN 22
+#define Y_DIR_PIN 23
+
+#define Z_STEP_PIN 3
+#define Z_DIR_PIN 2
+
+#define E0_STEP_PIN 1
+#define E0_DIR_PIN 0
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 7 // Analog Input (pin 33 extruder)
+#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 13 // (extruder)
+
+#if ENABLED(SANGUINOLOLU_V_1_2)
+
+ #define HEATER_BED_PIN 12 // (bed)
+ #define X_ENABLE_PIN 14
+ #define Y_ENABLE_PIN 14
+ #define Z_ENABLE_PIN 26
+ #define E0_ENABLE_PIN 14
+
+ #if !defined(FAN_PIN) && ENABLED(LCD_I2C_PANELOLU2)
+ #define FAN_PIN 4 // Uses Transistor1 (PWM) on Panelolu2's Sanguino Adapter Board to drive the fan
+ #endif
+
+#else
+
+ #define HEATER_BED_PIN 14 // (bed)
+ #define X_ENABLE_PIN 4
+ #define Y_ENABLE_PIN 4
+ #define Z_ENABLE_PIN 4
+ #define E0_ENABLE_PIN 4
+
+#endif
+
+#if !defined(FAN_PIN) && (MB(AZTEEG_X1, STB_11) || IS_MELZI)
+ #define FAN_PIN 4 // Works for Panelolu2 too
+#endif
+
+//
+// Misc. Functions
+//
+
+/**
+ * In some versions of the Sanguino libraries the pin
+ * definitions are wrong, with SDSS = 24 and LED_PIN = 28 (Melzi).
+ * If you encounter issues with these pins, upgrade your
+ * Sanguino libraries! See #368.
+ */
+//#define SDSS 24
+#define SDSS 31
+
+#if IS_MELZI
+ #define LED_PIN 27
+#elif MB(STB_11)
+ #define LCD_BACKLIGHT_PIN 17 // LCD backlight LED
+#endif
+
+#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header
+ #define CASE_LIGHT_PIN 4 // Hardware PWM - see if IO Header is available
+#endif
+
+/**
+ * Sanguinololu 1.4 AUX pins:
+ *
+ * PWM TX1 RX1 SDA SCL
+ * 12V 5V D12 D11 D10 D17 D16
+ * GND GND D31 D30 D29 D28 D27
+ * A4 A3 A2 A1 A0
+ */
+
+//
+// LCD / Controller
+//
+#if HAS_WIRED_LCD
+
+ #define SD_DETECT_PIN -1
+
+ #if HAS_MARLINUI_U8GLIB
+
+ #if ENABLED(LCD_FOR_MELZI)
+
+ #define LCD_PINS_RS 17
+ #define LCD_PINS_ENABLE 16
+ #define LCD_PINS_D4 11
+ #define KILL_PIN 10
+ #define BEEPER_PIN 27
+
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(188)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
+ #endif
+
+ #elif ENABLED(U8GLIB_ST7920) // SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0
+
+ #if IS_MELZI
+ #define LCD_PINS_RS 30 // CS chip select /SS chip slave select
+ #define LCD_PINS_ENABLE 29 // SID (MOSI)
+ #define LCD_PINS_D4 17 // SCK (CLK) clock
+ // Pin 27 is taken by LED_PIN, but Melzi LED does nothing with
+ // Marlin so this can be used for BEEPER_PIN. You can use this pin
+ // with M42 instead of BEEPER_PIN.
+ #define BEEPER_PIN 27
+
+ #if IS_RRD_FG_SC
+ #ifndef BOARD_ST7920_DELAY_1
+ #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_2
+ #define BOARD_ST7920_DELAY_2 DELAY_NS(188)
+ #endif
+ #ifndef BOARD_ST7920_DELAY_3
+ #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
+ #endif
+ #endif
+
+ #else // Sanguinololu >=1.3
+ #define LCD_PINS_RS 4
+ #define LCD_PINS_ENABLE 17
+ #define LCD_PINS_D4 30
+ #define LCD_PINS_D5 29
+ #define LCD_PINS_D6 28
+ #define LCD_PINS_D7 27
+ #endif
+
+ #else
+
+ #define DOGLCD_A0 30
+
+ #if ENABLED(MAKRPANEL)
+
+ #define BEEPER_PIN 29
+ #define DOGLCD_CS 17
+ #define LCD_BACKLIGHT_PIN 28 // PA3
+
+ #elif IS_MELZI
+
+ #define BEEPER_PIN 27
+ #define DOGLCD_CS 28
+
+ #else // !MAKRPANEL
+
+ #define DOGLCD_CS 29
+
+ #endif
+
+ #endif
+
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_0
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ #elif ENABLED(ZONESTAR_LCD) // For the Tronxy Melzi boards
+
+ #define LCD_PINS_RS 28
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 10
+ #define LCD_PINS_D5 11
+ #define LCD_PINS_D6 16
+ #define LCD_PINS_D7 17
+
+ #else
+
+ #define LCD_PINS_RS 4
+ #define LCD_PINS_ENABLE 17
+ #define LCD_PINS_D4 30
+ #define LCD_PINS_D5 29
+ #define LCD_PINS_D6 28
+ #define LCD_PINS_D7 27
+
+ #endif
+
+ #if ENABLED(LCD_FOR_MELZI)
+
+ #define BTN_ENC 28
+ #define BTN_EN1 29
+ #define BTN_EN2 30
+
+ #elif ENABLED(ZONESTAR_LCD) // For the Tronxy Melzi boards
+
+ #define ADC_KEYPAD_PIN 1
+ #define BTN_EN1 -1
+ #define BTN_EN2 -1
+
+ #elif ENABLED(LCD_I2C_PANELOLU2)
+
+ #if IS_MELZI
+ #define BTN_ENC 29
+ #define LCD_SDSS 30 // Panelolu2 SD card reader rather than the Melzi
+ #else
+ #define BTN_ENC 30
+ #endif
+
+ #else // !LCD_FOR_MELZI && !ZONESTAR_LCD && !LCD_I2C_PANELOLU2
+
+ #define BTN_ENC 16
+ #define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi
+
+ #endif
+
+ #if IS_NEWPANEL && !defined(BTN_EN1)
+ #define BTN_EN1 11
+ #define BTN_EN2 10
+ #endif
+
+#endif // HAS_WIRED_LCD
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER
+ #if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header
+
+ #define SPINDLE_LASER_ENA_PIN 10 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM
+ #define SPINDLE_DIR_PIN 11
+
+ #elif !MB(MELZI) // use X stepper motor socket
+
+ /**
+ * To control the spindle speed and have an LCD you must sacrifice
+ * the Extruder and pull some signals off the X stepper driver socket.
+ *
+ * The following assumes:
+ * - The X stepper driver socket is empty
+ * - The extruder driver socket has a driver board plugged into it
+ * - The X stepper wires are attached the the extruder connector
+ */
+
+ /**
+ * Where to get the spindle signals
+ *
+ * spindle signal socket name socket name
+ * -------
+ * /ENABLE O| |O VMOT
+ * MS1 O| |O GND
+ * MS2 O| |O 2B
+ * MS3 O| |O 2A
+ * /RESET O| |O 1A
+ * /SLEEP O| |O 1B
+ * SPINDLE_LASER_PWM_PIN STEP O| |O VDD
+ * SPINDLE_LASER_ENA_PIN DIR O| |O GND
+ * -------
+ *
+ * Note: Socket names vary from vendor to vendor.
+ */
+ #undef X_DIR_PIN
+ #undef X_ENABLE_PIN
+ #undef X_STEP_PIN
+ #define X_DIR_PIN 0
+ #define X_ENABLE_PIN 14
+ #define X_STEP_PIN 1
+ #define SPINDLE_LASER_PWM_PIN 15 // Hardware PWM
+ #define SPINDLE_LASER_ENA_PIN 21 // Pullup!
+ #define SPINDLE_DIR_PIN -1 // No pin available on the socket for the direction pin
+ #endif
+#endif
diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_12.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_12.h
new file mode 100644
index 0000000..c5c8b4f
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_12.h
@@ -0,0 +1,42 @@
+/**
+ * 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
+
+/**
+ * Sanguinololu V1.2 pin assignments
+ *
+ * Applies to the following boards:
+ *
+ * AZTEEG_X1
+ * MELZI
+ * MELZI_CREALITY
+ * MELZI_MAKR3D
+ * SANGUINOLOLU_12
+ * STB_11
+ */
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "Sanguinololu 1.2"
+#endif
+
+#define SANGUINOLOLU_V_1_2
+#include "pins_SANGUINOLOLU_11.h"
diff --git a/Marlin/src/pins/sanguino/pins_SETHI.h b/Marlin/src/pins/sanguino/pins_SETHI.h
new file mode 100644
index 0000000..dc2133e
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_SETHI.h
@@ -0,0 +1,124 @@
+/**
+ * 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
+
+/**
+ * Sethi 3D_1 pin assignments - www.sethi3d.com.br
+ */
+
+/**
+ * Rev B 26 DEC 2016
+ *
+ * added pointer to a current Arduino IDE extension
+ * this assumes that this board uses the Sanguino pin map
+ */
+
+/**
+ * A useable Arduino IDE extension (board manager) can be found at
+ * https://github.com/Lauszus/Sanguino
+ *
+ * This extension has been tested on Arduino 1.6.12 & 1.8.0
+ *
+ * Here's the JSON path:
+ * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
+ *
+ * When installing select 1.0.2
+ *
+ * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
+ * Just use the above JSON URL instead of Sparkfun's JSON.
+ *
+ * Once installed select the Sanguino board and then select the CPU.
+ */
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega644__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644', 'ATmega644P', or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Sethi 3D_1"
+
+#ifndef GEN7_VERSION
+ #define GEN7_VERSION 12 // v1.x
+#endif
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN 2
+#define Y_STOP_PIN 0
+#define Z_MIN_PIN 1
+#define Z_MAX_PIN 0
+
+//
+// Steppers
+//
+#define X_STEP_PIN 19
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+
+#define Z_STEP_PIN 26
+#define Z_DIR_PIN 25
+#define Z_ENABLE_PIN 24
+
+#define E0_STEP_PIN 28
+#define E0_DIR_PIN 27
+#define E0_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 1 // Analog Input
+#define TEMP_BED_PIN 2 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 4
+#define HEATER_BED_PIN 3
+
+#ifndef FAN_PIN
+ #if GEN7_VERSION >= 13
+ // Gen7 v1.3 removed the fan pin
+ #define FAN_PIN -1
+ #else
+ #define FAN_PIN 31
+ #endif
+#endif
+
+//
+// Misc. Functions
+//
+#define PS_ON_PIN 15
+
+// All these generations of Gen7 supply thermistor power
+// via PS_ON, so ignore bad thermistor readings
+//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
+
+// our pin for debugging.
+#define DEBUG_PIN 0
+
+// our RS485 pins
+#define TX_ENABLE_PIN 12
+#define RX_ENABLE_PIN 13
diff --git a/Marlin/src/pins/sanguino/pins_STB_11.h b/Marlin/src/pins/sanguino/pins_STB_11.h
new file mode 100644
index 0000000..b10a098
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_STB_11.h
@@ -0,0 +1,30 @@
+/**
+ * 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
+
+/**
+ * STB V1.1 pin assignments
+ */
+
+#define BOARD_INFO_NAME "STB V1.1"
+
+#include "pins_SANGUINOLOLU_12.h"
diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
new file mode 100644
index 0000000..d064d80
--- /dev/null
+++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
@@ -0,0 +1,234 @@
+/**
+ * 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
+
+#if NOT_TARGET(__AVR_ATmega644P__, __AVR_ATmega1284P__)
+ #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'"
+#endif
+
+#define BOARD_INFO_NAME "Zonestar ZMIB_V2"
+#define BOARD_WEBSITE_URL "www.aliexpress.com/item/32957490744.html"
+
+#define IS_ZMIB_V2
+
+/**
+ * ZMIB pin assignments
+ *
+ * The ZMIB board needs a bootloader installed before Marlin can be uploaded.
+ * If you don't have a chip programmer you can use a spare Arduino plus a few
+ * electronic components to write the bootloader.
+ *
+ * See http://www.instructables.com/id/Burn-Arduino-Bootloader-with-Arduino-MEGA/
+ */
+
+/**
+ * PIN: 0 Port: B0 HEATER_0_PIN
+ * PIN: 1 Port: B1 HEATER_BED_PIN
+ * PIN: 2 Port: B2 EXP1_4(BTN_EN2)
+ * PIN: 3 Port: B3 V1: SD_DETECT_PIN
+ * PIN: 3 Port: B3 V2: EXP1_6
+ * PIN: 4 Port: B4 SDSS
+ * PIN: 4 Port: B4 V1: EXP1_6
+ * PIN: 5 Port: B5 AVR_MOSI_PIN
+ * . SD_MOSI_PIN
+ * PIN: 6 Port: B6 AVR_MISO_PIN
+ * . EXP1_9(SD_MISO_PIN)
+ * PIN: 7 Port: B7 AVR_SCK_PIN
+ * . EXP1_10(SD_SCK_PIN)
+ * PIN: 8 Port: D0 RXD
+ * PIN: 9 Port: D1 TXD
+ * PIN: 10 Port: D2 EXP1_8
+ * PIN: 11 Port: D3 EXP1_7
+ * PIN: 12 Port: D4 EXP1_5(BTN_EN1)
+ * PIN: 13 Port: D5 Z_MIN_PIN
+ * PIN: 14 Port: D6 E1_DIR_PIN
+ * PIN: 15 Port: D7 E1_STEP_PIN
+ * PIN: 16 Port: C0 Z_DIR_PIN
+ * PIN: 17 Port: C1 Z_STEP_PIN
+ * PIN: 18 Port: C2 Y_MIN_PIN
+ * PIN: 19 Port: C3 Y_DIR_PIN
+ * PIN: 20 Port: C4 Y_STEP_PIN
+ * PIN: 21 Port: C5 X_MIN_PIN
+ * PIN: 22 Port: C6 X_DIR_PIN
+ * PIN: 23 Port: C7 X_STEP_PIN
+ * PIN: 24 Port: A7 X_ENABLE_PIN
+ * Y_ENABLE_PIN
+ * Z_ENABLE_PIN
+ * E0_ENABLE_PIN
+ * E1_ENABLE_PIN
+ * PIN: 25 Port: A6 FIL_RUNOUT_PIN
+ * PIN: 26 Port: A5 E0_DIR_PIN
+ * PIN: 27 Port: A4 E0_STEP_PIN
+ * PIN: 28 Port: A3 FAN_PIN
+ * PIN: 29 Port: A2 EXP1_3(BTN_ENC)
+ * ADC_KEY_PIN
+ * PIN: 30 Port: A1 TEMP_0_PIN
+ * PIN: 31 Port: A0 TEMP_BED_PIN
+ */
+
+//
+// Limit Switches
+//
+#define X_MIN_PIN 21
+#define Y_MIN_PIN 18
+
+#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT)
+ #define Z_MIN_PIN 25
+#else
+ #define Z_MIN_PIN 13
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 23
+#define X_DIR_PIN 22
+#define X_ENABLE_PIN 24
+
+#define Y_STEP_PIN 20
+#define Y_DIR_PIN 19
+#define Y_ENABLE_PIN 24
+
+#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT)
+ #define Z_STEP_PIN 27
+ #define Z_DIR_PIN 26
+#else
+ #define Z_STEP_PIN 17
+ #define Z_DIR_PIN 16
+#endif
+
+#define Z_ENABLE_PIN 24
+
+#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT)
+ #define E0_STEP_PIN 15
+ #define E0_DIR_PIN 14
+#else
+ #define E0_STEP_PIN 27
+ #define E0_DIR_PIN 26
+#endif
+
+#define E0_ENABLE_PIN 24
+
+#define E1_STEP_PIN 15
+#define E1_DIR_PIN 14
+#define E1_ENABLE_PIN 24
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN 1 // Analog Input
+#define TEMP_BED_PIN 0 // Analog Input
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN 0
+#define HEATER_BED_PIN 1
+#define FAN_PIN 28
+#define FAN1_PIN -1
+
+//
+//filament run out sensor
+//
+#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT)
+ #define FIL_RUNOUT_PIN 13
+#else
+ #define FIL_RUNOUT_PIN 25 // Z-MIN
+#endif
+
+//
+// SD card
+//
+#if ENABLED(SDSUPPORT)
+ #define SDSS 4
+#endif
+#define SD_DETECT_PIN -1
+
+/*===================================================
+ * ZMIB Version 1 - EXP1 Connector
+ * MOSI(D5) TX1(D11) ENA(D12) ENC(D29/A2) 5V
+ * SCK(D7) RX1(D10) SCS(D4) ENB(D2) GND
+ *===================================================
+ * ZMIB Version 2 - EXP1 Connector
+ * MOSI(D5) TX1(D11) ENA(D12) ENC(D29/A2) 5V
+ * SCK(D7) RX1(D10) SCS(D3) ENB(D2) GND
+ *===================================================
+ * LCD 128x64
+ *==================================================*/
+
+#if ENABLED(ZONESTAR_12864LCD)
+ //
+ // LCD 128x64
+ //
+ #define LCDSCREEN_NAME "ZONESTAR_12864LCD"
+ #define FORCE_SOFT_SPI
+ //#define LCD_SDSS 11
+ #define LCD_PINS_RS 11 // ST7920_CS_PIN LCD_PIN_RS (PIN4 of LCD module)
+ #ifdef IS_ZMIB_V2
+ #define LCD_PINS_ENABLE 3 // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module)
+ #else
+ #define LCD_PINS_ENABLE 4 // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module)
+ #endif
+ #define LCD_PINS_D4 10 // ST7920_CLK_PIN LCD_PIN_ENABLE (PIN6 of LCD module)
+
+ // Alter timing for graphical display
+ #define ST7920_DELAY_1 DELAY_2_NOP
+ #define ST7920_DELAY_2 DELAY_2_NOP
+ #define ST7920_DELAY_3 DELAY_2_NOP
+
+#elif EITHER(ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306)
+ //
+ // OLED 128x64
+ //
+ #define LCDSCREEN_NAME "ZONESTAR 12864OLED"
+ #define FORCE_SOFT_SPI
+ #ifdef IS_ZMIB_V2
+ #define LCD_PINS_RS 3 // RESET
+ #else
+ #define LCD_PINS_RS 4 // RESET
+ #endif
+ #define LCD_PINS_DC 10 // DC
+ #define DOGLCD_CS 11 // CS
+ #if ENABLED(OLED_HW_IIC)
+ #error "Oops! can't choose HW IIC for ZMIB board!!"
+ #elif ENABLED(OLED_HW_SPI)
+ // HW SPI
+ #define DOGLCD_A0 LCD_PINS_DC // A0 = DC
+ #else
+ // SW SPI
+ #define DOGLCD_A0 LCD_PINS_DC // A0 = DC
+ #define DOGLCD_MOSI AVR_MOSI_PIN // SDA
+ #define DOGLCD_SCK AVR_SCK_PIN // SCK
+ #endif
+
+#endif
+
+//
+// All the above are also RRDSC with rotary encoder
+//
+#if IS_RRD_SC
+ #define BTN_EN1 2
+ #define BTN_EN2 12
+ #define BTN_ENC 29
+ #define BEEPER_PIN -1
+ #define KILL_PIN -1
+#endif