Skip to content

Commit

Permalink
Added support for two custom boards based on STM32F1 and ESP32
Browse files Browse the repository at this point in the history
Added support for two custom boards, Kedi Controller based on STM32F1 and Godi Controller based on ESP32
  • Loading branch information
aktronicsdotnet committed May 9, 2023
1 parent 3e9848f commit fc3e719
Show file tree
Hide file tree
Showing 5 changed files with 454 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Marlin/src/core/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,7 @@
#define BOARD_PANDA_PI_V29 5066 // Panda Pi V2.9 - Standalone (STM32F103RC)
#define BOARD_SOVOL_V131 5067 // Sovol V1.3.1 (GD32F103RET6)
#define BOARD_TRIGORILLA_V006 5068 // Trigorilla V0.0.6 (GD32F103RE)
#define BOARD_KEDI_CONTROLLER_V1_2 5069 // EDUTRONICS Kedi Controller V1.2 (STM32F103RC)

//
// ARM Cortex-M4F
Expand Down Expand Up @@ -479,6 +480,7 @@
#define BOARD_PANDA_M4 7007 // Panda_M4
#define BOARD_MKS_TINYBEE 7008 // MKS TinyBee based on ESP32 (with I2S stepper stream)
#define BOARD_ENWI_ESPNP 7009 // enwi ESPNP based on ESP32 (with I2S stepper stream)
#define BOARD_GODI_CONTROLLER_V1_0 7010 // Godi Controller based on ESP32 32-Bit V1.0

//
// SAMD51 ARM Cortex-M4
Expand Down
141 changes: 141 additions & 0 deletions Marlin/src/pins/esp32/pins_GODI_CONTROLLER_V1_0.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
/**
* 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

/**
* Godi Controller 32-Bit V1.0 pin assignments
*
* 3D printer control board based on the ESP32 microcontroller.
* Supports 4 stepper drivers, heated bed, single hotend.
*/

#include "env_validate.h"

#if EXTRUDERS > 1 || E_STEPPERS > 1
#error "Godi Controller only supports 1 E stepper."
#elif HAS_MULTI_HOTEND
#error "Godi Controller only supports 1 hotend / E stepper."
#endif

#define BOARD_INFO_NAME "Godi Controller 32-Bit V1.0"

//
// Disable I2S stepper stream, by default
//
#undef I2S_STEPPER_STREAM
#undef I2S_WS
#undef I2S_BCK
#undef I2S_DATA

//
// 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

//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_BED_PIN 39 // Analog Input

//
// Heaters / Fans
//
#define HEATER_0_PIN 4
#define FAN0_PIN 13
#define HEATER_BED_PIN 2

//
// 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

#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

/**
* 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 Godi Controller 32-Bit 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

//
// Heaters / Fans
//

#if EITHER(EDUTRONICS_12864OLED_SH1106, EDUTRONICS_12864OLED_SSD1306)
#define LCDSCREEN_NAME "EDUTRONICS 12864 OLED"
#define BTN_EN2 1
#define BTN_EN1 3
#define BTN_ENC 0
#define BEEPER_PIN -1
#define KILL_PIN -1
#define DOGLCD_SDA 21 // SDA
#define DOGLCD_SCL 22 // SCL
#endif // OLED 128x64
4 changes: 4 additions & 0 deletions Marlin/src/pins/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,8 @@
#include "gd32f1/pins_SOVOL_V131.h" // GD32F1 env:GD32F103RET6_sovol_maple
#elif MB(TRIGORILLA_V006)
#include "gd32f1/pins_TRIGORILLA_V006.h" // GD32F103 env:trigorilla_v006
#elif MB(KEDI_CONTROLLER_V1_2)
#include "stm32f1/pins_KEDI_CONTROLLER_V1_2.h"// STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple

//
// ARM Cortex-M4F
Expand Down Expand Up @@ -838,6 +840,8 @@
#include "esp32/pins_MKS_TINYBEE.h" // ESP32 env:mks_tinybee
#elif MB(ENWI_ESPNP)
#include "esp32/pins_ENWI_ESPNP.h" // ESP32 env:esp32
#elif MB(GODI_CONTROLLER_V1_0)
#include "esp32/pins_GODI_CONTROLLER_V1_0.h" // ESP32 env:godi_esp32

//
// Adafruit Grand Central M4 (SAMD51 ARM Cortex-M4)
Expand Down
Loading

0 comments on commit fc3e719

Please sign in to comment.