diff --git a/boards.txt b/boards.txt
index 5d065cb9c..24445e0b5 100644
--- a/boards.txt
+++ b/boards.txt
@@ -24,6 +24,7 @@ arduino_zero_edbg.debug.tool=gdb
 arduino_zero_edbg.upload.tool=openocd
 arduino_zero_edbg.upload.protocol=sam-ba
 arduino_zero_edbg.upload.maximum_size=262144
+arduino_zero_edbg.upload.maximum_data_size=32768
 arduino_zero_edbg.upload.use_1200bps_touch=false
 arduino_zero_edbg.upload.wait_for_upload_port=false
 arduino_zero_edbg.upload.native_usb=false
@@ -58,6 +59,7 @@ arduino_zero_native.pid.3=0x024d
 arduino_zero_native.upload.tool=bossac
 arduino_zero_native.upload.protocol=sam-ba
 arduino_zero_native.upload.maximum_size=262144
+arduino_zero_native.upload.maximum_data_size=32768
 arduino_zero_native.upload.use_1200bps_touch=true
 arduino_zero_native.upload.wait_for_upload_port=true
 arduino_zero_native.upload.native_usb=true
@@ -93,6 +95,7 @@ mkr1000.debug.tool=gdb
 mkr1000.upload.tool=bossac
 mkr1000.upload.protocol=sam-ba
 mkr1000.upload.maximum_size=262144
+mkr1000.upload.maximum_data_size=32768
 mkr1000.upload.use_1200bps_touch=true
 mkr1000.upload.wait_for_upload_port=true
 mkr1000.upload.native_usb=true
@@ -123,6 +126,7 @@ mkrzero.debug.tool=gdb
 mkrzero.upload.tool=bossac
 mkrzero.upload.protocol=sam-ba
 mkrzero.upload.maximum_size=262144
+mkrzero.upload.maximum_data_size=32768
 mkrzero.upload.use_1200bps_touch=true
 mkrzero.upload.wait_for_upload_port=true
 mkrzero.upload.native_usb=true
@@ -153,6 +157,7 @@ mkrwifi1010.debug.tool=gdb
 mkrwifi1010.upload.tool=bossac
 mkrwifi1010.upload.protocol=sam-ba
 mkrwifi1010.upload.maximum_size=262144
+mkrwifi1010.upload.maximum_data_size=32768
 mkrwifi1010.upload.use_1200bps_touch=true
 mkrwifi1010.upload.wait_for_upload_port=true
 mkrwifi1010.upload.native_usb=true
@@ -183,6 +188,7 @@ nano_33_iot.debug.tool=gdb
 nano_33_iot.upload.tool=bossac
 nano_33_iot.upload.protocol=sam-ba
 nano_33_iot.upload.maximum_size=262144
+nano_33_iot.upload.maximum_data_size=32768
 nano_33_iot.upload.use_1200bps_touch=true
 nano_33_iot.upload.wait_for_upload_port=true
 nano_33_iot.upload.native_usb=true
@@ -213,6 +219,7 @@ mkrfox1200.debug.tool=gdb
 mkrfox1200.upload.tool=bossac
 mkrfox1200.upload.protocol=sam-ba
 mkrfox1200.upload.maximum_size=262144
+mkrfox1200.upload.maximum_data_size=32768
 mkrfox1200.upload.use_1200bps_touch=true
 mkrfox1200.upload.wait_for_upload_port=true
 mkrfox1200.upload.native_usb=true
@@ -243,6 +250,7 @@ mkrwan1300.debug.tool=gdb
 mkrwan1300.upload.tool=bossac
 mkrwan1300.upload.protocol=sam-ba
 mkrwan1300.upload.maximum_size=262144
+mkrwan1300.upload.maximum_data_size=32768
 mkrwan1300.upload.use_1200bps_touch=true
 mkrwan1300.upload.wait_for_upload_port=true
 mkrwan1300.upload.native_usb=true
@@ -273,6 +281,7 @@ mkrwan1310.debug.tool=gdb
 mkrwan1310.upload.tool=bossac
 mkrwan1310.upload.protocol=sam-ba
 mkrwan1310.upload.maximum_size=262144
