banner



How To Clean Thrustmaster Warthog Throttle Switches

Upgrading the throttle and LASTE console switches

For this post I'll explain how to upgrade the switches in the panels. The grips will follow in another mail.

To remove the stock switches yous'll first demand to remove the fable plate. It is held past a few screws and double sided tape:

oDHJDJp.jpg?1

Remove the cream around the toggle switches and unscrew the mounting nuts using a pair of needle nosed pliers. The push button will accept to expect.

The stock switches are may be generic low price switches but they have the correct action and a pretty heavy throw so they're non too bad I think. The size is helpful since the bushing is close plenty to the 15/32-32 of the mil-spec switches making mounting them easy.

Turning the throttle over, the metal bottom plates can be unscrewed and removed exposing the innards. I removed the weight bars from the bottom plates to free up more space inside the throttle. If you lot tabular array mount the throttle later on you lot won't demand the extra weight anyways.

fqBWYDK.jpg?1

The problematic part of the mod at present becomes apparent - the stock toggle switches are soldered straight onto daughter PCBs together with wiring for with button buttons and backlight. Nosotros need to go rid of those lath altogether.

w6TT5Ug.jpg?1

First step is to unplug all connectors from the primary board, unscrew it and identify it bated. Be careful not crack the connectors to the side PCB. There'south some other problem now. The side PCB has a corner for the status LEDs that sticks out under the plastic holder for the main PCB:

7y94TNo.jpg?1

Unscrew the plastic holder but be careful now the tensioning mechanism for the throttle arms is free to pop out:

VwkZh6n.jpg?1

To remove the bottom (LASTE) board, push button and backlight wires accept to de-soldered first. Go out every bit much wire intact as you do so:

0GMHcwi.jpg?1

The side board goes in the same manner - de-solder and remove:

nAsij85.jpg?1

Push buttons can so be removed from inside throttle housing past pushing in the side tabs and pushing them out through the front similar to those on the stick grips.

Now would exist a good time to deal with the flaps switch. Only a small body locking switch will fit. Preferably a single pole Eaton/Cutler-Hammer 8855K10, but a 2-pole or a Honeywell TW should fit. The summit needs to be removed. I had to cut the tiptop off mine:

evDqK3n.jpg?1

To remove the the stock flaps switch the plastic peak is first removed by pushing out the retaining pin from the side. The switch trunk is buried deep only tin can be extracted by carving hole through side of the throttle arm well to complimentary the mounting nut from the back. The stock switch slides correct out and you can transplant the wires onto the new switch and install information technology in the cavity:

VPhJSbm.jpg?1

And mounted in place:

HgT7ByF.jpg?1

Now to install the regular toggle switches, it should be noted that if you stick to 1-pole mil-spec switches (even if the existent deal uses 2-poles) they should fit correct abroad. 2-pole switches will require at least that the tabs on the dorsum of the mounting holes be removed. I had to trim the corner off the structure around the throttle arms equally well to fit the engine switches.

Mounting the new toggle switches is straightforward. Experiment with the tiptop of the bottom mounting nut to observe a skillful summit overall where the bushing or locking features won't interfere with the fable plate and the locking switches are clear of the throttle arms:

ebk5D6a.jpg?1

The mag switch torso is a 1" diameter cylinder and then the tabs on the back of the EAC mounting hole have to be removed with pliers/drill/Dremel.

mzQwxKx.jpg?1

The P1-7 OTTO push buttons are a scrap wider than stock so their mounting holes need to be enlarged slightly to fit. There may not exist room to utilise the big mounting nut on the dorsum so printing fit or hot gum the buttons in place from the back if needed.

C7S0Oyg.jpg?1

On to wiring. Allow's start with the LASTE (lesser) panel. Here's how I mapped out the connections. Colors refer the ribbon to the main board:

QZ4AoXy.jpg?1

8bNKRAm.jpg?1

Cutting the ribbon and splice on wires to extend and connect to the toggle switches and push button buttons. The ground tin can be daisy chained between all switches and back to the ribbon. Notation that the magazine switch needs a Schottky diode across the solenoid terminals going from positive to negative concluding. This mitigates back current when the solenoid is engaged.

