Stream Binary Data from Arduino Nano 33 BLE to PC via BLE

Thanks for the resources. I worked out a method using that write capability/custom characteristic and the Python Bleak library.

async with BleakClient(device.address) as client:
                print(f'Connected to {device.address}')
                while(1):
                    packets = await client.read_gatt_char(CHARACTERISTIC_UUID)
                    if (packets):
                        print("Seq:", int.from_bytes(packets[0:2], 'little', signed=False))

Unfortunately, I have run into another hiccup: Bleak only get's ~6% of packets at a packet frequency of ~23kHz. Total transmission rate is ~33kbps over the expected ~552kbps.

Seq: 40
Seq: 58
Seq: 73
Seq: 89
Seq: 104
Seq: 120
Seq: 138
Seq: 151
Seq: 168
Seq: 182
Seq: 198
Seq: 213
Seq: 228
Seq: 243
...

Do you suggest any other non-BLE solutions? Or an alternative way to capture the BLE packets without so much loss?