Jump to content

TM Cougar MMJoy2 based PCB


Duckling

Recommended Posts

Update 220428:

Short description:
Drop-In replacement board for Thrustmaster Cougar 5V Stick, to replace bricked original PCB.
This converts the Cougar stick to a USB Device using the wonderfull MMJoy2 'application'
12bit resolution 8 axis  with a MCP3208 DIP. Provide 8 channels:
- Stick 2 axis (pitch, roll)
- Throttle/TQS connectors 12bit ADC resolution 5 axis (Throttle, Rng, Ant, Microstick (2 axis)
- Rudder (Yaw 12 bit) + left/right Brakes (10 bit)
**-> Note that Windows only support 8 axis total per USB device so you have to choose which to use from above options.

All ports from the MMJoy2 MicroPro is exposed on the PCB, use these as you like for additional button matrixes, switches and so on 
i.e. If you not connect the TQS or Rudders, PCB assigned ports/axis are at free for other tasks.
The PCB has place for a tactile switch (through hole) and also solderpoints for an external reset switch.
PCB will fit a TM Cougar with original Gimbal

BOM/Bill of Material excluding the PCB itself are:
1    Arduino MicroPro 32u4 5V 16MHz (this version is MMJoy2 compatible) with a "as long as needed" USB cable
1    MCP3208 DIP (8 Channel, 12bit ADC DIP)
1    Optional (but recommended) 16pin dip socket, for the MCP3208 DIP
1    DB 15 Pin 3 Row Female D-SUB VGA Connector PCB (TQS/Throttle Connector)
1    D-sub Connector Female 15-pin 2-row Right Angle (Rudder connector)
1     JST EH 2.5mm pitch 5-Pin Straight Socket Male Connector (Stick Handle connector)
2    JST EH 2.5mm pitch 3-Pin Straight Socket Male Connectors (Stick pitch/roll pot connectors)
1    Short cable to connect TQS connector pin 15 to 5V on the PCB
2    12pin female pinheader
1    6x6 Tactile Momentary Push Micro Switch (as low as possible (reset switch for the ProMicro)
(soldering skill IS mandatory)

To get it working:
Solder the PCB components, *note the direction of the components/sockets.
Flash the ProMicro with MMJoy2 (I used version v20160818upd1) 
Replace the original TMCougar PCB with this board.
Verify the USB Device is visible in windows
Start MMJoySetup.exe (preferable v20160818upd1 if you'll use my provided setupfile (For stick + throttle)

Select your MMJoy device from "Device list and configuration" 
Click "Load sets from file" , select the "TMCougar_220423_MMjoy2_v20160818upd1.mmjoy"
Click "Save Set to device"
Restart, 
Calibrate your axis under windows game devices and verify your buttons.
This should get you running,

The "TMCougar_220423_MMjoy2_v20160818upd1.mmjoy" is my working setup.
For how to use/config/extend the MMJoy2 configuration, see https://github.com/MMjoy/mmjoy_en/wiki

MMJoy ports assigned ON the PCB (see the wiki for pin numbering schema)
Cougar Stick handle:     F6, F7 (3x4021 shift registers) 
Button Matrix Rows:        B4, B5, B6
Button Matrix Columns:    D0, D1,D2,D3
Joystick Axes (12 bit)        E6 (8 Channels), B1 (Clk), The channel 8 is "Rudder yaw (L/R)"        
Rudder Brakes (L/R)        F4, F5 (10 bit)

Disclaimer: English is not my native language, please ignore bad spelling/grammar.
I have no intent to further produce and sell these boards (apart from the four extra I currently have). 
I will upload the PCB Gerber production file to this post shortly plus some extra info.
You can send the Gerberfile to a PCB production company to have the PCBs created, i use https://jlcpcb.com/ but it's up to you.
PCB Created with EasyEda
PCB gerberfile free to use for anyone, no exceptions. Provided as it is, with NO warranty or stated support from my side, i.e. it's on your own risk.
Apart from the TQS, I have not tested the boards every ports but so no reason why they shouldn't work.
And, pay attention not to damage the cabling. There are several posts here and on other sites how to replace the Cougar stick PCB.

All the best
Gus 

****

 

Hi Guys

Thought I share some info of an ongoing project.

 

*****

Edit: Just to avoid misunderstandings. This board is intended as a drop-in replacement for a bricked original TM Cougar PCB. It utilize a lowcost Arduino Pro Micro flashed with MMJOY2 firmware (MMJOY2, by Mega_Mozg, https://simhq.com/forum/ubbthreads.php/topics/3899105/mmjoy-mmjoy2-set-your-own-usb-controller-with-a-cheap-arduino).

(there is a subforum here in ED forum as well). All the fancy stuff and option provided by MMJoy2 is taken place within that firmware/control, my intention is just to adopt it to easy use for an old Cougar in need of life sustaining actions.

The MMjoy2 provides built in support for the shiftregisters within the Cougar stick (CD 4021B in my case).

*******

 

 

I digged up my old dusty Cougar to use again after many years. Now in W10 environment and failed to get it working, was visible in device manager as a HID devices but all the tips and tricks I found failed. Even reinstalled both W98 and XP on an old PC and attempt to config the stick there failed. Finally reset the firmware and that was the last sign of life from it.

Pinged TM Support with with S/N, version etc and received a query to  further document the quiz and thought the better of it. A new original PCB would be high (rather) cost and still force me back to the driver issues.

 

I used URI-BAs TQS mod for Gameport to USB using a small Arduino Micro Pro, (Throttle was the primary need) and worked right of (Thanks URI).

After sometime I read up on MMJoy2 (absolutely fantastic software) to get the stick back in action using another Micro Pro and an lab/brakeout board. The support for the TM embedded shift registers in the handle, made the conversion a doable task. Cleaned the original POTs and they came up quit nice with minimal noise so I'll keep them. 

Obviously support for Target and other TM Software is gone but got MMJOY SW will make up for it if I put these into more advanced use.

 

Anyway, I'm left with one extra external adapter per device, could be remolded to fit inside each base but that would still leave option for rudder input (that huge DB25 DB15) to be connected some other way.

 

Now started to create a drop-in PCB replacement board again based on Arduino Micro Pro and MMJoy2 to enable to reuse all existing cabling inside and also provide some extra 12bit DAC connections and connection points for a button matrix expansion.

 

If this goes well, it will not be a commercial product, so intention is just to provide the gerberfiles for the PCB itself with some additional info.
Below v1 of the PCB, just for the stick, not the correct pinheads here. More to come (hopefully) 🙂

(please ignore bad spelling/grammar etc, I'm not native English speaking and doing my best here), there bound to be errors in labeling and info but I'll do my best to tidy them up along the way)  

 

Cheers

/Gus

 

 

IMG_9359.jpg

TMCougar_MMJOY2_Board_v4.JPG

TMCougar_220423_MMjoy2_v20160818upd1.mmjoy Gerber_PCB_MMjoy2_Cougar_Stick_v4.zip

IMG_9361.jpg


Edited by Duckling
Typos...
  • Like 2

- - - -

Link to comment
Share on other sites

@aelfewolf: CH0-CH7 was (now mostly dedicated to the TQS) 8 x 12bit inputs through the MCP3208 DAC chip connected to the MMjoy2. Rotary encoders is supported by the MMJoy but in this case I haven't checked up on if the 3 remaning unused pins (exposed on the board) provide support but I guess so.

 

@Habu_69: Thanks but remember as stated above, this will not be commercial board, I'll probably will have a few extras due to have to order them in production batch. As long as this project works, I'll upload the gerberfiles here to use for anyone (upload them to a PCB production of choice and you will get the board/boards back for a low cost)

 

Next iteration of the board below:

Added the 15pin 'VGA' connector for the Throttle and DB15 std for the rudders, and cleaned up the board a bit. 

 

I connected 5 of the 12bits available pins (of the MCP3208 DAC) to the TQS connector (ministick, ANT, Range and the Throttle), 2 pins (12bit) handle the flightstick, and last 12bit goes to to the rudder connection (Yaw).  2 * 10bit (Arduino native resolution) goes to rudders L/R brake. 7 pins used for the TQS button matrix leaving 3 pin unused,  these together with VCC and ground exposed as solderpoints on the board (or for a extra pinhead of choice (2.54 pitch)

 

Finally found the the correct pinheads TM use (JST-HE) and ordered a batch, 

Also ordered 5 PCBs as first batch yesterday, will be a month before next verification/test can be made (hoping for the best)

 

(Ignore the blocks for CH5-6 in the pics, JST-HE will be used and same for the stick handle itself) 

 

All the best

/Gus

 

TM-Cougar-MMJOY2-PCB_v2-1.JPG

 

 

- - - -

Link to comment
Share on other sites

So there will be 2 versions of the board?

1 for standalone stick, another 1 for Cougar throttle + stick (connected via Dsub) ?

 

I have a stand-alone USB modded Cougar throttle and Vipergear force sensor modded Cougar stick.

Would love to have rotary encoders fitted to the stick base! 


Edited by aelfewulf
Link to comment
Share on other sites

6 hours ago, Duckling said:

I connected 5 of the 12bits available pins (of the MCP3208 DAC) to the TQS connector (ministick, ANT, Range and the Throttle), 2 pins (12bit) handle the flightstick, and last 12bit goes to to the rudder connection (Yaw).  2 * 10bit (Arduino native resolution) goes to rudders L/R brake.

 

Curious, how you surpass Windows Dinput 8 and MMjoy2 firmware 8 axes limitation per controller?

Per above you have 5 + 2 + 1 (12 bits) + 2 (10 bits ) = 10 axes

 

An suggestion, reduce board width, for make more room for use, e.g. an 3D Printed CAM gimbal like Object 77B v2.

 

https://thangs.com/IronArthur/Object-77B-v2-14932

Link to comment
Share on other sites

On 6/27/2021 at 7:20 PM, Sokol1_br said:

 

Curious, how you surpass Windows Dinput 8 and MMjoy2 firmware 8 axes limitation per controller?

Per above you have 5 + 2 + 1 (12 bits) + 2 (10 bits ) = 10 axes

 

An suggestion, reduce board width, for make more room for use, e.g. an 3D Printed CAM gimbal like Object 77B v2.

 

https://thangs.com/IronArthur/Object-77B-v2-14932

Oooops, totally true and no way for me to save face here ;-) Just scooped up available physical ports and routed'em. WIN limits was nowhere in minds in that time. Thanks for the remainder. Adding an extra device (or embedded HUB) will press the cost to high. 

First five boards then (minimum batch ordered) will only support either stick/throttle + rudder yaw (or stick + rudder Yaw, L&R Brake) depending on MMjoy config. Lets see how they behave before any decision

 

Huge board yes, and also lot of space to utilize or to cut away to other purpose, wanted to keep it simple since I'll keep my original gimble. Compress the physical space of the PCB would not be an issue, and could be formed to use three of the four existing fastening bolts and cut away but required space (I'll avoid SMD at all cost :- )

 

 

 

- - - -

Link to comment
Share on other sites

First batch ordered (5 boards) will be as v2 above but no problem to try to expand in another venture just fore the stick base itself. Long vacation and hopfully some rainy days ahead.

Can you describe your requirements?

Internal or external 'buttonbox'?

Or internal with expansion possible to an external box?

DCS only?

Numbers of intended encoder, switches rotaries etc, 

Isolation diods at the PCB or on the switchside

Type of connection required, via BUS or per each connected switch/encoder etc? 

Gotta check the prereqs of MMJoy2 max configs also

 

- - - -

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...

Yes, Version 4 created. soldered it yesterday and installed in my Cougar.

As Sukol1_br reminded me of (thanks), win supports 8 axis total per device, with that and the suggestion from aelfweu, I extended the options somewhat. 

All (almost) of the ports of the ProMicro are now exposed to solder connection

A MCP3208 provides 8x12bit A/D ports (2 ports hardwired to the stick, 5 to the TQS/DB15VGA contact and last one to DB15/Rudder.  If either TQS or Rudder not required this ports are free for any other use (just connect your wire to the corresponding pin on the board (5V and ground is available on several places on the board. L/R (rudder) brakes connected directly to the ProMicro, 10bit A/D each so all in all 10 prepared axis inputs but user has to choose with 1-8 to use, or define another axis on any other free port to use instead.         

It has a few glitches: ProMicro USB port connection cable comes VERY close to internal 'pillar' screw mount within the Cougar base. You'll see I hade to trim the contact to get it to fit. There is also the placement /rotation of the boards stick axis port that could have been better.  

Edit: There's to be some other things I err'd on but with the stated exeptions not yet found :- ) , still  early days

Currently TM Stick (with axis and buttons) works but only the TQS axis (Throttle/Range,Ant elevation and ministick works (the later remains to be seen if ok), but the buttons is inop. Probably I made some err either in connection, logic or programming the mmjoy2.

Currently running MMJOY2[v20160818upd1]. If I understand it right the sticks buttons (working), should be shown working in the button matrix HW view when pushed, but no joy. Defining the the TQS button matrix results in several of the sticks buttons is lost and order is swapped. Any suggestions welcomed  

All the best

/Gus

IMG_9296.jpg

IMG_9294.jpg

IMG_9295.jpg

MMJOY2_ProMicro_PinAssignment_v4.JPG

TMCougar_MMJOY2_Board_v4.JPG


Edited by Duckling

- - - -

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...

GDay Duckling

Im very much excited about what you are doing here.

I pretty sure my board is a couple of heart beats away from going kapoots. It wont hold firmware, button and axis emulation in CCP will turn off and on every few seconds on its own (almost called a priest for that one). I bunch of years ago i bought the Realsimulation force sensing kit for the cougar (my wallet and me cried a little), but in short im looking for a updated board to keep the stick and throttle going....and i stumbled on to what your doing which is fantastic.

Am i correct in that your in development phase here? Is there an intent to produce these boards to replace the originals

Again..excited on what your doing, look forward to more.

 

WITH ENOUGH THRUST, LIFT IS IRRELEVANT!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...