# # Marlin Firmware # PlatformIO Configuration File # ################################# # # # STM32F1 Architecture # # # ################################# # # HAL/STM32 Base Environment values # [common_stm32] platform = ststm32@~12.0 build_flags = ${common.build_flags} -std=gnu++14 -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + + # # HAL/STM32F1 Common Environment values # [common_stm32f1] platform = ststm32@~12.0 board_build.core = maple build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -DARDUINO_ARCH_STM32 build_unflags = -std=gnu11 -std=gnu++11 src_filter = ${common.default_src_filter} + lib_ignore = SPI, FreeRTOS701, FreeRTOS821 lib_deps = ${common.lib_deps} SoftwareSerialM platform_packages = tool-stm32duino extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/fix_framework_weakness.py # # STM32F103RC # [env:STM32F103RC] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC monitor_speed = 115200 # # MEEB_3DP (STM32F103RCT6 with 512K) # [env:STM32F103RC_meeb] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = MEEB_3DP build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 -DSTM32_FLASH_SIZE=512 -DHSE_VALUE=12000000U -DUSE_USB_COMPOSITE -DVECT_TAB_OFFSET=0x2000 -DGENERIC_BOOTLOADER extra_scripts = ${common_stm32f1.extra_scripts} pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py lib_deps = ${common.lib_deps} SoftwareSerialM USBComposite for STM32F1@0.91 custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use debug_tool = stlink upload_protocol = dfu # # STM32F103RC_fysetc # [env:STM32F103RC_fysetc] platform = ${common_stm32f1.platform} extends = env:STM32F103RC extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 lib_ldf_mode = chain debug_tool = stlink upload_protocol = serial # # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) # # STM32F103RC_btt ............. RCT6 with 256K # STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage) # STM32F103RC_btt_512K ........ RCT6 with 512K # STM32F103RC_btt_512K_USB .... RCT6 with 512K (USB mass storage) # # WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP # and experience a printer freeze, re-flash Marlin using the regular (non-512K) # build option. 256K chips may be re-branded 512K chips, but this means the # upper 256K is sketchy, and failure is very likely. # [env:STM32F103RC_btt] platform = ${common_stm32f1.platform} extends = env:STM32F103RC extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 monitor_speed = 115200 [env:STM32F103RC_btt_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt build_flags = ${env:STM32F103RC_btt.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${env:STM32F103RC_btt.lib_deps} USBComposite for STM32F1@0.91 [env:STM32F103RC_btt_512K] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt board_upload.maximum_size=524288 build_flags = ${env:STM32F103RC_btt.build_flags} -DSTM32_FLASH_SIZE=512 [env:STM32F103RC_btt_512K_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt_512K build_flags = ${env:STM32F103RC_btt_512K.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${env:STM32F103RC_btt_512K.lib_deps} USBComposite for STM32F1@0.91 # # STM32F103RE # [env:STM32F103RE] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RE monitor_speed = 115200 # # STM32F103RE_btt ............. RET6 # STM32F103RE_btt_USB ......... RET6 (USB mass storage) # [env:STM32F103RE_btt] platform = ${common_stm32f1.platform} extends = env:STM32F103RE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RE_SKR_E3_DIP.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 debug_tool = stlink upload_protocol = stlink [env:STM32F103RE_btt_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RE_btt build_flags = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${common_stm32f1.lib_deps} USBComposite for STM32F1@0.91 # # Geeetech GTM32 (STM32F103VET6) # [env:STM32F103VE_GTM32] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE build_flags = ${common_stm32f1.build_flags} -ffunction-sections -fdata-sections -nostdlib -MMD -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 upload_protocol = serial # # Longer 3D board in Alfawise U20 (STM32F103VET6) # [env:STM32F103VE_longer] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12 build_unflags = ${common_stm32f1.build_unflags} -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 # # MKS Robin Mini (STM32F103VET6) # [env:mks_robin_mini] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_mini.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE # # MKS Robin Nano (STM32F103VET6) # [env:mks_robin_nano35] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_nano35.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 debug_tool = jlink upload_protocol = jlink # # MKS Robin (STM32F103ZET6) # [env:mks_robin] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103ZE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin.py build_flags = ${common_stm32f1.build_flags} -DSS_TIMER=4 -DSTM32_XL_DENSITY # MKS Robin (STM32F103ZET6) # Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel # [env:mks_robin_stm32] platform = ${common_stm32.platform} extends = common_stm32 board = genericSTM32F103ZE board_build.core = stm32 board_build.variant = MARLIN_F103Zx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.encrypt = Yes board_build.firmware = Robin.bin build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py lib_deps = # # MKS Robin Pro (STM32F103ZET6) # [env:mks_robin_pro] platform = ${common_stm32f1.platform} extends = env:mks_robin extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_pro.py # # TRIGORILLA PRO (STM32F103ZET6) # [env:trigorilla_pro] platform = ${common_stm32f1.platform} extends = env:mks_robin extra_scripts = ${common_stm32f1.extra_scripts} # # MKS Robin E3D (STM32F103RCT6) and # MKS Robin E3 with TMC2209 # [env:mks_robin_e3] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC platform_packages = tool-stm32duino extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_e3.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 # # MKS Robin E3p (STM32F103VET6) # - LVGL UI # [env:mks_robin_e3p] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_e3p.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 debug_tool = jlink upload_protocol = jlink # # MKS Robin Lite/Lite2 (STM32F103RCT6) # [env:mks_robin_lite] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_lite.py # # MKS ROBIN LITE3 (STM32F103RCT6) # [env:mks_robin_lite3] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_lite3.py # # JGAurora A5S A1 (STM32F103ZET6) # [env:jgaurora_a5s_a1] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103ZE extra_scripts = ${common_stm32f1.extra_scripts} buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py build_flags = ${common_stm32f1.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY # # Malyan M200 (STM32F103CB) # [env:STM32F103CB_malyan] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = malyanM200 build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ lib_ignore = ${common_stm32f1.lib_ignore} SoftwareSerialM # # Chitu boards like Tronxy X5s (STM32F103ZET6) # [env:chitu_f103] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = CHITU_F103 extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py buildroot/share/PlatformIO/scripts/chitu_crypt.py build_flags = ${common_stm32f1.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY build_unflags = ${common_stm32f1.build_unflags} -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 # # Some Chitu V5 boards have a problem with GPIO init. # Use this target if G28 or G29 are always failing. # [env:chitu_v5_gpio_init] platform = ${common_stm32f1.platform} extends = env:chitu_f103 build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX # # Creality (STM32F103RET6) # [env:STM32F103RET6_creality] platform = ${env:STM32F103RE.platform} extends = env:STM32F103RE build_flags = ${env:STM32F103RE.build_flags} -DTEMP_TIMER_CHAN=4 extra_scripts = ${env:STM32F103RE.extra_scripts} pre:buildroot/share/PlatformIO/scripts/random-bin.py buildroot/share/PlatformIO/scripts/STM32F103RET6_creality.py debug_tool = jlink upload_protocol = jlink # # FLSUN QQS Pro (STM32F103VET6) using hal STM32 # board Hispeedv1 # [env:flsun_hispeedv1] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.firmware = Robin_mini.bin board_build.encrypt = Yes board_upload.offset_address = 0x08007000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py # # MKS Robin Nano V1.2 and V2 using hal STM32 # [env:mks_robin_nano35_stm32] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.encrypt = Yes board_build.firmware = Robin_nano35.bin board_upload.offset_address = 0x08007000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC debug_tool = jlink upload_protocol = jlink extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py # # Mingda MPX_ARM_MINI # [env:mingda_mpx_arm_mini] platform = ${common_stm32.platform} extends = common_stm32 board = genericSTM32F103ZE board_build.core = stm32 board_build.variant = MARLIN_F103Zx board_build.ldscript = ldscript.ld board_build.offset = 0x10000 build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py