Page 1 of 1

ESP32-S3 - 2msps ADC

Posted: Wed Aug 31, 2022 4:12 am
by FallingSnow
Hello.

I'm trying to read an analog video signal at around 1.75msps and store that in PSRAM. I have the 16N8R ESP32-S3. A signal frame is about 1MB and processing the frame only takes about 22ms so I'm hoping I can read the ADC into PSRAM and every 1MB process the frame.

I've read in a few posts that you can get the ADC up to 2msps but the code (https://github.com/espressif/arduino-es ... caps.h#L63) lists an ADC limit of 83khz. I've also seen posts about using the I2S to drive the ADC but the docs seem to suggest that's only possible on the ESP32.

Is it possible to get the ESP32-S3 ADC to sample at 2msps into PSRAM?

Thank you.

Re: ESP32-S3 - 2msps ADC

Posted: Wed Aug 31, 2022 11:09 am
by bobolink
If you want repeatable results across devices, temperature and other parameters, I’d stick with the rates specified and tested in a document such as this:
https://www.espressif.com/sites/default ... pdf#page52

Re: ESP32-S3 - 2msps ADC

Posted: Wed Aug 31, 2022 7:55 pm
by FallingSnow
That's unfortunate, limited to 100ksps. It's an analog video signal so it doesn't need to be perfect, just not a complete miss.

What about using the ULP's ADC instruction? https://docs.espressif.com/projects/esp ... t-with-adc

I'm not really sure how many cycles the instruction takes because I don't know what values like SAR_AMP_WAIT1, SAR_AMP_WAIT2, SARx_SAMPLE_CYCLE, etc are.

Re: ESP32-S3 - 2msps ADC

Posted: Thu Sep 01, 2022 10:40 am
by bobolink
I’m guessing the hardware front-end is the limitation. But if it’s not a deliverable and not to be produced go ahead and experiment. Hackers do remarkable things with video and hardware that’s not supposed to work.
Add:
Check out the work of Charles Lohr
https://github.com/cnlohr/channel3