diff --git a/ports/stm32/usbd_cdc_interface.h b/ports/stm32/usbd_cdc_interface.h
index 780d4816e836f49662a2c9b8b818e9b9c933c821..a48516b1f6df6fea34f90b69c303179b8f05e94a 100644
--- a/ports/stm32/usbd_cdc_interface.h
+++ b/ports/stm32/usbd_cdc_interface.h
@@ -31,8 +31,12 @@
   ******************************************************************************
   */
 
+#ifndef USBD_CDC_RX_DATA_SIZE
 #define USBD_CDC_RX_DATA_SIZE (1024) // this must be 2 or greater, and a power of 2
+#endif
+#ifndef USBD_CDC_TX_DATA_SIZE
 #define USBD_CDC_TX_DATA_SIZE (1024) // I think this can be any value (was 2048)
+#endif
 
 // Values for connect_state
 #define USBD_CDC_CONNECT_STATE_DISCONNECTED (0)