USB es una conexión de esclavo maestro; para todos los propósitos prácticos, supongamos que usted preguntó cómo hacer un dispositivo esclavo que haga esto, ya que hacer un maestro es mucho más complicado.
Aunque teóricamente sería posible implementar una interfaz esclava USB como una máquina de estado, en términos prácticos, la mayoría de las implementaciones usarán un microcontrolador o un núcleo de procesamiento de programas almacenados para manejar las operaciones de protocolo de nivel superior. Aunque posiblemente sea uno con un firmware instalado de fábrica que es simplemente configurable, y no reescribible por un diseñador de circuitos que lo utiliza.
Hay numerosos microcontroladores físicamente pequeños y / o económicos que implementan verdaderas interfaces de esclavo USB; casi todos los proveedores ofrecen uno. Para sus propósitos, los paquetes disponibles y los osciladores externos frente a los internos pueden ser una consideración. La facilidad de desarrollo también puede ser importante (por ejemplo, poder instalar un chip en bruto en una placa y programarlo por USB es bueno, pero a veces es un medio a la característica de gama alta).
Otra opción para un proyecto pequeño de este tipo es una emulación de software de la versión de menor velocidad de USB en un pequeño microcontrolador de propósito general. Hay ejemplos que flotan alrededor de la red para construir cosas utilizando un ATTINY85 y unos pocos diodos Zener o LED para aproximar los rangos de voltaje de señal requeridos, desconectados del oscilador interno, por lo que no se necesita ningún cristal o resonador. Estas no son implementaciones USB oficialmente compatibles, pero en muchos casos funcionan, y pueden ser una forma simple de tener algo que se parece a un teclado o puerto serie virtual y envía datos simples en respuesta al estado de un pin, o incluso a hace cosas más complejas.
Dado que las soluciones de microcontroladores no son más caras que las dedicadas y no son físicamente más grandes, no está claro por qué sería deseable evitar una solución de esa naturaleza.