diff --git a/firmware/rust1/src/modbus_server.rs b/firmware/rust1/src/modbus_server.rs
index a5aab1106df7ef4994e83d51be8c33eff48e66e5..5c230816357854458d8aafe2571f181dae26c2eb 100644
--- a/firmware/rust1/src/modbus_server.rs
+++ b/firmware/rust1/src/modbus_server.rs
@@ -50,14 +50,14 @@ fn get_modbus_frame_length(rxbuf: &[u8]) -> ModbusFrameLength {
 }
 
 const CRC: Crc<u16> = Crc::<u16>::new(&CRC_16_MODBUS);
-const TX_BUF_LENGTH: usize = 32;
+const BUF_LENGTH: usize = 256;
 
 pub struct ModbusServer<REGS: ModbusRegisters> {
-    rxbuf: Vec<u8, 32>,
+    rxbuf: Vec<u8, BUF_LENGTH>,
     rxcrc: Digest<'static, u16>,
     rx_expected_bytes: ModbusFrameLength,
     rx_received_bytes: u16,
-    txbuf: Vec<u8, TX_BUF_LENGTH>,
+    txbuf: Vec<u8, BUF_LENGTH>,
     regs: REGS,
 }
 
@@ -281,7 +281,7 @@ impl<REGS: ModbusRegisters> ModbusServer<REGS> {
 
 impl<REGS: ModbusRegisters> RS485Handler for ModbusServer<REGS> {
     //type CommandFuture = !;
-    const TX_BUF_LENGTH: usize = TX_BUF_LENGTH;
+    const TX_BUF_LENGTH: usize = BUF_LENGTH;
 
     fn on_rx<F>(self: &mut Self, rx: Result<u8, uart::Error>, reply: Option<F>)
         where F: FnOnce(&[u8]) {