Thrustmaster Warthog Throttle Repair - Page 1
Forum section: electronics / repair

author: highmastergogo
author_rank: Contributor
timestamp: November 30, 2020, 09:57:57 pm
content: Hi all, I'm hoping this is the right place to post this thread.I bought a HOTAS (hands on throttle and stick) joytick from ebay that had a dead throttle. I'm pretty confident with electonics and soldering so I thought I'd buy it and attempt a repair. Worst case scenario, PCBs are apparently still avaialble direct from Thrustmaster for around £60 so I was willing to take a punt.Initially, when plugging the USB cable into a windows 10 pc, it would pop up saying the USB device had malfunctioned. This is a very common problem with these devices and a PCB swap fixes the issue. However, I want to deep dive into what exactly on the PCB has broken.These PCBs have a main IC which I assumed would probably be at fault here. I bought a couple of new ICs but I wasn't aware of the need for a programmer to insatll the bootloader/firmware to the chip. So in the end I simply reflowed the IC that was already there. This, amazingly, has made everything on the throttle work apart from the main throttle slider axis. All buttons now work and all LEDs light up. It's also correctly identified by windows and I can see all buttons working in the game controller window.I know this is probably a long shot but I was wondering if anyone knows where I can get a schematic of the PCB from? Or if anyone is able and willing to assist me in reverse enginerring it? I feel like I'm so close to getting this PCB fully functional that it would be a shame to simply swap it out for a new one.To me, the PCB is very simple. A load of I/Os for all the different buttons, switches, dials and sliders.The sliders that aren't working are using a rotational position sensor (316bcg) with magnets in the shafts. I have a feeling the power delivery to these separate PCB boards is incorrect probably due to a reg or moseft that has blown...There is one suspect regulator or mofset at position Q2 which is marked up as "MGW 42". I've not been able to find any information on the net about this part.Anyway, I thought I'd open it up to you electronic gurus to see if you can point me in the right direction. I can supply as many photos as needed. Here's one to start off.Many thanks in advance to anyone that is willing to help me with this.Update:Going off a degree of a hunch here but I've ordered replacement mosfets for Q2, Q3 and Q4.Q2 is a "NX2301P - 20 V, 2 A P-channel Trench MOSFET"Q3 and Q4 are both "2N7002 - 60 V, 300 mA N-channel Trench MOSFET".I hope!

author: fzabkar
author_rank: Super Contributor
timestamp: December 01, 2020, 06:16:29 am
content: Your choice for Q2 looks good to me. IIRC, the "w" in "MGw" should be lower case.From looking at the circuit, I guessed that it may have been a PNP BJT, but a P-channel MOSFET fits, too.

author: highmastergogo
author_rank: Contributor
timestamp: December 01, 2020, 09:52:20 am
content: Many thanks for your reply. Will see if it makes any difference.

author: highmastergogo
author_rank: Contributor
timestamp: December 01, 2020, 05:07:52 pm
content: Mosfets replaced and behaviour is exactly the same. Everything working other than the two main sliders.As I mentioned before, the main thottle works with hall effect rotational sensors 316bcg. I'm goiung to try and rig one of these up to an arduino and see if I can get a reading. Unless there's an easier way to test these sensors?I suspect the power management of the main PCB or even the main IC are still to blame.I've started drawing up the PCB in Easy EDA but I'm finding it anything other than easy!

author: CJay
author_rank: Super Contributor
timestamp: December 01, 2020, 05:16:08 pm
content: Well here's the datasheet for the 316BCG:https://www.melexis.com/en/product/MLX90316/Absolute-Rotary-Position-Sensor-ICI guess it depends which mode the chip is configured for and it's a complex little thing, however the usual applies, always check power supplies to the part, check soldering, if you've got any test gear, 'scope' logic analyser then we can suggest a few more things perhaps

