Adafruit_TinyUSB_Arduino
ReflectionsOS
Adafruit_TinyUSB_Arduino | ReflectionsOS | |
---|---|---|
9 | 25 | |
432 | 53 | |
2.8% | - | |
9.0 | 8.7 | |
6 days ago | 14 days ago | |
C | C | |
MIT License | GNU General Public License v3.0 only |
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.
ReflectionsOS
-
GPS active antenna for wearable for ATGM336H?
I am searching for a GPS antenna for a wearable project. It uses an ESP32-S3 and ATGM336H GPS module (basically an inexpensive version of the UBlox Neo-8) on a custom designed 34 mm round board. This is in the Reflections open-source project at GitHub - frankcohen/ReflectionsOS: Arduino-based Internet enabled watch project and reference architecture to make your own projects.
-
Arduino and BLE on ESP32 as server and client combined, using NimBLE
Below is the source code I wrote. It is part of the code I wrote for https://github.com/frankcohen/ReflectionsOS and does not compile by itself - I include it as an example to write your own code. I am distributing it under a GPL v3 license - free software, when you change the code you need to publish your code to the world. I use the code in my Reflection's open source project at https://github.com/frankcohen/ReflectionsOS in the BLE.h and BLE.cpp code files.
-
Preparing product for manufacturing
I've been working on an ESP32-S3 open source project (https://github.com/frankcohen/ReflectionsOS). It's a 34 mm round board, double sided, for building a mobile entertainment experience. I've been successful at producing short runs (less than 10) in China and having the assembly work done in California (Surface Mount Solutions in Santa Clara does an excellent job). I'm coming up on a decision to manufacture 500 of the boards and I'm split between sourcing the boards and parts in China and having the assembly done here. I'm expecting the reject rate on the board testing will justify the California assembly costs.
-
ESP32 USB is frustrating, try JCUSB for S3 + USB + CDC + OpenOCD + Arduino IDE
other documents are there, for example using ESP32 and SD/NAND as MSC, using JSON data, and other sketches are at https://github.com/frankcohen/ReflectionsOS/tree/main/Docs
-
ESP32-S3 USB frustrates me, you too?
Thanks! My hope is my project becomes a useful open-source resource for other makers too. I want to get the USB upload working to the same degree as the reference dev boards. That's why I'm working on this now. The repository is at https://github.com/frankcohen/ReflectionsOS
-
Anyone know of an accelerometer gesture sense that doesn't require tensorflow or other remote AI?
Thanks! I'm glad to hear your experience with TFLM and the others. I found the Dynamic Time Warping algorithm to train and find patterns. I got it working today on ESP32-S3 and an LIS3DHTR accelerometer. It's accurate about 70% of the time. I'll publish the source to the Reflection's Experiments repository https://github.com/frankcohen/ReflectionsOS/tree/main/Experiments soon.
-
Turn your TTGO T-Watch 2020 to BlueTooth Mouse and control your computer...
That's a cool project! I'm making an esp32 wrist watch too (https://github.com/frankcohen/ReflectionsOS). It doesn't have a touch screen, it does have a compass/gyro/accellerometer/gps. I'm thinking of adapting your code to use the accelerometer to do the pointing. If it works I'll post the results to github. Thanks for the inspiration! -Frank
- AirGuitar fun with ESP32, Bluetooth Classic A2DP, SD NAND, Accelerometer
-
ESP32-S3 Lillygo T-Display: Is a FAT32 Mass Storage Device using onboard FLASH possible?
To be clear, I haven't done any of this, but I'm assuming these would be the steps. With the S3, you can certainly emulate a mass storage device - and here's a link for someone who did that: https://github.com/frankcohen/ReflectionsOS/tree/main/Devices/Hoober/Software/USB-MSC Ok, now for the next part - fat32 (or more specifically, long filenames) - looking at the example above, it looks like everything is done at the block level, so I would guess that would mean when you're doing your partition table on the ESP32, you'd set aside some amount, like let's say 200k, and instead of using it for NV (like LittleFS or whatever), you'd then perform the block read/write functions. Assuming this is the case, then really the format of the partition is irrelevant to the ESP32, it's only handling blocks - it would be the PC that would format it FAT32 or whatever - so this should work.
-
[PCB Review] An IOT playground board based on esp32 s3 wroom
I agree, there's nothing like making your own board. My open-source open-hardware ESP32 project is here: https://github.com/frankcohen/ReflectionsOS. It's a round 34 mm double sided board for a wrist watch project. Hoping to do what you did next week, post the schematics for feedback and quality improvements. Thanks for the inspiration. -Frank
What are some alternatives?
tinyusb - An open source cross-platform USB stack for embedded system
JPEGDEC - An optimized JPEG decoder for Arduino
EspTinyUSB - ESP32S2 native USB library. Implemented few common classes, like MIDI, CDC, HID or DFU (update).
ESP32-BLE-Gamepad - Bluetooth LE Gamepad library for the ESP32
arduino-esp32 - Arduino core for the ESP32
esp32FOTA - Experiments in firmware OTA updates for ESP32 dev boards
lufa - LUFA - the Lightweight USB Framework for AVRs.
nodemcu-firmware - Lua based interactive firmware for ESP8266, ESP8285 and ESP32
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
NimBLE-Arduino - A fork of the NimBLE library structured for compilation with Arduino, for use with ESP32, nRF5x.