Changes to main.c 66c66 < #define SEC_PARAM_BOND 1 /**< Perform bonding. */ --- > #define SEC_PARAM_BOND 0 /**< Perform bonding. */ Also tried to change the sd_ble_gap_sec_params_reply parameter as your first surgestion: 320c320 < &s_sec_keyset); --- > NULL/*&s_sec_keyset*/); Changes to ble_nus.c 106,107c104,105 < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.read_perm); < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.write_perm); --- > BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.read_perm); // Has to be open, do not know why > BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(&cccd_md.write_perm); 125,126c123,124 < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.read_perm); < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.write_perm); --- > BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(&attr_md.read_perm); > BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(&attr_md.write_perm); 166c164 < char_md.char_props.write_wo_resp = 1; --- > // char_md.char_props.write_wo_resp = 1; 178,179c176,177 < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.read_perm); < BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.write_perm); --- > BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(&attr_md.read_perm); > BLE_GAP_CONN_SEC_MODE_SET_ENC_NO_MITM(&attr_md.write_perm);