diff --git a/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/apertif_unb1_cor_mesh_ref.vhd b/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/apertif_unb1_cor_mesh_ref.vhd
index 41d26ff4c31581f00c5879f8b8016172718fd377..07a44bcd7d7873b3e2e229c2c9facbdb19e72e02 100644
--- a/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/apertif_unb1_cor_mesh_ref.vhd
+++ b/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/apertif_unb1_cor_mesh_ref.vhd
@@ -87,12 +87,12 @@ END apertif_unb1_cor_mesh_ref;
 ARCHITECTURE str OF apertif_unb1_cor_mesh_ref IS
   
   CONSTANT c_use_phy                 : t_c_unb1_board_use_phy := (1, 0, 1, 0, 0, 0, 0, 1);         
-  CONSTANT c_fw_version              : t_unb1_board_fw_version := (0, 1);  -- firmware version x.y 
+  CONSTANT c_fw_version              : t_unb1_board_fw_version := (0, 5);  -- firmware version x.y 
                                      
   CONSTANT c_node_type               : t_e_unb1_board_node := e_any;   -- or e_fn, or e_bn
   CONSTANT c_nof_bus                 : NATURAL := 4;      -- one bus to each of the 4 nodes on the other side of the mesh
   CONSTANT c_usr_use_complex         : BOOLEAN := TRUE;   -- when TRUE transport sosi im & re fields via DP data, else transport sosi data via DP data
-  CONSTANT c_usr_data_w              : NATURAL := 8;      -- <= 32, to avoid need for DP packet data packing and to fit on the tr_nonbonded PHY data width of 32 bit
+  CONSTANT c_usr_data_w              : NATURAL := 16;    -- 16 = 2 x c_complex_w = 2 x 8 
   CONSTANT c_usr_frame_len           : NATURAL := 128; --20;
   CONSTANT c_usr_nof_streams         : NATURAL := 3;      -- number of user streams per bus
   CONSTANT c_phy_nof_serial          : NATURAL := 3;      -- up to 4 serial lanes per bus
@@ -104,7 +104,7 @@ ARCHITECTURE str OF apertif_unb1_cor_mesh_ref IS
   CONSTANT c_tx_input_fifo_size      : NATURAL := c_bram_m9k_fifo_depth;   -- g_tx_input_use_fifo=TRUE, choose to use full BRAM size = 256 for FIFO depth at input to uth_terminal_tx
   CONSTANT c_tx_input_fifo_fill      : NATURAL := 0;
   CONSTANT c_use_rx                  : BOOLEAN := TRUE;
-  CONSTANT c_rx_output_use_fifo      : BOOLEAN := FALSE;   -- Rx output provides FIFOs to ensure that dp_distribute does not get blocked due to substantial backpressure on another output
+  CONSTANT c_rx_output_use_fifo      : BOOLEAN := TRUE;   -- Rx output provides FIFOs to ensure that dp_distribute does not get blocked due to substantial backpressure on another output
   CONSTANT c_rx_output_fifo_size     : NATURAL := c_bram_m9k_fifo_depth;   -- g_rx_output_use_fifo, choose to use full BRAM size = 256 for FIFO depth at output of uth_terminal_rx
   CONSTANT c_rx_output_fifo_fill     : NATURAL := 0;
   CONSTANT c_rx_timeout_w            : NATURAL := 0;      -- when 0 then no timeout else when > 0 then flush pending rx payload after 2**g_timeout_w clk cylces of inactive uth_rx snk_in.valid
@@ -121,8 +121,6 @@ ARCHITECTURE str OF apertif_unb1_cor_mesh_ref IS
   CONSTANT c_mesh_mon_nof_words      : NATURAL := c_unb1_board_peripherals_mm_reg_default.ram_diag_db_buf_size;  -- = 1024
   CONSTANT c_mesh_mon_use_sync       : BOOLEAN := TRUE;  -- when TRUE use dp_pps to trigger the data buffer capture, else new data capture after read access of last data word
                                      
-  CONSTANT c_reg_diag_db_adr_w       : NATURAL := 5;
-
   -- System
   SIGNAL cs_sim                      : STD_LOGIC;
   SIGNAL xo_clk                      : STD_LOGIC;
@@ -200,9 +198,13 @@ ARCHITECTURE str OF apertif_unb1_cor_mesh_ref IS
   SIGNAL ram_diag_data_buf_im_mosi   : t_mem_mosi := c_mem_mosi_rst;
   SIGNAL ram_diag_data_buf_im_miso   : t_mem_miso;
   SIGNAL reg_diag_data_buf_im_mosi   : t_mem_mosi := c_mem_mosi_rst;
-  SIGNAL reg_diag_data_buf_im_miso   : t_mem_miso;  
-
-BEGIN
+  SIGNAL reg_diag_data_buf_im_miso   : t_mem_miso;    
+  
+  -- MM bsn_monitor
+  SIGNAL reg_bsn_monitor_mosi        : t_mem_mosi := c_mem_mosi_rst;  
+  SIGNAL reg_bsn_monitor_miso        : t_mem_miso;                    
+  
+BEGIN                                                                 
 
   -----------------------------------------------------------------------------
   -- General control function
@@ -351,7 +353,9 @@ BEGIN
      reg_diagnostics_mosi       =>  reg_diagnostics_mosi,
      reg_diagnostics_miso       =>  reg_diagnostics_miso,
      reg_tr_nonbonded_mosi      =>  reg_tr_nonbonded_mosi,
-     reg_tr_nonbonded_miso      =>  reg_tr_nonbonded_miso
+     reg_tr_nonbonded_miso      =>  reg_tr_nonbonded_miso,
+     reg_bsn_monitor_mosi       =>  reg_bsn_monitor_mosi,
+     reg_bsn_monitor_miso       =>  reg_bsn_monitor_miso      
    );
  
   -----------------------------------------------------------------------------
@@ -427,7 +431,8 @@ BEGIN
     reg_tr_nonbonded_miso       => reg_tr_nonbonded_miso,      
     reg_diagnostics_mosi        => reg_diagnostics_mosi,       
     reg_diagnostics_miso        => reg_diagnostics_miso, 
-
+    reg_bsn_monitor_mosi        => reg_bsn_monitor_mosi,
+    reg_bsn_monitor_miso        => reg_bsn_monitor_miso,
     -- Mesh serial interface (tr_nonbonded)
     tx_serial_2arr              => tx_serial_2arr, 
     rx_serial_2arr              => rx_serial_2arr