Adafruit_TinyUSB_Arduino
Adafruit_TinyUSB_Arduino | pico-w-usb-host-mqtt-numpad | |
---|---|---|
9 | 4 | |
432 | - | |
2.8% | - | |
9.0 | - | |
6 days ago | - | |
C | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Adafruit_TinyUSB_Arduino
-
Benchmarking latency across common wireless links for microcontrollers
https://gitlab.com/baiyibai/pico-w-usb-host-mqtt-numpad
https://github.com/adafruit/Adafruit_TinyUSB_Arduino
My implementation plugs in much higher into the stack and doesn't read the full USB bit mask output, which indicates how many keys are pressed/released.
From my limited understand ing, it should be possible to pass these USB messages from HID client to HID host and vice-versa. Then it's only a matter of sending this information over a TCP/UDP interface. However, from my research, it seems the TinyUSB library doesn't provide the full bitmask resolution necessary for all devices. The YouTuber Wendell from LevelOneTechs has also talked about the troubles of getting some devices working with his KVM products, so it may not be as simple as I'm suggesting here.
Overall though, a $15/endpoint is very attractive.
- Physical Knobs and Elixir
-
ESP32-S2 and USB OTG
I'm curious about this restriction to ESP32-S series as shown here: https://docs.tinyusb.org/en/latest/reference/supported.html . This article https://www.pschatzmann.ch/home/2021/02/19/tinyusb-a-simple-tutorial/ claims that "Most Microcontrollers have a built in Serial USB functionality that can not be changed (e.g. ESP32, ESP8266". OTOH, https://github.com/adafruit/Adafruit_TinyUSB_Arduino indicates that all ESP32 chips are supported.
-
What microcontroller I can use for Dual USB driving as an FTDI chip replacement?
Well theorically any Arduino with a native USB connection (Atmega32u4, SAMD21, STM32, ESP32, Raspberry Pico...) would be able to do that, the difficult part is mostly finding a good library that can do that if you're not an ultra expert programmer. Here is an example, this one can support SAMD, ESP32 and Pico for instance (be careful you need specific cores to make it run). Here is an example how to use it
- ESB32-S3 + NAND SD Storage + USB MSC = Arduino that shows up like a disk drive
- TinyUSB: Open-source cross-platform USB Host/Device stack for embedded systems
-
Arduino tinyUSB on ESP32-S2. I'm over my head.
I have the Adafruit ESP32-S2 TFT board, and I am trying to read in a USB peripheral on my ESP board. I thought this was going to be an easy task and I am quite overwhelmed. I was hoping I could stay in the circuitpython ecosystem, but it seems like making the ESP32 a USBhost is not supported yet. My next level of comfort would be in the arduino ecosystem using https://github.com/adafruit/Adafruit_TinyUSB_Arduino. I believe this will do what I want, but I am having difficulty porting it into the Arduino core. Has anybody here done this successfully? I'm specifically stuck on #2:
-
I've been working on a new sound library for the ESP32, but I could use some help.
Alternatively, go up a level and use Arduino and the Arduino TinyUSB wrapper library. This is also in active development with many recent MIDI fixes.
-
Is it possible to access the S3 USB interface (not the serial one) from Arduino? If so, what does it look like?
This is what you want https://github.com/adafruit/Adafruit_TinyUSB_Arduino There are examples for various USB device types.
pico-w-usb-host-mqtt-numpad
-
Benchmarking latency across common wireless links for microcontrollers
> Several months ago, I built a project using USB host mode on a Raspberry Pi Pico, which uses a USB numpad to pass messages to an MQTT server. This uses the Rp2040's USB host mode https://gitlab.com/baiyibai/pico-w-usb-host-mqtt-numpad
Maybe I read the README a little to quickly, but you seem to be using standard WiFi for communication. As stated in other comments in this thread, this solution already exists. USB through Ethernet extension are well established and you can already connect this to a WiFi extender.
What I was thinking was to achieve this with a simple radio connection that do not need configuration or even a WiFi network to function. Just plug it in and it works. Here's a sketch of the high level concept I had in mind: https://ibb.co/VD2d9XM
Is your point that once you can do that with Wi-Fi it is trivial to do it with any type of radio connection?
> From my limited understanding, it should be possible to pass these USB messages from HID client to HID host and vice-versa.
Someone did this here using Etherkey and an ATmega32u4: https://www.sjoerdlangkemper.nl/2022/11/16/running-etherkey-...
> it seems the TinyUSB library doesn't provide the full bitmask resolution necessary
If my understanding is correct, Arduino already provides low level USB controls: https://shorturl.at/joSWZ.
All in all, it seems to me that there is an opportunity here but unfortunately this requires skills in electronic, radio and USB protocol that I do not possesses and seems fairly rare.
-
PiWrite – Kindle Paperwhite to Write
Neat project. I'd really like to author plain AsciiDoc on an e-paper display without distractions.
On one of your earlier commits (https://github.com/rberenguel/PiWrite/commit/c23bfdccd43e1c5...), you mentioned using a Pico W. There may be an avenue for that. A few days ago I submitted my Raspberry Pi Pico W Host MQTT Numpad project to Hacker News, but unfortunately it didn't gain any traction. https://gitlab.com/baiyibai/pico-w-usb-host-mqtt-numpad. I detail some of the developments on USB Host mode. There doesn't seem to be native MicroPython support for USB Host mode yet. I did find a project which seems to to load the pico-pio-sdk as a library and use a GamePad for input: https://github.com/danjperron/pico4legsBot
Also, about a year, I wrote down some of the requirements for an e-paper RPI Pico-based e-ink writer in a comment. I wanted to dub mine, 'the microWrite', 'μWrite', 'uWrite', or 'you write' https://news.ycombinator.com/item?id=32092930.
I suppose the question is whether it is feasible to adapt PiWrite to run in MicroPython. The next question is whether one could ditch the webserver-based approach and interface an e-paper screen directly to the RP2040. Waveshare offers MicroPython libraries for their e-paper displays. This might offer better latency.
- Raspberry Pi Pico W USB Host MQTT Numpad
What are some alternatives?
tinyusb - An open source cross-platform USB stack for embedded system
PiWrite - Use your Kindle Paperwhite as a writing device
EspTinyUSB - ESP32S2 native USB library. Implemented few common classes, like MIDI, CDC, HID or DFU (update).
pico4legsBot - Raspberry Pi Pico running on four servo has legs
arduino-esp32 - Arduino core for the ESP32
embedded-wireless-latency-eval - Testing a range of radio modules and protocols for latency.
lufa - LUFA - the Lightweight USB Framework for AVRs.
USBMidiKliK4x4 - UMK4x4 - 4-16 in/out and 3-15 IN/3OUT USB MIDI interface for STM32F103 series board
arduino-pico - Raspberry Pi Pico Arduino core, for all RP2040 boards
testUSB
ReflectionsOS - Reflections is a hardware and software platform for building entertaining mobile experiences.
SdFat - Arduino Library for FAT12/FAT16/FAT32