Skip to content

Commit

Permalink
✨ BlackBeezMini 3D by I3DBEE (MarlinFirmware#26406)
Browse files Browse the repository at this point in the history
Co-authored-by: Scott Lahteine <[email protected]>
Co-authored-by: thisiskeithb <[email protected]>
  • Loading branch information
3 people authored and classicrocker883 committed Dec 26, 2023
1 parent 9acb6f6 commit 01c44a7
Show file tree
Hide file tree
Showing 6 changed files with 202 additions and 11 deletions.
1 change: 1 addition & 0 deletions Marlin/src/core/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,7 @@
#define BOARD_I3DBEEZ9_V1 5247 // I3DBEEZ9 V1 (STM32F407ZG)
#define BOARD_MELLOW_FLY_E3_V2 5248 // Mellow Fly E3 V2 (STM32F407VG)
#define BOARD_FYSETC_CHEETAH_V30 5249 // FYSETC Cheetah V3.0 (STM32F446RC)
#define BOARD_BLACKBEEZMINI_V1 5250 // BlackBeezMini V1 (STM32F401CCU6)

//
// ARM Cortex-M7
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 @@ -810,6 +810,8 @@
#include "stm32f4/pins_I3DBEEZ9.h" // STM32F4 env:I3DBEEZ9_V1
#elif MB(MELLOW_FLY_E3_V2)
#include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:FLY_E3_V2
#elif MB(BLACKBEEZMINI_V1)
#include "stm32f4/pins_BLACKBEEZMINI.h" // STM32F4 env:BLACKBEEZMINI_V1

//
// ARM Cortex-M7
Expand Down
176 changes: 176 additions & 0 deletions Marlin/src/pins/stm32f4/pins_BLACKBEEZMINI.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2023 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(STM32F4)
#error "Oops! Select an STM32F4 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "STM32F401CCU6 boards support one hotend / E-steppers only."
#endif

#include "env_validate.h"

#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME "I3DBEE BP_01"
#endif

#define TEMP_TIMER 5

//#define DISABLE_DEBUG // DISABLE_(DEBUG|JTAG) is not supported for STM32F4.
//#define DISABLE_JTAG
//#define ALLOW_STM32F4
//#define BOARD_NO_NATIVE_USB

//
// EEPROM
//
#if NO_EEPROM_SELECTED
#define FLASH_EEPROM_EMULATION
#define FLASH_EEPROM_LEVELING
#define FLASH_SECTOR (FLASH_SECTOR_TOTAL - 1)
#define FLASH_UNIT_SIZE 0x4000 // 16kB
#define MARLIN_EEPROM_SIZE FLASH_UNIT_SIZE
#undef NO_EEPROM_SELECTED
#endif

/*
#if NO_EEPROM_SELECTED
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0
#define SDCARD_EEPROM_EMULATION
#endif
*/

//
// Limit Switches
//
#define X_STOP_PIN PB9
#define Y_STOP_PIN PB3
#define Z_STOP_PIN PA9

//
// Steppers
//
#define X_STEP_PIN PB7
#define X_DIR_PIN PB6
#define X_ENABLE_PIN PB8

#define Y_STEP_PIN PB5
#define Y_DIR_PIN PB4
#define Y_ENABLE_PIN X_ENABLE_PIN

#define Z_STEP_PIN PA15
#define Z_DIR_PIN PA10
#define Z_ENABLE_PIN X_ENABLE_PIN

#define E0_STEP_PIN PA8
#define E0_DIR_PIN PB15
#define E0_ENABLE_PIN X_ENABLE_PIN

//
// Temperature Sensors
//
#define TEMP_0_PIN PB1 // Analog Input (HOTEND thermistor)
#define TEMP_BED_PIN PB0 // Analog Input (BED thermistor)

//
// Heaters / Fans
//
#define HEATER_0_PIN PA2 // HOTEND MOSFET
#define HEATER_BED_PIN PA0 // BED MOSFET

#define FAN1_PIN PA1 // FAN1 header on board - PRINT FAN

//
// SD Card
//
#define SDSS PA4
#define SD_DETECT_PIN -1
#define SD_SCK_PIN PA5
#define SD_MISO_PIN PA6
#define SD_MOSI_PIN PA7

/**
* ------ ------
* (BEEPER) PB10 | 1 2 | PC13 (BTN_ENC) (MISO) PA6 | 1 2 | PA5 (SCK)
* (LCD_EN) PB13 | 3 4 | PB12 (LCD_RS) (BTN_EN1) PC15 | 3 4 | PA4 (SD_SS)
* (LCD_D4) PB14 5 6 | PA3 (LCD_D5) (BTN_EN2) PC14 5 6 | PA7 (MOSI)
* (LCD_D6) - | 7 8 | - (LCD_D7) (SD_DET) - | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | -
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN PB10 // BEEPER
#define EXP1_02_PIN PC13 // ENC
#define EXP1_03_PIN PB13 // EN
#define EXP1_04_PIN PB12 // RS
#define EXP1_05_PIN PB14 // D4
#define EXP1_06_PIN PA3 // D5
#define EXP1_07_PIN -1
#define EXP1_08_PIN -1

#define EXP2_01_PIN PA6 // MISO
#define EXP2_02_PIN PA5 // SCK
#define EXP2_03_PIN PC15 // EN1
#define EXP2_04_PIN PA4 // SS
#define EXP2_05_PIN PC14 // EN2
#define EXP2_06_PIN PA7 // MOSI
#define EXP2_07_PIN -1
#define EXP2_08_PIN -1 // RESET
#define EXP2_10_PIN -1

//
// LCD / Controller
//
#if HAS_WIRED_LCD
#define BEEPER_PIN EXP1_01_PIN

#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define BTN_ENC EXP1_02_PIN

#define LCD_PINS_RS EXP1_04_PIN
#define LCD_PINS_EN EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#define LCD_PINS_D5 EXP1_06_PIN

#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
//#define LCD_BACKLIGHT_PIN -1
#define LCD_RESET_PIN EXP1_05_PIN // Must be high or open for LCD to operate normally.
#if ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXP1_06_PIN
#endif
#endif

//
// GLCD features
//
//#define LCD_CONTRAST 190

//
// Dcreen orientation
//
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#endif
18 changes: 8 additions & 10 deletions Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,16 +201,14 @@
#endif

/**
* ---------------------------------BTT002 V1.0---------------------------------
* ------ ------ |
* (BEEPER) PE7 | 1 2 | PB1 (BTN_ENC) (MISO) PA6 | 1 2 | PA5 (SCK) |
* (LCD_EN) PE9 | 3 4 | PE8 (LCD_RS) (BTN_EN1) PC5 | 3 4 | PA4 (SD_SS) |
* (LCD_D4) PE10 5 6 | PE11 (LCD_D5) (BTN_EN2) PB0 5 6 | PA7 (MOSI) |
* (LCD_D6) PE12 | 7 8 | PE13 (LCD_D7) (SD_DET) PC4 | 7 8 | RESET |
* GND | 9 10 | 5V GND | 9 10 | PA3 |
* ------ ------ |
* EXP1 EXP2 |
* ------------------------------------------------------------------------------
* ------ ------
* (BEEPER) PE7 | 1 2 | PB1 (BTN_ENC) (MISO) PA6 | 1 2 | PA5 (SCK)
* (LCD_EN) PE9 | 3 4 | PE8 (LCD_RS) (BTN_EN1) PC5 | 3 4 | PA4 (SD_SS)
* (LCD_D4) PE10 5 6 | PE11 (LCD_D5) (BTN_EN2) PB0 5 6 | PA7 (MOSI)
* (LCD_D6) PE12 | 7 8 | PE13 (LCD_D7) (SD_DET) PC4 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | PA3
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN PE7
#define EXP1_02_PIN PB1
Expand Down
2 changes: 1 addition & 1 deletion buildroot/share/PlatformIO/scripts/offset_and_rename.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# offset_and_rename.py
#
# - If 'build.offset' is provided, either by JSON or by the environment...
# - If 'board_build.offset' is provided, either by JSON or by the environment...
# - Set linker flag LD_FLASH_OFFSET and relocate the VTAB based on 'build.offset'.
# - Set linker flag LD_MAX_DATA_SIZE based on 'build.maximum_ram_size'.
# - Define STM32_FLASH_SIZE from 'upload.maximum_size' for use by Flash-based EEPROM emulation.
Expand Down
14 changes: 14 additions & 0 deletions ini/stm32f4.ini
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,20 @@ build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
debug_tool = stlink
upload_protocol = stlink

#
# BlackBeezMini (blackpill_f401cc)
#
[env:BLACKBEEZMINI_V1]
platform = ststm32
extends = common_stm32
board = blackpill_f401cc
board_build.offset = 0x0000
build_flags = ${common_stm32.build_flags}
-Os -DHAL_PCD_MODULE_ENABLED
-DHAL_UART_MODULE_ENABLED
monitor_speed = 250000
upload_protocol = dfu

#
# Mellow Fly E3 V2 (STM32F407VGT6 ARM Cortex-M4)
#
Expand Down

0 comments on commit 01c44a7

Please sign in to comment.