+mkrwan1310.upload.maximum_data_size=32768
 mkrwan1310.upload.use_1200bps_touch=true
 mkrwan1310.upload.wait_for_upload_port=true
 mkrwan1310.upload.native_usb=true
@@ -303,6 +312,7 @@ mkrgsm1400.debug.tool=gdb
 mkrgsm1400.upload.tool=bossac
 mkrgsm1400.upload.protocol=sam-ba
 mkrgsm1400.upload.maximum_size=262144
+mkrgsm1400.upload.maximum_data_size=32768
 mkrgsm1400.upload.use_1200bps_touch=true
 mkrgsm1400.upload.wait_for_upload_port=true
 mkrgsm1400.upload.native_usb=true
@@ -333,6 +343,7 @@ mkrnb1500.debug.tool=gdb
 mkrnb1500.upload.tool=bossac
 mkrnb1500.upload.protocol=sam-ba
 mkrnb1500.upload.maximum_size=262144
+mkrnb1500.upload.maximum_data_size=32768
 mkrnb1500.upload.use_1200bps_touch=true
 mkrnb1500.upload.wait_for_upload_port=true
 mkrnb1500.upload.native_usb=true
@@ -363,6 +374,7 @@ mkrvidor4000.debug.tool=gdb
 mkrvidor4000.upload.tool=bossacI
 mkrvidor4000.upload.protocol=sam-ba
 mkrvidor4000.upload.maximum_size=262144
+mkrvidor4000.upload.maximum_data_size=32768
 mkrvidor4000.upload.use_1200bps_touch=true
 mkrvidor4000.upload.wait_for_upload_port=true
 mkrvidor4000.upload.native_usb=true
@@ -391,6 +403,7 @@ adafruit_circuitplayground_m0.pid.1=0x0018
 adafruit_circuitplayground_m0.upload.tool=bossac
 adafruit_circuitplayground_m0.upload.protocol=sam-ba
 adafruit_circuitplayground_m0.upload.maximum_size=262144
+adafruit_circuitplayground_m0.upload.maximum_data_size=32768
 adafruit_circuitplayground_m0.upload.use_1200bps_touch=true
 adafruit_circuitplayground_m0.upload.wait_for_upload_port=true
 adafruit_circuitplayground_m0.upload.native_usb=true
@@ -418,6 +431,7 @@ mzero_pro_bl_dbg.pid.0=0x2111
 mzero_pro_bl_dbg.upload.tool=openocd-withbootsize
 mzero_pro_bl_dbg.upload.protocol=sam-ba
 mzero_pro_bl_dbg.upload.maximum_size=262144
+mzero_pro_bl_dbg.upload.maximum_data_size=32768
 mzero_pro_bl_dbg.upload.use_1200bps_touch=false
 mzero_pro_bl_dbg.upload.wait_for_upload_port=false
 mzero_pro_bl_dbg.upload.native_usb=false
@@ -456,6 +470,7 @@ mzero_pro_bl.pid.3=0x804f
 mzero_pro_bl.upload.tool=avrdude
 mzero_pro_bl.upload.protocol=stk500v2
 mzero_pro_bl.upload.maximum_size=262144
+mzero_pro_bl.upload.maximum_data_size=32768
 mzero_pro_bl.upload.use_1200bps_touch=true
 mzero_pro_bl.upload.wait_for_upload_port=true
 mzero_pro_bl.upload.native_usb=true
@@ -493,6 +508,7 @@ mzero_bl.pid.3=0x804e
 mzero_bl.upload.tool=avrdude
 mzero_bl.upload.protocol=stk500v2
 mzero_bl.upload.maximum_size=262144
+mzero_bl.upload.maximum_data_size=32768
 mzero_bl.upload.use_1200bps_touch=true
 mzero_bl.upload.wait_for_upload_port=true
 mzero_bl.upload.native_usb=true
@@ -528,6 +544,7 @@ tian.upload.tool=avrdude
 #tian.upload.protocol=stk500v2
 tian.upload.protocol=wiring
 tian.upload.maximum_size=262144
+tian.upload.maximum_data_size=32768
 tian.upload.use_1200bps_touch=true
 tian.upload.wait_for_upload_port=true
 tian.upload.native_usb=true