Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sidewinder FFB Wheel back-powers adapter - potential for damage? #49

Open
ej113 opened this issue Oct 25, 2023 · 0 comments
Open

Sidewinder FFB Wheel back-powers adapter - potential for damage? #49

ej113 opened this issue Oct 25, 2023 · 0 comments

Comments

@ej113
Copy link
Collaborator

ej113 commented Oct 25, 2023

The wheel is powered differently to the FFP joystick and is able to back-power the adapter through the signal pins.

The joystick processor is not powered independently:

  1. When the 12V power cable is connected on its own the green LED at the base of the stick does not light up.
  2. When the gameport cable is connected on its own (with power through the adapter) the LED flashes, the adapter is able to connect to the stick and everything works except for the force feedback motors.
  3. When the gameport and 12V power cables are connected the LED is steady and the motors also provide feedback.

The wheel processor is powered independently:

  1. When the 12V power cable is connected on its own the green LED behind the "FORCE" button flashes. The wheel motor performs an initialization from one side back to the center - presumably to self-calibrate.
  2. When the gameport cable is connected on its own (with power through the adapter) there is no response and no LED. The adapter cannot connect to the wheel.
  3. When the gameport and 12V power cables are connected the LED and feedback motors can both be toggled on and off with the FORCE button and the adapter can communicate with the wheel.

However when the adapter USB cable (which provides power to the adapter MCU) is then removed the adapter continues to be powered and the wheel behaves as if it is still connected. This apparently can occur when there is a voltage on the input pin(s) and current is drawn through the internal protection diodes to the VCC rail.

I guess it's possible my wheel is malfunctioning, but I did also find an image of another wheel LED lit despite the gameport cable disconnected.

I have measured the voltages on the wheel gameport pins with a multimeter with respect to Ground (Gameport Pin 4).
Pin 1: 0V (VCC)
Pins 2,3,7,10&11: 4.9V (X1,X2 and all buttons)
Pin 12: 4.7V (MIDI out)

Also when back-powered I measured the voltage between adapter GND and VCC as 3.3V

According to the datasheet for the Atmega32u4 under Absolute Maximum Ratings:
Voltage on any Pin except RESET and VBUS with respect to Ground (8) . . . . . . . . -0.5V to VCC +0.5V

So this condition has potential to damage the adapter MCU. If the current is sufficient it could be bad for the wheel as well.

The option to ignore this and try to always ensure the adapter is connected to USB first is risky and has a number of drawbacks:

  • It's easy to forget - I've made the mistake already a few times while testing it. It doesn't help that the LED can already be off and the power cable port is well hidden behind the wheel.
  • The ideal initialization sequence appears to be to connect power first then gameport/USB. When the adapter connects too quickly the self-calibration aborts and the wheel is off-centre. Maybe this can be fixed in firmware.
  • To reset the adapter requires two connectors to be unplugged then replugged.

There appear to be a number of alternative solutions using basic components (e.g. resistors, diodes, tri-state buffers) that would all involve modification to the adapter circuitry. Note there are 6 powered pins so the MCU would need to be protected from voltages on all of these. I'm not well enough versed in Electrical Engineering to predict what would be the simplest/cheapest solution and which might also cause issues with communications. Any ideas?

@ej113 ej113 mentioned this issue Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant