Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Marlin/src/core/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,7 @@
#define BOARD_MKS_ROBIN_E3D 4020 // MKS Robin E3D (STM32F103RC)
#define BOARD_MKS_ROBIN_E3D_V1_1 4021 // MKS Robin E3D V1.1 (STM32F103RC)
#define BOARD_MKS_ROBIN_E3P 4022 // MKS Robin E3p (STM32F103VE)
#define BOARD_BTT_EBB42_V1_1 4243 // BigTreeTech EBB42 V1.1 (STM32G0B1CB)
#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)
Expand Down
2 changes: 2 additions & 0 deletions Marlin/src/pins/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,8 @@
#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 env:mks_robin_e3p_maple
#elif MB(BTT_EBB42_V1_1)
#include "stm32g0/pins_BTT_EBB42_V1_1.h" // STM32G0 env:BTT_EBB42_V1_1_filament_extruder
#elif MB(BTT_SKR_MINI_V1_1)
#include "stm32f1/pins_BTT_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple
#elif MB(BTT_SKR_MINI_E3_V1_0)
Expand Down
157 changes: 157 additions & 0 deletions Marlin/src/pins/stm32g0/pins_BTT_EBB42_V1_1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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/>.
*
*/

/** CAUTION **
*This board definition is to facilitate support for a Filament Extrusion
*devices, used to convert waste plastic into 3D printable filament.
*This board is NOT a general 3D printing controller,
*it is NOT supported as a toolboard via CANBUS (as it was originally designed)
*or any device that requires kinematics
*/
#pragma once

#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BTT EBB42 V1.1"
#endif

//
// EEPROM
//
#if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
#ifndef FLASH_EEPROM_EMULATION
#define FLASH_EEPROM_EMULATION
#endif
#define EEPROM_PAGE_SIZE (0x800UL) // 2K
#define EEPROM_START_ADDRESS (0x8000000UL + (FLASH_SIZE) - (EEPROM_PAGE_SIZE))
Comment thread
thinkyhead marked this conversation as resolved.
Outdated
#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE
#endif

//#define USES_DIAG_JUMPERS

// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000

#define LED_PIN PA13

#define I2C_SDA_PIN PB4
#define I2C_SCL_PIN PB3

//
// Servos
//
#define SERVO0_PIN PB9 // SERVOS

//
// Limit Switches
//
#define X_STOP_PIN PB6 // X-STOP
#define Y_STOP_PIN PB5 // Y-STOP
#define Z_STOP_PIN PB7 // Z-STOP

//
// Z Probe must be this pin
//
#define Z_MIN_PROBE_PIN PB8 // PROBE

//
// Steppers
//
#define X_ENABLE_PIN -1
#define X_STEP_PIN PA10 //unused pin. Only assigned to a unattached pin to allow Marlin to compile
#define X_DIR_PIN -1

#define Y_ENABLE_PIN -1
#define Y_STEP_PIN PA10 //unused pin. Only assigned to a unattached pin to allow Marlin to compile
#define Y_DIR_PIN -1

#define Z_ENABLE_PIN -1
#define Z_STEP_PIN PA10 //unused pin. Only assigned to a unattached pin to allow Marlin to compile
#define Z_DIR_PIN -1

#define E0_ENABLE_PIN PD2
#define E0_STEP_PIN PD0
#define E0_DIR_PIN PD1

#if HAS_TMC_UART
/**
* TMC220x stepper drivers
* Hardware serial communication ports
*/
//#define E0_HARDWARE_SERIAL MSerial4

// This is the stable default value after testing, but, higher UART rates could be configured, remeber to test the Steppers with the M122 command to check if everything works.
//#define TMC_BAUD_RATE 250000

#define E0_SERIAL_TX_PIN PA15
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN

// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200

// Default TMC slave addresses
#ifndef E0_SLAVE_ADDRESS
#define E0_SLAVE_ADDRESS 0b00
#endif
#endif

//
// Temperature Sensors
//
#define TEMP_0_PIN PA3 // Analog Input "TH0"

// SPI for MAX Thermocouple
// Uses a separate SPI bus

#define TEMP_0_CS_PIN PA4 // GTR K-TEMP
#define TEMP_0_SCK_PIN PA5 // SCK
#define TEMP_0_MISO_PIN PA6 // MISO
#define TEMP_0_MOSI_PIN PA7 // For MAX31865

//
// Heaters / Fans
//
#define HEATER_0_PIN PA2 // "HE"
#define FAN_PIN PA0 // "FAN0"
#define FAN1_PIN PA1 // "FAN1"


//
// Default NEOPIXEL_PIN
//
#ifndef NEOPIXEL_PIN
#define NEOPIXEL_PIN PD3 // LED driving pin
#endif

//
// LCD / Controller
//
#if HAS_WIRED_LCD
#undef X_STOP_PIN //Reusing the 'endstop' pins for a rotary encoder
#undef Y_STOP_PIN
#undef Z_STOP_PIN
#define X_STOP_PIN -1
#define Y_STOP_PIN -1
#define Z_STOP_PIN -1
#define BTN_EN1 PB7
#define BTN_EN2 PB5
#define BTN_ENC PB6
#endif // HAS_WIRED_LCD
47 changes: 47 additions & 0 deletions buildroot/share/PlatformIO/boards/marlin_BTT_EBB42_V1_1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"build": {
"core": "stm32",
"cpu": "cortex-m0plus",
"extra_flags": "-DSTM32G0xx -DSTM32G0B1xx",
"f_cpu": "64000000L",
"framework_extra_flags": {
"arduino": "-D__CORTEX_SC=0"
},
"mcu": "stm32g0b1cbt6",
"product_line": "STM32G0B1xx",
"variant": "MARLIN_BTT_EBB42_V1_1"
},
"debug": {
"default_tools": [
"stlink"
],
"jlink_device": "STM32G0B1CB",
"onboard_tools": [
"stlink"
],
"openocd_target": "stm32g0x",
"svd_path": "STM32G0B1.svd"
},
"frameworks": [
"arduino",
"cmsis",
"libopencm3",
"stm32cube",
"zephyr"
],
"name": "STM32G0B1CB",
"upload": {
"maximum_ram_size": 147456,
"maximum_size": 131072,
"protocol": "stlink",
"protocols": [
"stlink",
"jlink",
"cmsis-dap",
"blackmagic",
"mbed"
]
},
"url": "https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32g0-series/stm32g0x1.html",
"vendor": "ST"
}
Loading