The first picture shows an example how could be it designed.
For the ESM I used an Atmel Atmega328 (based on the Arduino-Board) because it have an internal SRAM with 2KBytes. It's necessary for the big data processing.
So you need more than 1KByte SRAM.
With the menu in the ESM you can do...
... setting the baud rate
... start and pause the reading