Getting downloaded 4G LTE data from SIM7600 to MCU

Hey there,

I've been looking at Arduino-supported boards based around the SIM7600 4G LTE modem for an LTE / Internet unidirectional streaming voice audio application. For instance, I've been looking at the Maduino Zero (SAMD21) and the LilyGO T-SIM7600X (ESP32).

These boards talk about achieving LTE data download rates in the neighborhood of 100 Mbps (~ 10 MB/s) but it seems like the data interface between the MCU and the SIM7600 is always UART, unless I'm missing something.

If I'm correct in that the interface between the MCU and the SIM7600 on these boards is only UART, then I would think that the MCU could only get an effective download rate of ~ 14 KB per second (115,200 bps) to ~ 115 KB per second (921,600 bps). But even operating the UART at 921,600 seems like a bit of a stretch, so let's say ~ 50 KB per second. Is that a reasonable assumption, reliable streaming compressed voice audio (~ 8 KB per second) via UART? The MCU will also need to be feeding the audio data to a codec via I2S. Hooking up DMA between the UART and the I2S audio codec might be a possiblity to leave the MCU free for other opreations (Human-Machine Interface (HMI), etc).

I'm working on the very initial thoughts on a possible battery-powered hand-held LTE / Internet audio streaming device based on an Arduino-supported board (Maduino, LilyGO, etc). The audio is unidirectional (download only) compressed voice, about 8 KB per second, but it would be nice to download faster than 8 KB per second in order to achieve buffering.

In case it helps, this currently hypothetical battery-powered hand-held LTE / Internet audio streaming device is essentially a hand-held "police scanner" that connects to a streaming audio / call metadata server such as "rdio-scanner" and plays back the audio while giving a very "traditional" police scanner experience (as opposed to a smartphone app, which is what I use now).

Am I mistaken in that the only way to retrieve downloaded data from the SIM7600 on most/all of these SIM7600-based Arduino-supported boards is via UART? And if so, is this a feasible idea?

Or is it possible that a common scenario is to have the SIM7600 download data to an SD card and then have the MCU access the downloaded data from the SD card?

It would be nice if the downloaded data could be in RAM only, for instance in part of the impressive ~ 512 KB of RAM on an ESP32, or even further by using PSRAM. Nice for lower power consumption and nice for more reliability (not repeatedly writing to and erasing from an SD card).

How would you approach a design like this?