60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# ESP32 Analog to Digital Conversion Throughput using Continuous ADC API
|
|
|
|
Data is reported in bytes per second when using a single ADC unit and two A/D channels.
|
|
When each channel is measured with 4,000 samples per second the ADC is running at 8,000 samples per second as it multiplexes between the two channels.
|
|
|
|
The maximum sampling frequency depends on the ESP32 model.
|
|
|
|
The older ESP32 models can convert up to 2 Million samples per second, however there is discrepancy between the expected and effective throughput of about 20%.
|
|
|
|
The library creates int16_t datatype which is 2 bytes per sample.
|
|
|
|
## Adafruit Feather ESP32-S3 2MB PSRAM
|
|
```
|
|
|
|
SPS : expected, measured
|
|
150: error, sample rate eff: 300, range: 611 to 83,333
|
|
306: 1,224, 1,000
|
|
4,000: 16,000, 16,000
|
|
8,000: 32,000, 32,000
|
|
11,025: 44,100, 44,000
|
|
16,000: 64,000, 64,000
|
|
20,000: 80,000, 80,000
|
|
22,050: 88,200, 89,000
|
|
40,000: 160,000, 161,000
|
|
44,100: error, sample rate eff: 88,200, range: 611 to 83,333
|
|
```
|
|
|
|
## Sparkfun ESP32 WROOM Plus C
|
|
```
|
|
Data: bytes per second, single unit, two channels
|
|
SPS/CH expected, measured % of expected
|
|
5000: error, sample rate eff: 10000, range: 20000 to 2000000
|
|
10000: 40,000, 32,000
|
|
22050: 88,200, 72,000
|
|
44100: 176,400, 144,000
|
|
88200: 352,800, 157,000
|
|
500000: 2,000,000, 1,635,000
|
|
1000000: 4,000,000, 3,271,000
|
|
```
|
|
|
|
## DOIT ESP32 DEVKIT V1
|
|
```
|
|
Data: bytes per second, single unit, two channels
|
|
SPS : expected, measured 80% of expected
|
|
5000: error, sample rate: 5000, range: 10000 to 1000000
|
|
10000: 40,000, 32,000
|
|
20000: 80,000, 64,000
|
|
22050: 88,200, 72,000
|
|
44100: 176,400, 144,000
|
|
48000: 192,000, 156,000
|
|
88200: 352,800, 288,000
|
|
96000: 384,000, 313,000
|
|
176400: 705,600, 576,000
|
|
192200: 768,800, 628,000
|
|
352800: 1,411,200, 1,153,000
|
|
384000: 1,536,000, 1,256,000
|
|
500000: 2,000,000, 1,635,000
|
|
1000000: 4,000,000, 3,271,000
|
|
1500000: error, sample rate: 1500000, range: 10000 to 1000000
|
|
``` |