TinyUSB: Open-source cross-platform USB Host/Device stack for embedded systems

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • tinyusb

    An open source cross-platform USB stack for embedded system

  • I've used TinyUSB to turn a Raspberry Pi 2040 (the very cheap microcontroller) into a USB keyboard that you plug your morse key into and send morse which the RPI 2040 converts into key presses and sends to the computer.

    TinyUSB was very easy to use. It was my first foray into USB devices and adapting the example code was straight forward.

    I wrote the code in C but I could have done it in python also but I didn't as you need ms accuracy for decoding morse code and I wasn't sure it would be fast enough.

    There are examples for pretty much any usb peripheral you can think of here: https://github.com/hathach/tinyusb/tree/master/examples/devi...

  • lufa

    LUFA - the Lightweight USB Framework for AVRs.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • arduino-pico

    Raspberry Pi Pico Arduino core, for all RP2040 boards

  • I'm using arduino-pico [1], which has support for the Adafruit fork [2] of this project. I haven't used anything other than the serial port and MIDI out, but it's nice so far.

    [1] https://github.com/earlephilhower/arduino-pico

  • Adafruit_TinyUSB_Arduino

    Arduino library for TinyUSB

  • DigisparkArduinoIntegration

    DEPRECATED - REPLACED BY: https://github.com/digistump/DigistumpArduino

  • Digiprank

    Random keypresses from a Digispark or compatible ATTINY85 board

  • facedancer

    Implement your own USB device in Python, supported by a hardware peripheral such as Cynthion or GreatFET

  • > is it possible to do USB pass-through monitoring?

    I fear it would need something a little bit more complex than just an Arduino on the hardware side. For some options, you could take a look at some recent versions of Facedancer [0] and their HW requirements.

    [0]: https://github.com/greatscottgadgets/Facedancer

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • display-switch

    Turn a $30 USB switch into a full-featured multi-monitor KVM switch

  • Are you thinking of the display-switch[0] script? Achieves K/V/M-switching with only a cheap USB-switch for hardware K/M-switching, and then this script detects such peripheral switching and emits DDC-commands for monitors to switch accordingly.

    I saw it posted here on HN[1], and have been using it since then with great success.

    [0] https://github.com/haimgel/display-switch

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts