Skip to main content
Visitor II
November 28, 2025
Question

> 4 virtual COM Ports on STM32H7 using USB

  • November 28, 2025
  • 3 replies
  • 257 views

I am trying to start 6 virtual com ports over usb. I could start 4 using a USB composite pack made by a developer. From what I have read and tried, there are not enough endpoints for 6 com ports and only maximum for 4 (9 bidrectional EPs, 1 reserved for EP0; 2 IN EPs and 1 OUT EP per com port). Is it possible to start 6 com ports at all by reusing or bypassing an IN EP?

    This topic has been closed for replies.

    3 replies

    Technical Moderator
    November 28, 2025

    hello @caas05 
    For USB CDC class,1 IN endpoint and 1 endpoint are enough to create a virtual comport function of course alongside the control endpoint 
    and since the STM32H7 USB controller supports 8 In endpoints and 8 OUT endpoints, actually you can create up to 8 VCP's.
    you can refer to this article for more information about endpoints
    Hope that helps.
    Gyessine

     

    caas05Author
    Visitor II
    December 1, 2025

    hi @Gyessine,

    i could start 6 vcps (i can see them in my device manager) but the communication fails (echo test). due to the lack of unique control endpoints, the data transmission over the vcp to pc fails

    Graduate
    November 28, 2025

    From my experience:

    Standard USB CDC VCP uses 3 endpoints. The interrupt IN endpoint may be idle - it may not transmit anything, but Windows 11 requires the endpoint to be included in device descriptor and its number must be unique for every VCP instance. Few years ago Windows could deal with multiple VCPs sharing single, non-operational status IN endpoint, so it was possible to implement 6 VCPs with STM32F103. This is no longer the case. Also, few years ago Linux could not deal with such shared status IN. I don't know the current status under Linux.

    To implement VCP without status IN, you need to install custom driver in your OS. The standard one will not work.

    Graduate
    December 2, 2025

    There is no "control endpoint" in CDC ACM VCP. It's notification, interrupt IN endpoint.