Composite device example This document is a step-by-step guide to create a customizable composite device. USB CDC-MSC Composite Device I try this example without sucess. A Microcontroller can either act as USB host or as device. Jan 10, 2025 · What is a USB Composite Device? A USB Composite Device refers to a device that combines multiple functions, which can be recognized as separate devices by the host operating system. The compatible ID produces a match in Usb. This application note also Hi Jlesquer As you said for testing Mem 2 Mem without any Sub-device device example and it worked fine. Highly flexible Composite USB Device Library. The tutorial is based on NUCLEO-F767 and can be easily tailored to any other STM32. The USB Composite Device example shows how to create a composite device using the HID and MSC classes Jul 16, 2025 · These devices address the case of hardware-level composition, in which a "device" (from the user's perspective) is implemented by several distinct hardware blocks. Introduction to Azure RTOS for STM32 and its integration within STM32Cube ecosystem for rapid development and quick time to design. Examples include: an audio device composed of an audio controller and a set of codecs. Sep 20, 2024 · For example, a composite device might define a function for the keyboard functionality and another function for the mouse. From polymer matrix composites to metal matrix ones, there’s a wide array of types. These materials combine two or more components to create superior properties not found in individual substances. Disadvantages of a composite interface: More complex enumeration: The device appears as two USB interfaces, which can confuse some systems or require extra configuration. A composite water sampler is an automated device that collects multiple water samples over a predetermined time period, combining them into a single representative sample. For information about individual USB device classe This application provides an example of Azure RTOS USBX stack usage on STM32H747I-DISCO board, it shows how to develop a composite USB device communication class "HID" and "CDC_ACM" based application. Aug 5, 2025 · A USB Composite Device is a single physical USB device that presents itself to the host computer as multiple independent devices. See the BootKeyboard, midiout and x360 example code for variants on this procedure. Jan 17, 2024 · Manufacturers of composite devices typically assign a value of zero to the device class (bDeviceClass), subclass (bDeviceSubClass), and protocol (bDeviceProtocol) fields in the device descriptor, as specified by the Universal Serial Bus Specification. This example code consists of Virtual Com port and HID media key in one USB device. The composite driver enumerates the functions of the device. (Additionally, the USBHID plugin has a convenience begin() method that lets you include an instance of a USBCompositeSerial plugin class, and that creates a composite HID-Serial device. However, this This example demonstrates how to implement a composite USB device with HID and mass storage functionalities. In this case, the MBED receive char from the PC, but when I try to send a char from the MBED (cdcmsc. Though hub support is good to have. This example code Jan 26, 2013 · STM32F103 Dual CDC is a great example. The example Composite Device of the RNDIS + Audio + Virtual Com Port is created through this tool. c. This library will let your ESP32 microcontroller behave as a bluetooth mouse, keyboard, gamepad (XInput or generic), or a combination of any of these devices. Jun 27, 2024 · If these fields are zero, the device is a composite device, and the bus driver reports an extra compatible identifier (ID) of USB\COMPOSITE for the PDO. Edit 1 I have found a composite device example in ''STM32_USB-FS-Device_Lib_V4. The original post date was I want to take things a bit further and alter the device descriptors so it behaves as a Composite HID + CDC Device. After the bus driver retrieves the hardware and compatible IDs for the new PDO, the operating system searches the INF files. The manufacturer can associate each individual interface with a different device class and protocol. mouse or Nov 3, 2025 · For the client device, set the Split Vid/Pid Device policy to vid-0781_pid-554c(exintf:00;exintf:01) for example, to split a specified composite USB device so that interface 00 and interface 01 are excluded from redirection. Oct 14, 2020 · Hi @jrahlf , A USB Device Composite example can be constructed based on today's available library and applications provided by ST through some rework. 3 Composite classes projects How to implement the USB device composite class (DFU + HID) article and its associated project How to implement USB device composite class in STM32H5 microcontrollers (HID + CDC) tutorial and project How to implement USB device composite class DUAL CDC Mar 21, 2024 · The Mass Storage example under subsys/usb/mass is working fine. Some functions (for example, CDC or DFU) implement several interfaces at once for their work. The USB Stack provides three composite device demos, HID+audio, MSC+CDC, and mouse + keyboard. By including and maintaining this example in TinyUSB Nov 20, 2020 · I'm using the LPC54628 micro and I'm having trouble getting windows to enumerate a composite USB device and install the drivers. I'm testing this case on ZCU104, I have issue when run command $ v4l2-ctl --all -sh: v4l2-ctl: command not found Let me known about this issues, how to add v4l2 component Admin Note – This thread was edited to update links as a result of our community migration. Sep 3, 2020 · ‎ 2020-10-03 7:19 PM @rtek1000 Composite device is not same as hub so the hub driver won't help the OP with a composite device. I'm testing the USB composite device examples (MSC + CDC and HID mouse + HID keyboard): they work fine if I use the USB0 controller (FS) (as they come in the package), by plugging the cable in the USB connector in the TWR- An USB Composite Device is a peripheral device that supports more than one device class. I was able to go through the p Introduction The STM32 USB-FS-Device development kit is a complete firmware and software package including examples and demos for all USB transfer types (control, interrupt, bulk and isochronous). Recognizing the Error This figure shows the connections between an STM32H7 microcontroller and a USB connector. The USB-IF core team has devised a special Aug 29, 2024 · Summary This article presents a step-by-step tutorial on how to develop a USB device with dual CDC ACM in the STM32F7 microcontroller using the classic USB library. It demonstrates two-way communication between the USB device and the USB Host PC. 0 descriptors to do this, but it seems with my Sep 13, 2024 · Project Manager 设置中,添加 AL94_I-CUBE-USBD-COMPOSITE 作为中间件包,如果尚未自动列出,则需手动添加路径指向刚克隆的项目目录。 配置USB选项,启用USB外设,并选择“USB Composite Device”作为USB类型。 根据需要启用特定的USB类(例如CDC、HID等)。 完成配置后,生成 Jun 1, 2025 · This page covers USB composite devices - single USB devices that implement multiple USB device classes or multiple interfaces within the same device. Notice the checkbox is "Do Not Generate Function Call". In this example Supports standard USB Classes with multiple device class instances. May 20, 2025 · A USB composite device is a single gadget that has the ability to perform more than one function. 2). This allows for Audio I/O and CAT control over a single USB cable which is very convenient. 1). For instance, a printer might also function as a scanner or an all-in-one keyboard might come with a built-in touchpad. putc (c);), the USBDevice::write () function block the TinyUSB with Mynewt examples. Composite USB with HALI am currently experimenting with USB on a Black Pill board. For example, a multifunction printer that prints, scans, and faxes is a composite device. The Oct 4, 2025 · Discover the world of USB composite devices—your digital Swiss Army knife! Learn how they enhance functionality and streamline your tech experience. The COM port can be opened using any of the terminal applications and to demonstrate two Supports standard USB Classes with multiple device class instances. Harmony 3 USB Device application examplesCDC COM Port Single Example (cdc_com_port_single) This application demonstrates the ability of the MPLAB Harmony USB Device Stack to support USB Communication Device Class. Many different devices are implemented as composite devices. Nov 10, 2014 · Is this possible with STM32F4 with HAL library and USB OTG library? If yes, is there an example code for this? Please help me if you can, thank you. Introduction In this section, we look at composite devices. CDC device alone, windows installs the drivers fine and the CDC shows up as a COM port within the device manager. Such a device is ideal for applications requiring both user interaction (for example, a mouse) Jun 6, 2023 · Does the latest version of the driver of STM32F4 supporting USB audio class and CDC composite device functionality? I want to use the USB interface of STM32F4 to develop the functions of USB audio and CDC composite devices. Note that a “function” is some action enabled by the USB specification, such as Hi-Speed data transfer. Modern radios (rigs) like Icom IC-7300 + IC-705 expose a sound card and a serial device (composite device) to the computer over a single USB cable. " This uses the Composite Device - as shown in the examples - as a wrapper or container of sorts for the Bulk Device and DFU Device. I'm not using HAL drivers for the code-size reasons so I go with USB-FS-Device library. Description This application creates a USB CDC Device that enumerates as a single COM port on the Forked from ESP32-BLE-Gamepad by lemmingDev to provide support support for composite human interface devices. Examples include: a touch panel composed of an I2C device and a GPIO, an ethernet device composed of a MAC Introduction The STM32F0x2xx USB Full Speed Device Library (STSW-STM32092) is a firmware and application software package that includes examples based on a set of six classes (Audio, CCID, CDC, HID, MSC and DFU), for easy development of applications using USB full speed transfer types (control, interrupt, bulk and isochronous). By defining accurate descriptors, managing endpoints, and handling data transfers correctly, you can create robust and versatile USB devices. 13 years ago. Legacy USB Mass Storage Expose board's RAM as a USB disk using USB Mass Storage driver. Examples include a printer that also acts as a scanner, a webcam that incorporates a Jun 13, 2025 · See below for more details on how to use this. 4 GHz, the intentional radiator is required to be investigated to the upper frequency of 24 GHz. The USB Composite Device example shows how to create a composite device using the HID and MSC classes The USB Mouse example shows how to create a USB device that acts as a mouse input device The USB Device Audio example provides an audio input/output functionality to the USB Host An open source cross-platform USB stack for embedded system - hathach/tinyusb USB Redirection Menu path: Sessions > Horizon Client > Horizon Client Global > USB Redirection In this area, you can enable and configure USB redirection for specific devices. A TinyUSB device can acts as CDC Device (e. e composite examples. Aug 6, 2017 · For example, different functions (MSC, CDC, HID) will implement their interfaces. I think it would make a great fit with libDaisy, especially still being an MIT licensed project. Legacy USB device netusb sample Use USB CDC EEM/ECM or RNDIS implementation Legacy USB DFU (Device Firmware Upgrade) Implement device firmware upgrade using the USB DFU class driver. Use the filter list to find quickly the example. h", to get four virtual COM ports. Dec 25, 2000 · Enable composite cdc vcom + cdc cvom need additional about 350byte falsh and about 900byte ram compared with “usb_device_cdc_vcom” for full speed devcie, for high speed device, the ram size will be larger, because the default max packet size 512 which means the default buffer size used in application is 512byte. Today an ever-growing ran * This file implements mass storage, hid, audio and dfu all in one composite May 5, 2021 · The composite example do the same thing (aaa infinitive). Dec 15, 2021 · Interfaces on a composite USB device can be grouped in collections or represent one USB function individually. Dec 15, 2021 · Descriptors on USB Composite Devices As described by the USB specification, every USB device provides a set of hierarchical descriptors that define its functionality. Yes it is normal for you to have a USB Composite Device, everyone has it. The Feb 19, 2025 · For the client device, set the Split Vid/Pid Device policy to vid-0781_pid-554c(exintf:00;exintf:01) for example, to split a specified composite USB device so that interface 00 and interface 01 are excluded from redirection. A USB Composite device is the one with multiple interfaces controlled independently of each other. In your example the entire string USB\VID_***C&PID_0001 identifies the device and you can't append by & the differences to a single string. For example, the composite gadget includes a mass storage device (for any storage media), CDC and RNDIS network interfaces, and so on. Each interface contains a set of endpoints (IN-receive or OUT-transmit) on which data transfers to and from, between the device function and USB host. Description This application creates a USB CDC Device that enumerates as a COM port and Flash Drive simultaneously. These devices are designed to work through a single USB connection, allowing for streamlined communication and functionality. g. May 22, 2018 · Hubitat now supports devices having child devices. V. The first interface is a multitouch interface with 1 endpoint, the second interface is a vendor interface with Introduction The STM32 USB-FS-Device development kit is a complete firmware and software package including examples and demos for all USB transfer types (control, interrupt, bulk and isochronous). I am using STM32F750x8 could you please help Apr 4, 2023 · We are working on porting an existing STM32F373 USB application to STM32G431 using STM32CubeMX and the USB Device Middleware. At the top level, each device has one or more USB configuration descriptors, each of which has one or more interface descriptors. If some other combination in a composite device is necessary, some of the rules and considerations remain the same. I have gone through multiple blogs and examples available in ST community but none of the example shown me how to configure USB as Composite class (CDC + USB). I have used the composite example and look at dairequinlan examples and tried to modified my code but nothing helps. For this tutoria May 7, 2015 · I took the ChibiOS-Contributions HAL_USB_MSD and Geoffreys STM32F3-Discovery-CDC-MSD example from github, tinkered it on top of my other code, and got it finally working on Windows. I can get the host recognizing composite device itself and 1st HID device also but I can not make 2nd HID device wo Jan 3, 2025 · Understanding USB Composite Devices A USB Composite Device is essentially a device that can perform multiple functions via a single USB connection. It is included in this document for ease of the user to have a readily available user interface filefor the individual USB interface of the composite device. Overall, building a USB composite device with TinyUSB is much easier and quicker than with ST's USB device stack. Once all this process is done, the application monitors the GPIO PC13, which has a user button connected. The composite driver can manage those functions itself in a monolithic model or create physical device objects (PDOs) for each of the functions. The STM32H7 features a USB Full Speed communication interface, allowing the microcontroller to communicate typically with a PC or a USB storage device. h Line 56: You must define the Endpoint 6 Rx address to: #define ENDP6_RXADDR (0x1C0) With 0x1D0 there is a buffer overflow when receiving usb pakets with more than 48 Bytes (The highest address is 0x1FF, with max packet size 64 Bytes the start address must be 0x1C0). Contribute to IntergatedCircuits/USBDevice development by creating an account on GitHub. For example, there are machines that perform the function of both a mouse and a keyboard. The USB device is a composite device of two custom interfaces. May 5, 2020 · This example code uses M480 MCU and on-board two key buttons and a NAU88L25 audio codec device to implement an USB composite device that based on the UAC1. In our case of a composite device, we will need to implement several interfaces from different functions at once and make them get along with each other. Harmony 3 USB Device application examplesCDC MSD Basic Example (cdc_msd_basic) This application demonstrates the ability of the MPLAB Harmony USB Device Stack to support Composite USB Device. Note that only one gadget driver (device personality) can be loaded at a time but there are some 'composite' gadget drivers that behave as 'composite devices' meaning they have multiple endpoints per USB device. b) VID: 1155 PID: 22352 // defined in Ux_Device_HID_CDC_ACM result: USB Composite Device shows, USB Serial Device shows, DFU class is unrecognized, it is shown as in "Other devices" in device manager with Device desctiption: "@Internal Flash /0x0800. Azure RTOS is a professional grade, highly reliable and market proven Middleware suite: Integrated and full featured RTOS. In general, a USB peripheral or device is something that connects to the USB host and uses some USB function such as data transfer or power transfer. Aug 4, 2025 · Summary This article presents a tutorial on how to implement the USB Device CDC in the STM32 using the Azure USBX package. Nov 28, 2022 · Hi Team, I am looking for the help to configure my STM32 MCU as Composite Device (MSC + CDC). 0. This application note provides implementation details for the USB Video Class (UVC) and USB Audio Class (UAC), as well as guidance on developing firmware for UVC and UAC composite device. Quick Start Once your device is programmed with hex file (depending on which composite device demo you are using), click on Start Application button on Flip or push the reset button from the used board to start the composite device demonstration. Provides User Code Templates for implementing the USB Device functionality. Contribute to alambe94/I-CUBE-USBD-Composite development by creating an account on GitHub. Apr 6, 2025 · Discover the versatility of a USB Composite Device and how it enhances your connection options for multiple peripherals in a single interface. Combine USB Device Classes to create a composite device. I'm attempting to use MS OS 2. I want my device to be listed as highlighted in attached image. At the beginning of the application, the USB Stack is started and the HID and CDC classes are registered. Oct 27, 2024 · We are developing a USB compostie device based on the NXP SDK_2_14_0_FRDM-MCXN236_rfp USB device example, with an MCTP class (using endpoints 1 and 2) and an HID class (using endpoints 3 and 4). Finally, there’s also a USB root hub, which is a hub in the USB host that the other devices connect to. 2. The scope of this package covers the following Azure RTOS middleware: USB Device and Host (USBX) with examples shows how to develop USB Device and host applications. 2017 NXP B. I confirmed that this worked in the simple HID example, too. Unlike manual grab sampling, which provides only a snapshot of water quality at a specific moment, composite sampling offers a comprehensive view of water composition over time. The device has a composite device attached to port 1. As I see you require a composite which has USB CDC class and another class. They generally appear as a single unit within your device manager or operating system, but internally, they are made up of multiple drivers working together. & is a part of the predefined format which separates different sub-parts of a single device id. By using the Device Stack, ESP32-S2 can be programmed with any well defined USB device functions (e. For your computer they are different devices/interfaces and can act independently, but they are physically one peripheral. This example uses USB FS and USB HS and pratically has two USB cable connected to MCU. The CDC + UAC2 composite device happens to be important, especially in the amateur radio community. 0 IDE. Mar 21, 2023 · Solved: What is USB composite device?This discussion is locked. Read on to learn about the 10 most surprising examples of composite materials. Aug 15, 2023 · Hello, I followed the examples in STM32CubeH7 package and implemented USB Custom HID device with 1 interface. This page will contain notes as I go along. Jul 10, 2022 · This was my setup and that's why USB composite device and USB Serial Device did not show up. A familiarity with this application note is mandatory. However, users can create composite devices to fit their needs. HID Composite Device sample This is a port of the hid_composite example from TinyUSB (https://github. Contribute to hathach/mynewt-tinyusb-example development by creating an account on GitHub. I need a reference example for usage of two classes at a time (custom hid + cdc) i. TinyUSB with Mynewt examples. ) 4. * This file implements mass storage, hid, audio and dfu all in one composite This application note shows how to add an HID device to the usb_device_composite_cdc_msc demo. Example transports include Internet Protocol (IP), Bluetooth, and USB. The ST "mouse driver" is just a basic example, it works only with limited number of mice. But, as soon I cancel the virtual disk verification in windows, the virtual port com doesn't work any more. Supports multiple USB Devices on a single microcontroller with more than one USB Device controller. The simplest implementation is a USB peripheral device but the STM32H7 also supports the USB “On-the-go” functionality. Aug 19, 2024 · Introduction Hello developer, and welcome to this article. A USB composite device can be split into its components (interfaces). It also contains examples for composite devices. This example uses the FRDM-K64F board and IAR Embedded Workbench® 8. Apr 14, 2025 · Our existing product is recognized by the host as a composite HID device (with separate interfaces for mouse and keyboard), and I would like to replicate the same structure. Feb 19, 2021 · TinyUSB is the project of choice for this. Legacy USB HID mouse Implement a basic HID mouse device. 0 (USB Audio Class 1. instead of needing separate connections for a keyboard, mouse, and webcam, a composite device might integrate all three, appearing as three distinct devices to your operating system but only requiring one usb port. 0'' library which is used by STM32F102xx, STM32F103xx, STM32L1 and STM32F3. Now, I want to implement USB Custom HID Device with two interfaces. I have a question, is the latest version of the driver supporting USB audio a Jul 1, 2009 · This document introduces basics for USB composite device and gives examples to implement the composite device that has two functions included, based on the Atmel® AT91 SAM Softpack for its ARM® Thumb® based microcontrollers. While the board blue button is pressed a message and a report are sent through the CDC Class and an HID. Composite materials can be found just about everywhere, including your home. Covers USB complexities, driver challenges, and frameworks in 3 parts. The aforementioned problem is faced not because some issues lays with the device, but with the slot the device is plugged into. There are still many other obstacles in the way of getting a working CDC/HID composite device on STM32. The information required to build a composite device is available in the Atmel AVR4902 ASF - USB Composite Device application note. Their benefits are vast, including lightweight construction, high strength, and corrosion Code Examples The following applications are provided to demonstrate the typical or interesting usage models of USB Device capabilities. May 26, 2013 · I'm trying to make a USB composite device working both CDC and HID, to work as a virtual com port and as HID device at the same time. A transport is a protocol over which a portable device communicates with a computer. That’s the essence of a USB Composite Device. I've actually started from the USB composite device example provided by USB-FS 4. In the examples list, select a “USB Composite Device Example HID mouse and MSC” corresponding to the Atmel board used. Example: USB dictation device that is split into the components loudspeaker, microphone, storage device/drive, and control buttons. Example code for other MCUs as well as more conventional, event loop-based version of demo will be added soon. The first time I install the cdc driver it works. The Future of Biomedical Composites in Medicine The future of biomedical composites looks bright, with continued advancements in material science, manufacturing techniques, and their applications in medicine. For example. By default, the example code creates a composite device made of generic text printer and two VCPs (only one VCP on F4 series due to only 3 application endpoints available in its USB OTG FS peripheral). In simpler terms, it’s like a Swiss Army knife for USB connections. Feb 2, 2022 · I need the low level driver for creating a composite USB device on same USB. Imagine a single USB dongle that functions as a keyboard, mouse, and storage device simultaneously. Misc Links Linux USB Debugging Quite detailed description/example of CDC + MSC Code example with HID+CDC Chinese blog post (Google Translate works) May 22, 2018 · Hubitat now supports devices having child devices. Mar 14, 2023 · The WpdMultiTransportDriver Sample This section of the WPD driver documentation describes a sample multitransport driver, WpdMultiTransportDriver, that is included in the Windows Driver Kit. May 22, 2025 · A USB composite device is a single physical Universal Serial Bus (USB) device that offers multiple functions simultaneously. If you are developing a USB device composite application for the STM32, this article is for you! Here we show you how to implement the classical USB device middleware to use more than one class in the same application. The standard DFU driver under the provided windows_drivers folder worked for this setup, but I had to adjust the bulk device driver INF file in order to get Windows to recognize it as the driver for this device. In the Microchip USB Framework examples, I came across the following two examples: It even offers an example for dual CDC ports, so very close to what you're looking for. Unfortunately, the link to the Microchip examples is the type that will likely change over the course of time, so your best bet is to google "Microchip Application Libraries" With that said, you probably don't need a custom interface. For now you fix this file manually if you want to verify example functionalit USB Device Stack [中文] Overview The ESP-IDF USB Device Stack (hereinafter referred to as the Device Stack) enables USB Device support on ESP32-S2. " Nov 15, 2021 · A USB Composite Device is a peripheral device that supports more than one device class at the same time. Introduction If you are developing a USB device c Apr 3, 2025 · In today’s advanced industries, composite materials are revolutionizing performance and efficiency. , keyboard, mouse, camera), a custom function (aka vendor-specific class), or a combination of those functions (aka a composite device). I'm looking at the Microchip framework examples and was wondering if anyone knows of an example to combine the Device - HID - Joystick example with the Device - CDC - Basic Demo as a composite device? I'm using a PIC32MX250F128B. Learn more ThreadX. Instead of appearing as one type of device to the computer, it presents itself as a collection of distinct capabilities or "functions" through a single USB connection. These devices address the case of hardware-level composition, in which a “device” (from the user's perspective) is implemented by several distinct hardware blocks. Supports composite devices. But when I try to add CDC class, windows can't enumerate the device correctly. Increased system resource use: Two interfaces require slightly more USB bandwidth and The information required to build a composite device is available in the Atmel AVR4902 ASF - USB Composite Device application note. A composite device is when two or more different functions are added to the same physical device. For example, they consist of a certain device class, but also an USB disk that has all the necessary drivers stored so that the device can be installed automatically without the need to have access to a certain driver software. May 8, 2025 · USB composite devices combine multiple functions into a single USB device. This sub is dedicated to discussion and questions about embedded systems: "a controller programmed and controlled by a real-time operating system (RTOS) with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. Would you be willing to share any steps you took, or some example code to try out on Daisy? Jul 22, 2023 · I'm trying to get a dual interface composite USB full speed device to associate the WINUSB driver with the device. Examples of devices and peripherals are physical items such as keyboards, storage devices, or portable electronics like mobile phones or Apr 21, 2020 · This article provides inputs to create multiple CDC composite device example for SAMD21 device using ASF3. In fact, all you need to do is change macro value CFG_TUD_CDC from 2 to 4 in "tusb_config. Reason is sensitivity on Configuration descriptor content generated by STM32CubeMX, propagated into ux_device_descriptors. Azure USBX is an RTOS USB embedded stack developed by Microsoft® that offers a wide range of classes to be implemented both for host and device applications. Learn to implement USB Mass Storage Class on STM32: configure CubeMX, allocate RAM storage, and handle file operations using FatFS. May 15, 2025 · How to set up USB DMA controller with STM32H7 devices article 2. The USB Web Server (for Windows hosts) example contains a step-by-step instruction how to change a network application example so that the embedded device can be connected to a Windows host using USB. The Microsoft Natural Keyboard Pro, which has a three-port, bus-powered hub, is an example of a compound composite USB device. In this blog I will concentrate on the USB device functionality, because this is where the library shines. Actual version Jul 8, 2021 · Hello, when using Linux host for testing this example, CDC interface is not detected by the host. think of it as a swiss army knife for your usb port. An example project is also attached with this article. 0) and HID class specification. But there is a bug in usb_conf. MSC device alone, windows installs the drivers fi Apr 29, 2024 · The repo which you shared is having only examples for one class. A composite device is a device composed of other devices. To build the MSC example for my board I've added an device tree overlay for the board defining the flash device: / { msc_disk0 { status="okay"; compatible = "zephyr,flash-disk"; partition = <&storage Jan 16, 2020 · I needed to use 0x83 as the HID endpoint. Dec 11, 2024 · The approval process can be lengthy and costly, which may delay the availability of new composite materials for use in medical devices. Aug 3, 2024 · The are also USB composite devices, which combine for example a mouse and a keyboard into a single device. You may not have anything plugged into the USB ports, but internally devices like your laptop keyboard and trackpad are connected through internal USB connections. May 28, 2016 · They are all examples of composite devices. Jul 21, 2025 · This article provides a step-by-step guide to implementing a composite USB device that combines mass storage class (MSC) and human interface device (HID) functionalities on an STM32 platform. Conforming to these classes enables a camera and audio device to operate with built-in PC drivers and host applications, such as Windows Camera app, Webcamoid, and VLC media player. The example device has two functions: Function 1: Video Class This function is defined by an interface association descriptor (IAD) and contains two interfaces: interface zero (0) and interface one (1). Aug 7, 2015 · USB Interface Association Descriptor Example The following illustrates a descriptor layout for a composite USB device. This will seem familiar if you think of how a modern smart-phone works. for Serial communication) Audio Device (microphone, music player) HID device (e. USB Composite Gadget Endpoint-0 Configuration Jan 13, 2021 · Hi, I'm developing USB composite HID+HID (joystick and custom) device on STM32F103C8 controller. The methods that are available are as follows: Parent Device Methods: ChildDeviceWrapper addChildDevice(String namespace, String typeName, String deviceNetworkId, Map properties = [:]) ChildDeviceWrapper addChildDevice(String typeName, String deviceNetworkId, Map properties = [:]) Creates a new child device and returns that device from the Example 1: For a composite system with a digital device with the highest frequency used of 1 GHz and an intentional radiator operating at 2. Following that, the USB Device peripheral in Full-Speed mode is started. . com/hathach/tinyusb/tree/master/examples/device/hid_composite). The device is working fine. Nimble-Arduino. A Detailed Guide to develop USB Composite Devices for STM32 using existing libraries. Nov 21, 2022 · Knowing it can (quickly) do composite device handling, and has such an extensive list of supported device classes is really promising. An USB Composite Device is a peripheral device that supports more than one device class. But in order to provide a "clean" and generic support of composite devices, a major change is required on USB Device library. Please start a new topic to ask your question. For example they consist of a certain device class, but also an USB disk that has all the necessary drivers stored so that the device can be installed automatically, without the need to have access to a certain driver software. The slot, clearly, is Aug 3, 2016 · Hi everyone, Currently I'm working on TWR-K65F180M, KDS 3. The esp_tinyusb application examples provide examples for USB drives, serial ports, HID devices, composite devices, and more. Compatibility issues on certain platforms: Some embedded systems or older operating systems may not support USB composite devices properly. Create STM32 USB Composite devices with ease. Provides User code template for implementing the USB Device functionality. Microchip has a free USB stack for their microcontrollers. Regarding the [DeviceList] - you can't find documentation about this section because it's user When a composite device meets the requirements described in Enumeration of USB Composite Devices, the operating system generates a compatible ID of USB\COMPOSITE to indicate that the device is composite. When using such device multiple functions are combined into a single device, for example, a keyboard and mouse, USB hard disk and DVD writer etc. 0 and KSDK 2. Jul 4, 2013 · You need to have a different distinct entry for each device id. inf, and the operating system loads the USB generic parent driver, automatically, without the help of a vendor-supplied INF file. In this example Jul 21, 2025 · Introduction This article provides a step-by-step guide to implementing a composite USB device that combines mass storage class (MSC) and human interface device (HID) functionalities on an STM32 platform.