author: highmastergogo
author_rank: Contributor
timestamp: December 01, 2020, 05:52:25 pm
content: Hey, thanks for your contribution.I'm currently having a browse of that exact datasheet.I do have a scope but it's nothing fancy. It's a Hantek 2ch USB scope. What would you suggest I test with this?

author: CJay
author_rank: Super Contributor
timestamp: December 01, 2020, 06:58:19 pm
content: AS mentioned, check you've got supply volts to the MLX chip itself, also check you've got a ground connection at the chip.I'm assuming the throttle is connected to the 5 pin connector marked MLX at the bottom of the picture?WOuld be useful to be able to see the part number on the Cypress processor chip, if we knew that and where the faulty controls connect then we could probably make a decent guess how the MLX chip is configured and give some more ideas but, if you trace out the connections to the MLX chip and 'scope on the output then come back with a screenshot of the signals you see when you move the control

author: highmastergogo
author_rank: Contributor
timestamp: December 01, 2020, 07:28:10 pm
content: Many thanks Cjay.Yes. Def have 5v and GND at the chip.The cypress chip is the CY8C24894-24LTXIhttps://www.mouser.co.uk/datasheet/2/100/38-12018_CY8C24094_CY8C24794_CY8C24894_CY8C24994_P-769533.pdfI believe the connections from the MLX to the Cyrpress are as follows:Right Throttle (MLX_R)MLX PIN 1 (black SCLK) -> CYPRESS PIN 51 and 52 ("Analog column mux input")MLX PIN 2 (brown S.S.) -> CYPRESS PIN47("Analog column mux input VREF")MLX PIN 3 (red MOSI/MISO) -> CYPRESS PIN 51 and 52 ("Analog column mux input and column output")MLX PIN 4 (orange) -> GNDMLX PIN 5 (yellow) -> 5vLEFT Throttle (MLX_L)MLX PIN 1 (black SCLK) -> CYPRESS PIN 51 and 52 ("Analog column mux input")MLX PIN 2 (brown S.S.) -> CYPRESS PIN53("Analog column mux input VREF")MLX PIN 3 (red MOSI/MISO) -> CYPRESS PIN 51 and 52 ("Analog column mux input and column output")MLX PIN 4 (orange) -> GNDMLX PIN 5 (yellow) -> 5vWRONG - SEE BELOWMy scope is currenctly at work so I do some more tests tomorrow.Thank you so much for you help so far.

author: highmastergogo
author_rank: Contributor
timestamp: December 01, 2020, 09:14:43 pm
content: I've managed to verify that both the left and right MLX chips are good using an arduino.So, will get some time on it with the 'scope tomorrow and see what's what.

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 03:20:24 pm
content: I've just connected the scope up to the 3 pins of the MLX connector. It doesn't matter what position the throttle is in, the values don't change.So we have power and ground at the MLX chip. We know the chips are good but we're not getting a reading back from the chip. From my limited knowlegde of SPI, I feel like the cypress chip isn't telling the MLX to turn on. Thoughts?

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 04:27:52 pm
content: CH1 is SS and CH2 is MOSI/MISOit's dancing around like crazy too.You'll have to excuse my limited knowledge of scopes and how to properly use them.

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 04:35:22 pm
content: And here's some shots or each pin SS, MOSI/MISO and SCLK

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 07:15:48 pm
content: I've worked some more on the easyeda scematic and I realised I made some mistakes with the connection list above. Here is the corrected one...Right Throttle (MLX_R)MLX PIN 1 ("VCC" yellow JST wire) -> 5vMLX PIN 2 ("TEST 1") -> NOT USEDMLX PIN 3 ("S.S." brown JST wire) -> CYPRESS PIN47MLX PIN 4 ("SCLK" black JST wire) -> CYPRESS PIN 52MLX PIN 5 ("MOSI/MISO" red JST wire) -> CYPRESS PIN 51MLX PIN 6 ("TEST 2") -> NOT USEDMLX PIN 7 ("Vdig") -> NOT USEDMLX PIN 8 ("GND" orange) -> GNDThe connections are the same for the Left other than MLX PIN 3 is connected to CYPRESS PIN53.

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 07:48:16 pm
content: So I'm pretty sure this is a SPI issue. I've read up a little on SPI but I'm not sure, in this scenario, which would be the master and which is the slave. I would assume the Cyrpress is the master and each of the MLX (left and right throttle) is a slave.Can anyone give me a crash course on SPI and what I may need to look at in order to diagnose this issue?

