diff --git a/embassy/demos/picow/src/usbserial.rs b/embassy/demos/picow/src/usbserial.rs
index 91d111d537b1e2b306a263ef93ac8f099d4a822d..7a90a465ba5499aeedf12be3e833a707369d0892 100644
--- a/embassy/demos/picow/src/usbserial.rs
+++ b/embassy/demos/picow/src/usbserial.rs
@@ -88,7 +88,8 @@ pub async fn usb_serial(usb: embassy_rp::peripherals::USB,
             };
 
             let io_rx = async {
-                let mut b = [0u8; 64];
+                // limit to 63 so we can ignore dealing with ZLPs for now
+                let mut b = [0u8; 63];
                 loop {
                     let n = rx.read(&mut b).await.map_err(|_| IoDone)?;
                     if n == 0 {