You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Access Point (AP) Configuration
Router: A wireless router set to AP mode
Frequency Band: 5GHz
Bandwidth: 20MHz
Protocol: 11ac/n/a
When obtaining CSI data with these settings, the CSI data length is 228.
On the other hand, when using ESP-NOW with the same conditions (11ac, 5GHz, 20MHz), the CSI data length is 114.
Assumption
For a 20MHz bandwidth, I expect the CSI data length to be 114, calculated as follows:
Data carriers: 52
Pilot carriers: 4
Center carrier: 1
Each has both amplitude and phase, so the total is: (52 + 4 + 1) × 2 = 114
Questions
Why is the CSI data length 228 when obtained in STA mode?
What is the reason for the difference compared to the 114 data length when using ESP-NOW?
Additional Information
If any additional information is required to resolve this issue, please let me know.
I have also attached a serial output image of the CSI data obtained with the wireless router in AP mode.
Since the ESP32-C5 only supports STBC reception and not STBC transmission, when connected to a router that supports STBC transmission, the router sends on both HT-LTF1 and HT-LTF2 spatial streams. As a result, the device outputs CSI data for both HT-LTF1 and HT-LTF2, effectively doubling the amount of CSI data.
In the case of len 228, how should we interpret the CSI vector? Should we accept it and parse the 1st 114 and the 2nd 114 as two CSI vectors?
I'm asking because I have 10 ESP32-C5 running for 30 s at 100 Hz ping rate, and, for some cases, I would get ~2000 samples and from these samples, only ~100 of them are of CSI vector len 114, the remaining being len 228. This causes data not to be used, since I set the minimum number of windows to be used across all features.
Activity
[-]Difference in CSI Data Length[/-][+]Difference in CSI Data Length (AEGHB-1257)[/+]NingYuxiang commentedon Oct 21, 2025
Since the ESP32-C5 only supports STBC reception and not STBC transmission, when connected to a router that supports STBC transmission, the router sends on both HT-LTF1 and HT-LTF2 spatial streams. As a result, the device outputs CSI data for both HT-LTF1 and HT-LTF2, effectively doubling the amount of CSI data.
fix: HT STBC multi-antenna router support & C3 calibration OOM fixes
pedro-nuno-monteiro commentedon Jun 15, 2026
Hello! Sorry for opening this issue again.
In the case of len 228, how should we interpret the CSI vector? Should we accept it and parse the 1st 114 and the 2nd 114 as two CSI vectors?
I'm asking because I have 10 ESP32-C5 running for 30 s at 100 Hz ping rate, and, for some cases, I would get ~2000 samples and from these samples, only ~100 of them are of CSI vector len 114, the remaining being len 228. This causes data not to be used, since I set the minimum number of windows to be used across all features.
I would really appreciate your help.