We'll demand to feed it at least 12VDC to agree in the solenoid and we need a mode to turn the ability on and off. I use a small Arduino Pro Micro and a custom MOSFET excursion for command. My MOSFET design is based on GSS Rain's fine work here, but y'all tin can also just buy a breakout MOSFET board online. It merely have to be logic level so you can control it with the Arduino. Here'due south how it can exist connected in general:
GuluduW.jpg?1

Now we tin can read the concrete toggle switch state and synchronize the solenoid with the sim.

I wired up a female person power socket that then I tin can feed it with a regular wall adapter. 1A@12V switching is fine.

Here's the confusing mess when all wired up. But the magazine switch ON position, ground and the MOSFET excursion is connected to the Arduino and so far:

jZJt5w7.jpg?1

I control the backlight in a like fashion. I joined all the red and black backlight wires into separate buses and wired them to a PWM port on the Arduino through some other MOSFET lath. The LEDS take 5V and will need a resistor on the ground wire for protection (since we removed the daughter boards that had some). I think I used 470R. The PWM port allows us to dim the lights by changing the pulses in code in response to the backlight intensity in the sim.

The remaining toggle switches and push button push button on the side panel are a scrap trickier. Here'south an overview of the wiring:

C24vxjc.png

Everything connects to the 16-pin connector that plugs into the main lath, so I built a little hub out of epitome board and a double row of male pins with standard 0.1" spacing. Information technology should plug nicely back into the main board.

Basis wires have to be connected to a single cable bus and to the proper hub pins and the indicate wires from each switch accept to be individually connected their hub pins:

WU2iWHB.jpg?3

The hub sits higher than the side board used to so we have to enhance the main board to be able to connect them.  I used 10mm bushings and some longer screws to agree the primary PCB in place:

kEYrxsV.jpg?2

Connect all wires back to the main board and ability on the throttle to run across if everything is connected correctly (or fried) before closing up the throttle.

To fit everything I had to 3d print 20mm tall frame with cutouts for the 12V plug and the Arduino and main cables:

NlU2DtZ.jpg?1

To attach the metal bottom plates again I used longer 4x40mm screws. Always be super careful when closing the throttle back upwards to avert pinching wires or stripping the flimsy plastic threads in the housing. To put the legend plates back on I had to supplant the double sided tape to make them stick.

With everything back together we can 3d print and paint a replacement hat for the flaps switch. I simply glued it on the rim of switch threading with a strong epoxy. The colour is Tamiya AS-7 spray paint:

Ou3qYTc.jpg?2

Just the DCS-BIOS code for the mag switch and backlight left. Here's an example for the A-10C 2 using the latest version of DCS flying panels branch:

Spoiler

/*
Tell DCS-BIOS to use a series connection and use interrupt-driven
advice. The main program will be interrupted to prioritize
processing incoming information.

This should work on any Arduino that has an ATMega328 controller
(Uno, Pro Mini, many others).
*/

/* This version:
*  New simplified part for backlight replaces old inference method
*/


#include "Keyboard.h" //keyboard library

unsigned int ConsolesIntensity = 0; //consoles lights intensity

#define DCSBIOS_DEFAULT_SERIAL

#include "DcsBios.h"

/* paste code snippets from the reference documentation here */
//***A-10C mode***
DcsBios::Switch2Pos lasteEac("LASTE_EAC", 2); //magazine switch ON position
DcsBios::LED laste_Eac(0x1108, 0x0100, 4); //output for MOSFET circuit when solenoid should be on

void onIntConsoleLBrightChange(unsigned int newValue) {
ConsolesIntensity = map(newValue, 0, 65535, 0, 255);
analogWrite(10, ConsolesIntensity);//PWM output for backlight MOSFET
}
DcsBios::IntegerBuffer intConsoleLBrightBuffer(0x12ee, 0xffff, 0, onIntConsoleLBrightChange);

void setup() {
DcsBios::setup();

}

void loop() {
DcsBios::loop();

}

To use the throttle for a module without native magazine switch back up in DCS-BIOS like the Hornet, nosotros can use the Arduino Pro Micro as a USB keyboard and send a keystroke every bit a workaround. Note the panel lights are implemented in weird way in the standard library (intensity output is an integer, so we need to apply it in combination with the dimmer knob position):

Spoiler

/*
Tell DCS-BIOS to use a serial connexion and use interrupt-driven
communication. The main plan will be interrupted to prioritize
processing incoming information.

This should work on any Arduino that has an ATMega328 controller
(Uno, Pro Mini, many others).
*/

/* This version:
*  New simplified function for backlight replaces old inference method
*/


#include "Keyboard.h" //keyboard library

char ctrlKey = KEY_LEFT_CTRL; //just in case
unsigned int ConsolesIntensity = 0; //consoles lights intensity
byte ConsolesOn = 0 //are the console lights on
int PressHookBypass = 0; //count if HookBypass has been pushed
int StateHookBypass = 0; //HookBypass switch position
byte SimHookBypass = 0; //HookBypass sim switch position (may not be in this position at start!)

#define DCSBIOS_DEFAULT_SERIAL

#include "DcsBios.h"

/* paste code snippets from the reference documentation hither */

//---HookBypass switch position output
DcsBios::LED hook_BypassSw(0x7480, 0x4000, 4);//added underscore to name. HookBypass switch in pos 1, ship 5v to MOSFET and 12v to HookBypass solenoid.

void onHookBypassSwChange(unsigned int newValue) {
SimHookBypass = newValue;
}
DcsBios::IntegerBuffer hookBypassSwBuffer(0x7480, 0x4000, fourteen, onHookBypassSwChange);

//---Console lights
void onConsoleIntLtChange(unsigned int newValue) {
ConsolesOn = newValue; //check if lights should be allowed on
}
DcsBios::IntegerBuffer consoleIntLtBuffer(0x74d4, 0x2000, 13, onConsoleIntLtChange);

void onConsolesDimmerChange(unsigned int newValue) {
if (newValue < 32000 && ConsolesOn == i) {
ConsolesIntensity = map(newValue, 0, 31999, 0 , 50);  //slower kick-in to match sim
}

if (newValue >= 32000 && ConsolesOn == 1)  {
ConsolesIntensity = map(newValue, 32000, 65535, 50 , 255);
}

else {
ConsolesIntensity = 0; //shut it off
}
analogWrite(10, ConsolesIntensity); //split up by more than to lower max output
}
DcsBios::IntegerBuffer consolesDimmerBuffer(0x7544, 0xffff, 0, onConsolesDimmerChange);

void setup() {
pinMode(2, INPUT_PULLUP); //Continued to HookBypass ON
Keyboard.begin(); //Emulate keyboard

DcsBios::setup();

}

void loop() {
DcsBios::loop();

if (digitalRead(2) == Depression){//HookBypass switch is in on position
StateHookBypass = 1;
}

if (digitalRead(ii) == High) {//HookBypass switch is in off position
StateHookBypass = 0;
}

if (StateHookBypass == 1 && PressHookBypass == 0){//HookBypass switch moved to on
if (SimHookBypass == 0) { //check if real and sim switches are synced
Keyboard.printing('5'); //HookBypass CYCLE ON/OFF jump to 'five' in sim
delay(100);
Keyboard.releaseAll(); //release keys
}
PressHookBypass = 1; //HookBypass switch has been manually moved to on
}

//exam if we can find switch being moved to off
if (StateHookBypass == 0 && PressHookBypass == 1){//HookBypass switch manually moved to off
if (SimHookBypass == 1) { //check if real and sim switches are synced
Keyboard.printing('5');
delay(100);
Keyboard.releaseAll(); //release keys
}
PressHookBypass = 0; //HookBypass switch is no longer in on
}

if (StateHookBypass == 0){//HookBypass switch released to off in DCS
Keyboard.releaseAll(); //release keys
PressHookBypass = 0;
}


}

That's information technology. Enjoy the toggling 🙂

Edited past DeadMeat

How To Clean Thrustmaster Warthog Throttle Switches,

Source: https://forum.dcs.world/topic/272618-full-switch-upgrade-for-thrustmaster-warthog-throttle-otto-cutler-hammer-honeywell-mason/

Posted by: ishmaelnowerever98.blogspot.com

0 Response to "How To Clean Thrustmaster Warthog Throttle Switches"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel