# # Marlin Firmware # PlatformIO Configuration File # # For detailed documentation with EXAMPLES: # # http://docs.platformio.org/en/latest/projectconf.html # # Automatic targets - enable auto-uploading # targets = upload # # By default platformio build will abort after 5 errors. # Remove '-fmax-errors=5' from build_flags below to see all. # [platformio] src_dir = Marlin boards_dir = buildroot/share/PlatformIO/boards default_envs = STM32F103R_bigtree [common] default_src_filter = + - - + extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ lib_deps = U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip LiquidCrystal@1.3.4 ;TMCStepper@<1.0.0 https://github.com/bigtreetech/TMCStepper Adafruit NeoPixel@1.1.3 LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip SailfishRGB_LED=https://github.com/mikeshub/SailfishRGB_LED/archive/master.zip SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip ################################# # # # Unique Core Architectures # # # # Add a new "env" below if no # # entry has values suitable to # # build for a given board. # # # ################################# # # ATmega2560 # [env:megaatmega2560] platform = atmelavr framework = arduino board = megaatmega2560 build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # ATmega1280 # [env:megaatmega1280] platform = atmelavr framework = arduino board = megaatmega1280 build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # AT90USB1286 boards using CDC bootloader # - BRAINWAVE # - BRAINWAVE_PRO # - SAV_MKI # - TEENSYLU # [env:at90usb1286_cdc] platform = teensy framework = arduino board = at90usb1286 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_CDC.py monitor_speed = 250000 # # AT90USB1286 boards using DFU bootloader # - PrintrBoard # - PrintrBoard Rev.F # - ? 5DPRINT ? # [env:at90usb1286_dfu] platform = teensy framework = arduino board = at90usb1286 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_DFU.py monitor_speed = 250000 # # Due (Atmel SAM3X8E ARM Cortex-M3) # # - RAMPS4DUE # - RADDS # [env:DUE] platform = atmelsam framework = arduino board = due build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} src_filter = ${common.default_src_filter} + monitor_speed = 250000 [env:DUE_USB] platform = atmelsam framework = arduino board = dueUSB build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} src_filter = ${common.default_src_filter} + monitor_speed = 250000 [env:DUE_debug] # Used when WATCHDOG_RESET_MANUAL is enabled platform = atmelsam framework = arduino board = due build_flags = ${common.build_flags} -funwind-tables -mpoke-function-name lib_deps = ${common.lib_deps} src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # NXP LPC176x ARM Cortex-M3 # [env:LPC1768] platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip framework = arduino board = nxp_lpc1768 build_flags = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags} # debug options for backtrace # -funwind-tables # -mpoke-function-name lib_ldf_mode = off lib_compat_mode = strict extra_scripts = Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + monitor_speed = 250000 lib_deps = Servo LiquidCrystal U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip TMCStepper@<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip [env:LPC1769] platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip framework = arduino board = nxp_lpc1769 build_flags = -DTARGET_LPC1768 -DLPC1769 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags} # debug options for backtrace # -funwind-tables # -mpoke-function-name lib_ldf_mode = off lib_compat_mode = strict extra_scripts = Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} + monitor_speed = 250000 lib_deps = Servo LiquidCrystal U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip TMCStepper@<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip # # Melzi and clones (ATmega1284p) # [env:melzi] platform = atmelavr framework = arduino board = sanguino_atmega1284p build_flags = ${common.build_flags} -fmerge-all-constants upload_speed = 57600 lib_deps = ${common.lib_deps} lib_ignore = TMCStepper src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Melzi and clones (Optiboot bootloader) # [env:melzi_optiboot] platform = atmelavr framework = arduino board = sanguino_atmega1284p build_flags = ${common.build_flags} upload_speed = 115200 lib_deps = ${common.lib_deps} lib_ignore = TMCStepper src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # RAMBo # [env:rambo] platform = atmelavr framework = arduino board = reprap_rambo build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Sanguinololu (ATmega644p) # [env:sanguino_atmega644p] platform = atmelavr framework = arduino board = sanguino_atmega644p build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Sanguinololu (ATmega1284p) # [env:sanguino_atmega1284p] platform = atmelavr framework = arduino board = sanguino_atmega1284p build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # STM32F103RE # [env:STM32F103R] platform = ststm32 framework = arduino board = genericSTM32F103RE build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DDEBUG_LEVEL=0 build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} lib_ignore = U8glib-HAL, Adafruit NeoPixel, SPI src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # STM32F103R_fysetc # [env:STM32F103R_fysetc] platform = ststm32 framework = arduino board = genericSTM32F103RC #board_build.core = maple platform_packages = tool-stm32duino extra_scripts = buildroot/share/PlatformIO/scripts/STM32F103R_fysetc.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DDEBUG_LEVEL=0 -DHAVE_SW_SERIAL build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip lib_ignore = Adafruit NeoPixel, SPI lib_ldf_mode = chain src_filter = ${common.default_src_filter} + monitor_speed = 250000 debug_tool = stlink upload_protocol = serial # # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) # [env:STM32F103R_bigtree] platform = ststm32 framework = arduino board = genericSTM32F103RC platform_packages = tool-stm32duino extra_scripts = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DHAVE_SW_SERIAL build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI src_filter = ${common.default_src_filter} + monitor_speed = 115200 upload_protocol = stlink debug_tool = stlink [env:STM32F103R_bigtree_USB] platform = ststm32 framework = arduino board = genericSTM32F103RC platform_packages = tool-stm32duino extra_scripts = buildroot/share/PlatformIO/scripts/STM32F1_SKR_MINI.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -DDEBUG_LEVEL=0 -DUSE_USB_COMPOSITE -std=gnu++14 build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI src_filter = ${common.default_src_filter} + monitor_speed = 115200 upload_protocol = stlink debug_tool = stlink # # STM32F4 with STM32GENERIC # [env:STM32F4] platform = ststm32 framework = arduino board = disco_f407vg build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F4 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, TMCStepper src_filter = ${common.default_src_filter} + - monitor_speed = 250000 # # STM32F7 with STM32GENERIC # [env:STM32F7] platform = ststm32 framework = arduino board = remram_v1 build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F7 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, TMCStepper src_filter = ${common.default_src_filter} + - monitor_speed = 250000 # # ARMED (STM32) # [env:ARMED] platform = ststm32 framework = arduino board = armed_v1 build_flags = ${common.build_flags} -DUSBCON -DUSBD_VID=0x0483 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="ARMED_V1"' -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -std=gnu11 -std=gnu++11 lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Longer 3D board in Alfawise U20 (STM32F103VET6) # [env:STM32F103V_longer] platform = ststm32 framework = arduino board = genericSTM32F103VE monitor_speed = 250000 extra_scripts = buildroot/share/PlatformIO/scripts/longer_STM32.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -USERIAL_USB -DSTM32F1xx -DU20 -DTS_V12 build_unflags = -std=gnu++11 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, LiquidTWI2, SPI # # MKS Robin (STM32F103ZET6) # [env:mks_robin] platform = ststm32 framework = arduino board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI # # MKS ROBIN LITE/LITE2 (STM32F103RCT6) # [env:mks_robin_lite] platform = ststm32 framework = arduino board = genericSTM32F103RC extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_lite.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI # # MKS Robin Mini (STM32F103VET6) # [env:mks_robin_mini] platform = ststm32 framework = arduino board = genericSTM32F103VE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_mini.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI # # MKS Robin Nano (STM32F103VET6) # [env:mks_robin_nano] platform = ststm32 framework = arduino board = genericSTM32F103VE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI # # JGAurora A5S A1 (STM32F103ZET6) # [env:jgaurora_a5s_a1] platform = ststm32 framework = arduino board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -DSTM32F1xx -std=gnu++14 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SPI monitor_speed = 250000 # # STM32F407VET6 with RAMPS-like shield # 'Black' STM32F407VET6 board - http://wiki.stm32duino.com/index.php?title=STM32F407 # Shield - https://github.com/jmz52/Hardware # [env:STM32F407VE_black] platform = ststm32@5.4.3 framework = arduino board = blackSTM32F407VET6 extra_scripts = pre:buildroot/share/PlatformIO/scripts/black_stm32f407vet6.py build_flags = ${common.build_flags} -DSTM32F4 -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"BLACK_F407VE\" lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, TMCStepper, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Bigtreetech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) # [env:BIGTREE_SKR_PRO] platform = ststm32 framework = arduino board = BigTree_SKR_Pro extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407ZG\" -DTARGET_STM32F4 -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000 -DHAVE_HWSERIAL6 lib_deps = U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip LiquidCrystal@1.3.4 TMCStepper@<1.0.0 Adafruit NeoPixel LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # BIGTREE_SKR_BTT002 (STM32F407VET6 ARM Cortex-M4) # [env:BIGTREE_BTT002] platform = ststm32 framework = arduino board = BigTree_Btt002 extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407VE\" -DTARGET_STM32F4 -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000 -DHAVE_HWSERIAL2 -DHAVE_HWSERIAL3 -DPIN_SERIAL2_RX=PD_6 -DPIN_SERIAL2_TX=PD_5 lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Teensy 3.1 / 3.2 (ARM Cortex-M4) # [env:teensy31] platform = teensy framework = arduino board = teensy31 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip lib_ignore = Adafruit NeoPixel src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Teensy 3.5 / 3.6 (ARM Cortex-M4) # [env:teensy35] platform = teensy framework = arduino board = teensy35 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip lib_ignore = Adafruit NeoPixel src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Malyan M200 (STM32F1) # [env:malyanm200] platform = ststm32 framework = arduino board = malyanM200 build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ src_filter = ${common.default_src_filter} + #- lib_ignore = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-HAL, SPI # # Espressif ESP32 # [env:esp32] platform = espressif32 board = esp32dev framework = arduino upload_speed = 115200 monitor_speed = 115200 upload_port = /dev/ttyUSB0 lib_deps = AsyncTCP=https://github.com/me-no-dev/AsyncTCP/archive/master.zip ESPAsyncWebServer=https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip lib_ignore = LiquidCrystal, LiquidTWI2, SailfishLCD, SailfishRGB_LED src_filter = ${common.default_src_filter} + # # FYSETC F6 V1.3 # [env:fysetc_f6_13] platform = atmelavr framework = arduino board = fysetc_f6_13 build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = ${common.default_src_filter} + monitor_speed = 250000 # # Native # No supported Arduino libraries, base Marlin only # [env:linux_native] platform = native build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ src_build_flags = -Wall -IMarlin/src/HAL/HAL_LINUX/include build_unflags = -Wall lib_ldf_mode = off lib_deps = extra_scripts = src_filter = ${common.default_src_filter} + # # Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4) # [env:SAMD51_grandcentral_m4] platform = atmelsam board = adafruit_grandcentral_m4 framework = arduino build_flags = ${common.build_flags} -std=gnu++17 extra_scripts = ${common.extra_scripts} build_unflags = -std=gnu++11 lib_deps = ${common.lib_deps} src_filter = ${common.default_src_filter} + debug_tool = jlink # # Just print the dependency tree # [env:include_tree] platform = atmelavr framework = arduino board = megaatmega2560 build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ lib_deps = ${common.lib_deps} TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter = +