This was my attempt to create a a SNES to Bluetooth adapter. It works but the average latency was 18.35ms, which I think is too much to be considered a good controller.
This was my attempt to create a a SNES to Bluetooth adapter. It works but the average latency was 18.35ms, which I think is too much to be considered a good controller.
Yeah, I get that. Do you have any sense of whether that’s a limitation of the ESP32, or with your implementation?
It’s really hard to judge without additional testing, I’m always more likely to blame my code than hardware. My guess would be something in the stack, be it my code or the library that puts it above a frame but that kind of investigation is more than I want a hobby project to be.
I think the esp32 maximum throughput is 700 kbps, so you might be able to get a better performance.
I don’t have much experience with the esp32, but the first thing I would do is just a spoof program that sends simulated inputs, and see how’s the latency without any other functionalities.
That will give you a good idea if the problem is your code or the stack (its not infaillible though).
Yeah one approach is that BLE-Gamepad library supports gpio pins as button inputs, so in theory I could get a baseline of what the Bluetooth stack of the library is by soldering the jst connector to connect the Arduino (that triggers the button presses and measures the result from the Mister SNAC port).
Otherwise I’d basically have to develop my own controller code to port onto various Bluetooth stacks for testing, but that seems like more than I want to do right now.