3 # PlatformIO Configuration File
6 #################################
8 # STM32F1 Architecture with LibMaple STM32F1 HAL
10 # Naming Example: STM32F103RCT6
12 # F : Foundation (sometimes High Performance F2/F4)
13 # 1 : Cortex M3 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
15 # R : 64 or 66 pins (V:100, Z:144, I:176)
16 # C : 256KB Flash-memory (D:384KB, E:512KB, G:1024KB)
18 # 6 : -40...85°C (7: ...105°C)
20 #################################
23 # HAL/STM32F1 Common Environment values
26 platform = ststm32@~12.1
27 board_build.core = maple
28 build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
29 $
{common.build_flags
} -DARDUINO_ARCH_STM32
-DMAPLE_STM32F1
30 build_unflags = -std=gnu11 -std=gnu++11
31 build_src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
32 lib_ignore = SPI, FreeRTOS701, FreeRTOS821
33 lib_deps = ${common.lib_deps}
35 platform_packages = tool-stm32duino
36 extra_scripts = ${common.extra_scripts}
37 pre
:buildroot
/share
/PlatformIO
/scripts
/fix_framework_weakness.py
38 pre
:buildroot
/share
/PlatformIO
/scripts
/stm32_serialbuffer.py
39 buildroot
/share
/PlatformIO
/scripts
/custom_board.py
40 buildroot
/share
/PlatformIO
/scripts
/offset_and_rename.py
43 # Generic STM32F103RC environment
45 [env:STM32F103RC_maple]
46 extends = STM32F1_maple
47 board = genericSTM32F103RC
48 monitor_speed = 115200
51 # Generic STM32F103RE environment
53 [env:STM32F103RE_maple]
54 extends = STM32F1_maple
55 board = genericSTM32F103RE
56 monitor_speed = 115200
59 # MEEB_3DP (STM32F103RCT6 with 512K)
61 [env:STM32F103RC_meeb_maple]
62 extends = env:STM32F103RC_maple
63 board = marlin_maple_MEEB_3DP
64 build_flags = ${STM32F1_maple.build_flags}
67 -DSTM32_FLASH_SIZE=512
70 -DVECT_TAB_OFFSET=0x2000
72 board_build.ldscript = STM32F103RC_MEEB_3DP.ld
73 extra_scripts = ${STM32F1_maple.extra_scripts}
74 pre
:buildroot
/share
/PlatformIO
/scripts
/STM32F1_create_variant.py
75 buildroot
/share
/PlatformIO
/scripts
/STM32F103RC_MEEB_3DP.py
76 lib_deps = ${STM32F1_maple.lib_deps}
77 USBComposite for STM32F1@
0.91
78 custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use
85 [env:STM32F103RC_fysetc_maple]
86 extends = env:STM32F103RC_maple
87 extra_scripts = ${STM32F1_maple.extra_scripts}
88 buildroot
/share
/PlatformIO
/scripts
/STM32F103RC_fysetc.py
89 build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0
92 upload_protocol = serial
95 # BigTree SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
97 # STM32F103RC_btt_maple ............. RCT6 with 256K
98 # STM32F103RC_btt_USB_maple ......... RCT6 with 256K (USB mass storage)
100 [env:STM32F103RC_btt_maple]
101 extends = env:STM32F103RC_maple
102 board_build.address = 0x08007000
103 board_build.ldscript = STM32F103RC_SKR_MINI_256K.ld
104 build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
105 monitor_speed = 115200
107 [env:STM32F103RC_btt_USB_maple]
108 extends = env:STM32F103RC_btt_maple
109 build_flags = ${env:STM32F103RC_btt_maple.build_flags} -DUSE_USB_COMPOSITE
110 lib_deps = ${env:STM32F103RC_btt_maple.lib_deps}
111 USBComposite for STM32F1@
0.91
114 # Creality (STM32F103RET6)
116 [env:STM32F103RE_creality_maple]
117 extends = env:STM32F103RE_maple
118 build_flags = ${STM32F1_maple.build_flags} -DTEMP_TIMER_CHAN=4
119 board_build.address = 0x08007000
120 board_build.ldscript = creality.ld
121 extra_scripts = ${STM32F1_maple.extra_scripts}
122 pre
:buildroot
/share
/PlatformIO
/scripts
/random
-bin.py
124 upload_protocol = jlink
127 # Creality (STM32F103RCT6)
129 [env:STM32F103RC_creality_maple]
130 extends = env:STM32F103RC_maple
131 build_flags = ${STM32F1_maple.build_flags} -DTEMP_TIMER_CHAN=4
132 board_build.address = 0x08007000
133 board_build.ldscript = creality.ld
134 extra_scripts = ${STM32F1_maple.extra_scripts}
135 pre
:buildroot
/share
/PlatformIO
/scripts
/random
-bin.py
137 upload_protocol = jlink
140 # Creality (STM32F103RET6)
142 [env:STM32F103RE_creality_smartPro_maple]
143 extends = env:STM32F103RE_creality_maple
144 board_build.address = 0x08010000
145 board_build.ldscript = crealityPro.ld
148 # BigTree SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
150 # STM32F103RE_btt_maple ............. RET6
151 # STM32F103RE_btt_USB_maple ......... RET6 (USB mass storage)
153 [env:STM32F103RE_btt_maple]
154 extends = env:STM32F103RE_maple
155 board_build.address = 0x08007000
156 board_build.ldscript = STM32F103RE_SKR_MINI_512K.ld
157 build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
159 upload_protocol = stlink
161 [env:STM32F103RE_btt_USB_maple]
162 extends = env:STM32F103RE_btt_maple
163 build_flags = ${env:STM32F103RE_btt_maple.build_flags} -DUSE_USB_COMPOSITE
164 lib_deps = ${STM32F1_maple.lib_deps}
165 USBComposite for STM32F1@
0.91
168 # Geeetech GTM32 (STM32F103VET6)
170 [env:STM32F103VE_GTM32_maple]
171 extends = STM32F1_maple
172 board = genericSTM32F103VE
173 build_flags = ${STM32F1_maple.build_flags}
174 -ffunction
-sections
-fdata
-sections
-nostdlib
-MMD
175 -DMCU_STM32F103VE
-DARDUINO_GENERIC_STM32F103V
-DARDUINO_ARCH_STM32F1
-DBOARD_generic_stm32f103v
176 -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000
177 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
178 upload_protocol = serial
181 # Longer 3D board in Alfawise U20 (STM32F103VET6)
183 [env:STM32F103VE_longer_maple]
184 extends = STM32F1_maple
185 board = genericSTM32F103VE
186 board_build.address = 0x08010000
187 board_build.rename = project.bin
188 board_build.ldscript = STM32F103VE_longer.ld
189 build_flags = ${STM32F1_maple.build_flags}
190 -DMCU_STM32F103VE
-DSTM32F1xx
-USERIAL_USB
-DU20
-DTS_V12
191 build_unflags = ${STM32F1_maple.build_unflags}
192 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
195 # MKS Robin Mini (STM32F103VET6)
197 [env:mks_robin_mini_maple]
198 extends = STM32F1_maple
199 board = genericSTM32F103VE
200 board_build.address = 0x08007000
201 board_build.rename = Robin_mini.bin
202 board_build.ldscript = mks_robin_mini.ld
203 build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE
206 # MKS Robin Nano (STM32F103VET6)
208 [env:mks_robin_nano35_maple]
209 extends = STM32F1_maple
210 board = genericSTM32F103VE
211 board_build.address = 0x08007000
212 board_build.rename = Robin_nano35.bin
213 board_build.ldscript = mks_robin_nano.ld
214 build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4
216 upload_protocol = jlink
219 # MKS Robin (STM32F103ZET6)
221 [env:mks_robin_maple]
222 extends = STM32F1_maple
223 board = genericSTM32F103ZE
224 board_build.address = 0x08007000
225 board_build.rename = Robin.bin
226 board_build.ldscript = mks_robin.ld
227 build_flags = ${STM32F1_maple.build_flags} -DSS_TIMER=4 -DSTM32_XL_DENSITY
230 # MKS Robin Pro (STM32F103ZET6)
232 [env:mks_robin_pro_maple]
233 extends = env:mks_robin_maple
234 board_build.address = 0x08007000
235 board_build.rename = Robin_pro.bin
236 board_build.ldscript = mks_robin_pro.ld
239 # TRIGORILLA PRO (STM32F103ZET6)
241 [env:trigorilla_pro_maple]
242 extends = env:mks_robin_maple
243 extra_scripts = ${STM32F1_maple.extra_scripts}
246 # MKS Robin E3D (STM32F103RCT6) and
247 # MKS Robin E3 with TMC2209
249 [env:mks_robin_e3_maple]
250 extends = STM32F1_maple
251 board = genericSTM32F103RC
252 board_build.address = 0x08005000
253 board_build.rename = Robin_e3.bin
254 board_build.ldscript = mks_robin_e3.ld
255 build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
258 # MKS Robin E3p (STM32F103VET6)
261 [env:mks_robin_e3p_maple]
262 extends = STM32F1_maple
263 board = genericSTM32F103VE
264 board_build.address = 0x08007000
265 board_build.rename = Robin_e3p.bin
266 board_build.ldscript = mks_robin_e3p.ld
267 build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4
269 upload_protocol = jlink
272 # MKS Robin Lite/Lite2 (STM32F103RCT6)
274 [env:mks_robin_lite_maple]
275 extends = STM32F1_maple
276 board = genericSTM32F103RC
277 board_build.address = 0x08005000
278 board_build.rename = mksLite.bin
279 board_build.ldscript = mks_robin_lite.ld
282 # MKS ROBIN LITE3 (STM32F103RCT6)
284 [env:mks_robin_lite3_maple]
285 extends = STM32F1_maple
286 board = genericSTM32F103RC
287 board_build.address = 0x08005000
288 board_build.rename = mksLite3.bin
289 board_build.ldscript = mks_robin_lite.ld
292 # JGAurora A5S A1 (STM32F103ZET6)
294 [env:jgaurora_a5s_a1_maple]
295 extends = STM32F1_maple
296 board = genericSTM32F103ZE
297 board_build.address = 0x0800A000
298 board_build.ldscript = jgaurora_a5s_a1.ld
299 extra_scripts = ${STM32F1_maple.extra_scripts}
300 buildroot
/share
/PlatformIO
/scripts
/jgaurora_a5s_a1_with_bootloader.py
301 build_flags = ${STM32F1_maple.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY
304 # Malyan M200 (STM32F103CB)
306 [env:STM32F103CB_malyan_maple]
307 extends = STM32F1_maple
308 board = marlin_malyanM200
309 build_flags = ${STM32F1_maple.build_flags}
310 -DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections
311 -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__
312 lib_ignore = ${STM32F1_maple.lib_ignore}
316 # Chitu boards like Tronxy X5s (STM32F103ZET6)
318 [env:chitu_f103_maple]
319 extends = STM32F1_maple
320 board = marlin_maple_CHITU_F103
321 extra_scripts = ${STM32F1_maple.extra_scripts}
322 pre
:buildroot
/share
/PlatformIO
/scripts
/STM32F1_create_variant.py
323 buildroot
/share
/PlatformIO
/scripts
/chitu_crypt.py
324 build_flags = ${STM32F1_maple.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY
325 build_unflags = ${STM32F1_maple.build_unflags}
326 -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6
329 # Some Chitu V5 boards have a problem with GPIO init.
330 # Use this target if G28 or G29 are always failing.
332 [env:chitu_v5_gpio_init_maple]
333 extends = env:chitu_f103_maple
334 build_flags = ${env:chitu_f103_maple.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
337 # FLYmaker FLY Mini (STM32F103RCT6)
340 extends = STM32F1_maple
341 board = genericSTM32F103RC
342 board_build.address = 0x08005000
343 board_build.ldscript = fly_mini.ld
344 build_flags = ${STM32F1_maple.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4
347 # Zonestar ZM3E2 V1.0 / ZM3E4 V1.0 / ZM3E4 V2.0
349 # STM32F103RC_ZM3E2_USB_maple ........... RCT6 with 256K
350 # STM32F103VC_ZM3E4_USB_maple ........... VCT6 with 256K
351 # STM32F103VE_ZM3E4V2_USB_maple ......... VET6 with 512K
353 [ZONESTAR_ZM3E_maple]
354 extends = STM32F1_maple
355 platform_packages = tool-stm32duino
356 board_build.address = 0x08005000
357 board_build.offset = 0x5000
358 board_upload.maximum_size = 237568
359 build_flags = ${STM32F1_maple.build_flags}
360 -D__STM32F1__=1 -DDEBUG_LEVEL=0 -DSS_TIMER=4 -DSERIAL_USB
361 lib_deps = ${STM32F1_maple.lib_deps}
362 USBComposite for STM32F1@
0.91
363 lib_ignore = Adafruit NeoPixel, SPI, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster, TMCStepper
365 [env:STM32F103RC_ZM3E2_USB_maple]
366 extends = ZONESTAR_ZM3E_maple
367 board = genericSTM32F103RC
368 board_build.ldscript = ZONESTAR_ZM3E_256K.ld
370 [env:STM32F103VC_ZM3E4_USB_maple]
371 extends = ZONESTAR_ZM3E_maple
372 board = genericSTM32F103VC
373 board_build.ldscript = ZONESTAR_ZM3E_256K.ld
374 build_flags = ${ZONESTAR_ZM3E_maple.build_flags} -DTONE_TIMER=1 -DTONE_CHANNEL=2
376 [env:STM32F103VE_ZM3E4V2_USB_maple]
377 extends = ZONESTAR_ZM3E_maple
378 board = genericSTM32F103VE
379 board_build.ldscript = ZONESTAR_ZM3E_512K.ld
380 build_flags = ${ZONESTAR_ZM3E_maple.build_flags} -DTONE_TIMER=1 -DTONE_CHANNEL=2
381 board_upload.maximum_size = 499712
384 # ERYONE ERY32 Mini (STM32F103VET6)
386 [env:ERYONE_ERY32_MINI_maple]
387 extends = STM32F1_maple
388 board = genericSTM32F103VE
389 build_flags = ${STM32F1_maple.build_flags}
390 -ffunction
-sections
-fdata
-sections
-nostdlib
-MMD
391 -DMCU_STM32F103VE
-DARDUINO_GENERIC_STM32F103V
-DARDUINO_ARCH_STM32F1
392 -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1
394 board_build.variant = MARLIN_F103Vx
395 board_build.ldscript = eryone_ery32_mini.ld
396 board_build.address = 0x08004000
397 build_unflags = ${STM32F1_maple.build_unflags}