serialDataStream shows you how to capture continuous data streams from USB devices and serial ports.


Updated 29 May 2022

View License

SERIALDATASTREAM is a design pattern for a function to receive and process a continuous stream of data from a device connected to a USB or serial port. This function does not execute as written; it includes explanations and examples for all of the steps required to capture data which is transmitted continuously over a USB or serial interface which use a "virtual COM port". It uses some advanced features of the MATLAB serial port functions and has been successfully used for capturing data at rates up to 1.5 MB/sec. Examples for Windows, Mac OS X, and Linux are included. The MATLAB Instrument Control Toolbox is not required.
This code does not execute as it is written; it is a design pattern with explanations and examples in the comments. You can read it and modify it for your needs.
This is code is intended for advanced users who need to capture a high-speed, continuous data stream from a USB/serial port. You must have detailed information about the configuration and operation of your serial device. If you do not need high-speed continuous data capture, then you should start with other code which is easier to understand and use.

Cite As

M. A. Hopcroft (2023). serialDataStream (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updated to use the new serialport() object.

v1.1: update description