author: CJay
author_rank: Super Contributor
timestamp: December 02, 2020, 07:52:58 pm
content: OK, that doesn't look terrible, looks like the MLX chips are being selected, where are you probing the signals?Have you confirmed the signals are making it back to the Cypress chip?

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 07:59:32 pm
content: That was probed at the JST connector.I'll try at the cypress now...

author: CJay
author_rank: Super Contributor
timestamp: December 02, 2020, 08:00:56 pm
content: Whichever device is controlling SS is the master, in this instance that would be the Cypress chip.The master would generate the SCK and SS lines.SS is a select line, you can have multiple devices on the bus but each has to have its own select signal, when a device isn't selected it shouldn't send data or act on data sent.https://www.arduino.cc/en/reference/SPI

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 08:06:31 pm
content: I see, thanks Cjay.I'm getting the same readings on the scope at the cypress chip.

author: CJay
author_rank: Super Contributor
timestamp: December 02, 2020, 08:12:16 pm
content: K, so can you see the MOSI/MISO traces change as you move the controls?Curious now how you confirmed the MLX chips with your arduino?

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 08:13:46 pm
content: No change on anything when moving the controls.I got the MLX chips working with an Arduino Mega by following this...http://interface.khm.de/index.php/lab/interfaces-advanced/rotary-positionsensor-mlx90316/

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 08:51:54 pm
content: The throttle is working perfect when wired directly to an arduino. Lovely, smooth and very accurate.

author: CJay
author_rank: Super Contributor
timestamp: December 02, 2020, 10:04:11 pm
content: Hrrm, nice sensor but I@m kinda out of ideas now, if the chip's being initialised and is outputting data (actually, does that pattern repeat?) and you've verified the connections then it's a problem with the Cypress chip.If it were mine I might consider updating the firmware now it's at least being seen by the PC

author: highmastergogo
author_rank: Contributor
timestamp: December 02, 2020, 10:05:59 pm
content: Yes, I'm starting to think it's the cypress. I do have a couple of spare cyrpress chips but I have no idea how to get the thrustmaster firmware onto it. Any ideas?I've already updated the current, original chip to latest firmware via the thrustmaster firmware update windows app.Here's a vid confirming the MISO output of the MLX when connected to the arduino.

author: analog123
author_rank: Newbie
timestamp: February 23, 2021, 06:13:42 am
content: It's been a couple of months since the last post, I pm'ed you but I'm curious if any progress has been made?

author: highmastergogo
author_rank: Contributor
timestamp: February 24, 2021, 01:14:01 pm
content: I ended up buying a replacement board from Thrustmaster. This fixed my issue. Obviously there's something under engineered on the board that causes it to die. I'd much prefer to create an open source version of this board so it can be made more robust or can be swapped out much easier (and cheaper!) should it break again.

author: Sgt_Baker
author_rank: Contributor
timestamp: May 29, 2023, 08:36:39 pm
content: Hi all,My TM WH throttle gave up the ghost more than four years ago. After much frustrating research I happened across reports that a "bricked", meaning non-functional when plugged in to a USB port directly, throttle could be restored to normal function by under-volting it through a crappy passive USB hub.It works!And has been without issue ever since.Hopefully this will inform further diagnosis, given that these throttles are not cheap and the replacement PCB (the only "recognised fix") from manufacturer is expensive.All the best,Sgt_Baker