July 11, 2025Jul 11 I created several button boxes using ESP-32 S3 boards and Tiny USB. Each button box is showing up in Windows game controllers as "Tiny USB HID". I am using Axis and Ohs to program these button boxes and it works well however it seems that when I reboot the computer, Axis and Ohs gets confused about the mappings. When I look at each device in A&O it shows "TinyUSB HID [d2fc64b0-4460....] and "Tiny USB HID [b63381b0-5385....] so it looks like each has a unique identifier but after a reboot it seems to change something because for example, buttons I had mapped on controller #1 now are mapped to some on controller #2, etc. I am not sure what is going on but obviously remapping buttons every time I fly is not going to work. Any ideas? Thanks in advance for the assistance.
July 11, 2025Jul 11 Sounds like the wrong GUID is being discovered. It is possible your USB device doesn’t have an embedded ID making it impossible to identify as unique and hence impossible to match up with what the software saved for the device. The OS will define a GUID but it will only last the duration of your Windows session (power down or reboot) would generate a new GUID. EDIT: what are the Tiny USB devices? Manufacturer? Edited July 11, 2025Jul 11 by SayAgain Extraordinary claims require extraordinary evidence. - Carl Sagan
July 11, 2025Jul 11 Commercial Member 1 hour ago, pilotguy9853 said: Any ideas? That is actually a Windows/Driver/USB issue. Normally, all devices keep their GUID, which is assigned to them by Windows when it sees them, and which AAO uses to identify a specific device. But Windows is known to reassign them, for example when it thinks that the device had been unplugged and replugged. Are you sure that your USB hubs etc. are working properly? AAO also has a special dialog to deal with this, Hardware->Hardware change. But that is normally used when you are really going with new hardware and want your old assignments. LORBY-SI
July 11, 2025Jul 11 Commercial Member 1 hour ago, pilotguy9853 said: buttons I had mapped on controller #1 now are mapped to some on controller #2, etc Normally I would expect that the entire mapping goes to a different controller. Are you sure that only some buttons change their assignment? That I haven't heard before. LORBY-SI
July 11, 2025Jul 11 Author Let me test it. I will set it all back up and when/if it loses its mind again, I will check to see if some or all move. I will also mark the GUID for each controller and see if that changes. I assume the GUID is the series of numbers/letters beside the controller name.
July 11, 2025Jul 11 Commercial Member 37 minutes ago, pilotguy9853 said: I assume the GUID is the series of numbers/letters beside the controller name. Yes. It is a universal computer term actually. Quote A GUID (Globally Unique Identifier), also sometimes referred to as a UUID (Universally Unique Identifier), is a 128-bit integer (16 bytes) used to uniquely identify information in computer systems. The probability of a GUID being duplicated is extremely low, making them useful for various applications requiring unique identifiers, especially in distributed systems... LORBY-SI
July 12, 2025Jul 12 Author First test was leaving the controllers plugged in to the USB ports, not removing them, and just shutting down the computer and restarting it. Everything seemed fine after that. The A&O settings were all still there. I will test by removing the controllers and plugging them back in when the computer is on and try it. I will update after I do that.
July 13, 2025Jul 13 Author It seems as long as I unplug the USB controllers while the PC is off and only plug them back in when the PC is off, the settings will remain the same. If I unplug one or more with the PC on, then the controllers lose the mappings. I have not confirmed that it loses all or some of its mappings. Not in a hurry to have to set all these back up. 😁
July 14, 2025Jul 14 Commercial Member 10 hours ago, pilotguy9853 said: It seems as long as I unplug the USB controllers while the PC is off and only plug them back in when the PC is off, the settings will remain the same. If I unplug one or more with the PC on, then the controllers lose the mappings. I have not confirmed that it loses all or some of its mappings. Not in a hurry to have to set all these back up. 😁 Yes, that is as expected. As written above, it is not the mappings in AAO that change - Windows changes the IDs of your controllers the moment that they are plugged in. There is nothing you can do about that (or me, for that matter). The only help that the app can offer is the "Hardware->Hardware change" dialog, where you can make entire devices trade places (by replacing their IDs in the AAO assignments database). Edited July 14, 2025Jul 14 by Lorby_SI LORBY-SI
July 14, 2025Jul 14 USB devices have a VID (Vendor ID) and PID (Product ID) … this is required however it is NOT enough to uniquely identify the USB device. USB devices can have serial ID to ensure it’s unique, however it’s not required information to meet the specification so the cheaper vendors don’t utilize it. IMHO this is a massive oversight in the USB specification and why I believe USB should be abolished in favor of existing network devices with MAC address and TCP/IP protocol support (has PoE support for power delivery and do away with ridiculously short cable lengths and power issues). To work around the problem, software engineers (myself included) can attempt to “guess” the device using VID and PID and maybe a few other device attributes. But without the manufacturer embedding a serial number it will be subject to misidentification and even more so when multiple same type of USB devices are used. To be frank, I don’t know why there is a push to keep USB, it should be phased out slowly … it’s poorly specified, open to interpretation, limited cable lengths, a USB-C cables that may or may not meet 5G, 10G, 20G, 40G specification (and you’ll never know). It’s simple enough to make a Cat 8 connector small enough to fit into mobile devices … Cat8 supports RJ45 connectors and 40Gbps upto single cable run of 100 feet, huge infrastructure support, and far more flexible and accessible than USB. My 2 cents. Extraordinary claims require extraordinary evidence. - Carl Sagan
July 18, 2025Jul 18 Author Everything was going pretty well. I flew this morning, shut the computer down and when I went to fly this afternoon, all my GUIDs had changed. I never unplugged any USBs or plugged any new ones in. I have no idea why they all changed. I used the hardware change option in the A&O GUI to some success but ended up resetting all the controls back up. I made a screenshot with annotations from the A&O hardware change portion so I will be in a better position next time. For future product request I would suggest adding the ability to name the hardware item listed in the manage hardware changes > connected devices instead of just displaying its name and GUID. This would be especially useful for anyone with 2 or more pieces of hardware with the same name in Windows. Reading "Left G1000" and "Right G1000" would be much quicker than trying to match up GUIDs when replacing. Something like this: Left G1000 / Tiny USB HID [GUID] Right G1000 / Tiny USB HID [GUID] Left Switch Panel / Tiny USB HID [GUID] Edited July 18, 2025Jul 18 by pilotguy9853
July 18, 2025Jul 18 Commercial Member 1 hour ago, pilotguy9853 said: I would suggest 1. When you doubleclick a controller in the list on the right, you get all the assignments that use it. That might help. 2. To make 1. even more useful, you could create configs in Offline mode named "Left G1000" etc. where you place just one button of the appropriate controller. Then, when you use method "1." you will see that name in the list. Also, note that when you press an hold a button on a controller, its entry in the list on the left will briefly turn green. This will help identifying the correct one. Edited July 18, 2025Jul 18 by Lorby_SI LORBY-SI
Create an account or sign in to comment