Main > Main Forum
New Product: SWYM: Star Wars Yoke Mount
<< < (7/11) > >>
jasonbar:
That's pretty slick. I hadn't heard of it--I haven't been around here much lately.

If I were to make a production run of my SWYM mounts, I'm pretty sure they'd cost more than the GRS Flight Yoke itself..

Thanks,
-Jason



--- Quote from: Toonout on February 07, 2021, 10:42:18 pm ---This thread is really old but if your still into making these things Glen’s retro show created a Star Wars yoke that myself and 250 other people bought on Kickstarter and is now selling on amazon. It doesn’t come with a mount. There’s a c3d printable option from Wagner’s tech talk but it looks like you could make something way better and metal. There’s no gear shaft hanging out the back so it could be a smaller cleaner mount than what’s going on above.

--- End quote ---
telengard:
Crazy necro, but this is a continuation.... I am finally getting around to setting this up.  I sold my original yoke and got an Alan-1 yoke.

Long ago I purchased the welded metal mount from @jasonbar (pics above), but I have a regular (angled down slightly) metal control panel, and the mount is pretty much flat so the yoke would not sit up at an angle.  I didn't take this into consideration when purchasing that.

I've been searching online and have found a few 3d printed things, but they are for the GRS which does not have the protruding gears etc like the original/Alan-1.  I just need something wedge shaped that would angle the mount I already have back 45 degrees or so.

Just looking for ideas on what I could use... or an altogether different idea is OK too.  I'm not married to the metal mount I have.

PL1:

--- Quote from: telengard on March 31, 2025, 01:56:03 pm ---Long ago I purchased the welded metal mount from @jasonbar (pics above), but I have a regular (angled down slightly) metal control panel, and the mount is pretty much flat so the yoke would not sit up at an angle.  I didn't take this into consideration when purchasing that.

--- End quote ---
It would be fairly easy to make a simple 3d printable wedge-shape if you can make a cardboard prototype for clarity regarding shape, size, connection points/methods, etc.
- With a few pictures and the desired angles and measurements, I can make a custom printable model for you.   ;D


--- Quote from: telengard on March 31, 2025, 01:56:03 pm ---I've been searching online and have found a few 3d printed things, but they are for the GRS which does not have the protruding gears etc like the original/Alan-1.  I just need something wedge shaped that would angle the mount I already have back 45 degrees or so.

Just looking for ideas on what I could use... or an altogether different idea is OK too.  I'm not married to the metal mount I have.

--- End quote ---
If you're looking for more of a standalone controller and are good at woodworking, you might be able to make something like this.
https://forum.arcadecontrols.com/index.php/topic,123347.msg1310086.html#msg1310086

If you're not-so-good at woodworking, I've been working on a 3d printable SW yoke housing.  The outer shell is mostly done, but it definitely needs supports added because the yoke weighs about 8 pounds, plus all the other stresses added by vigorous gameplay.
- Not sure if the yoke's center of gravity and leverage will cause the housing to tip over too easily.  Worst case scenario, use the four foot screw holes to attach the housing to a board that extends behind the housing and clamp the back of the board to a stable surface or put a weight on it.
- The holes on the back are for a Neutrik USB feedthru.
- The square button holes on the front are for mechanical keyboard switches.
- The OpenSCAD code for the housing is designed so it is fairly easy to customize it with round button holes, embossed art/text labels, etc.


Scott
telengard:
Hey PL1, thanks for all that info!

I'm definitely NOT good with woodworking at all.    :lol

Ideally I'd just have some wedge thing that would change the angle of the metal enclosure that I bought from jasonbar, it's very solid and can handle the ALAN-1 yoke just fine.  The enclosure has 4 holes on the bottom corners which could be used for attaching to the wedge, and then I can just attach the wedge to my control panel in the same way (I have a modular panel, so it would just be attaching to what is essentially an aluminum removable plate that attached to my actual control panel).

Here's my cab: https://www.briansturk.com/mame.html
Modular panel pics (for reference): https://www.briansturk.com/mame/controls.html

If you could make some kind of wedge for me to have 3d printed, that would be so awesome as I have no experience with 3d printing at all.
I can definitely take measurements of the enclosure I have, and angle of my control panel etc.

~telengard


--- Quote from: PL1 on April 03, 2025, 03:45:24 pm ---
--- Quote from: telengard on March 31, 2025, 01:56:03 pm ---Long ago I purchased the welded metal mount from @jasonbar (pics above), but I have a regular (angled down slightly) metal control panel, and the mount is pretty much flat so the yoke would not sit up at an angle.  I didn't take this into consideration when purchasing that.

--- End quote ---
It would be fairly easy to make a simple 3d printable wedge-shape if you can make a cardboard prototype for clarity regarding shape, size, connection points/methods, etc.
- With a few pictures and the desired angles and measurements, I can make a custom printable model for you.   ;D


--- Quote from: telengard on March 31, 2025, 01:56:03 pm ---I've been searching online and have found a few 3d printed things, but they are for the GRS which does not have the protruding gears etc like the original/Alan-1.  I just need something wedge shaped that would angle the mount I already have back 45 degrees or so.

Just looking for ideas on what I could use... or an altogether different idea is OK too.  I'm not married to the metal mount I have.

--- End quote ---
If you're looking for more of a standalone controller and are good at woodworking, you might be able to make something like this.
https://forum.arcadecontrols.com/index.php/topic,123347.msg1310086.html#msg1310086

If you're not-so-good at woodworking, I've been working on a 3d printable SW yoke housing.  The outer shell is mostly done, but it definitely needs supports added because the yoke weighs about 8 pounds, plus all the other stresses added by vigorous gameplay.
- Not sure if the yoke's center of gravity and leverage will cause the housing to tip over too easily.  Worst case scenario, use the four foot screw holes to attach the housing to a board that extends behind the housing and clamp the back of the board to a stable surface or put a weight on it.
- The holes on the back are for a Neutrik USB feedthru.
- The square button holes on the front are for mechanical keyboard switches.
- The OpenSCAD code for the housing is designed so it is fairly easy to customize it with round button holes, embossed art/text labels, etc.


Scott

--- End quote ---
PL1:

--- Quote from: telengard on April 04, 2025, 02:07:59 pm ---Ideally I'd just have some wedge thing that would change the angle of the metal enclosure that I bought from jasonbar, it's very solid and can handle the ALAN-1 yoke just fine.  The enclosure has 4 holes on the bottom corners which could be used for attaching to the wedge, and then I can just attach the wedge to my control panel in the same way (I have a modular panel, so it would just be attaching to what is essentially an aluminum removable plate that attached to my actual control panel).

--- End quote ---
Sounds good.

Here's a WIP wedge design for use with commonly available 1/4" wood or sheet metal screws.
- It is parametric so it is easy to adjust sizes/angles/positions by changing variable values.
- Four screws at the corners to attach the metal enclosure to the wedge. (red)
- Four screws in a diamond configuration to attach the wedge to the aluminum plate. (blue)
- Hollows added to reduce filament needed. (white, purple, green)

Measurements needed:
- Metal yoke mount base X-axis width (HousingBaseX - line 9)
- Metal yoke mount base Y-axis depth (HousingBaseY - line 10)
- Metal yoke mount screw hole center-to-center X-axis distance (HousingBoltX - line 13)
- Metal yoke mount screw hole center-to-center Y-axis distance (HousingBoltY - line 14)
- Front metal yoke mount screw hole center to front edge of housing Y-axis distance (no associated variable, just need to verify proper clearance for the yoke)
- Aluminum plate/base of wedge X-axis width (BasePlateX - line 18)
- Aluminum plate/base of wedge Y-axis depth (BasePlateY - line 19)
- Desired wedge angle (WedgeAngle - line 29)

If you'd like to see and manipulate this in 3d, download OpenSCAD and copy/paste the code below into the code window on the left side of OpenSCAD.

Adjust the variables on lines 9 thru 56.
- All measurement values are in mm.
- Line 29 is in degrees.
- Scale variable values are multiplier values. (used to stretch a cylinder into an oval hollow)
- "//" indicates that the rest of the line is a comment.

Click on the preview icon (3rd from right) to see how the part looks with the current variables.
- Left click and drag in the preview window to rotate the view angle.
- Right click and drag in the preview window to move the view position.
- Scroll wheel while cursor is in the preview window zooms in/out.

WIP Telengard wedge OpenSCAD code

--- Code: ---// Wedge for mounting metal Star Wars yoke housing by Jasonbar.

// Use 1/4" wood or sheet metal screws.

/////////////////////////////
//  Define the variables
/////////////////////////////

HousingBaseX = 120; // Metal housing mount base X-axis width
HousingBaseY = 160; // Metal housing mount base Y-axis depth

///////////// Rendered in red /////////////
HousingBoltX = 80; // Metal housing mount bolt hole center-to-center X-axis distance
HousingBoltY = 120; // Metal housing mount bolt hole center-to-center Y-axis distance
HousingBoltXOffset = 0; // Metal housing mount bolt pattern X-axis offset distance from center
HousingBoltYOffset = 0; // Metal housing mount bolt pattern Y-axis offset distance from center

BasePlateX = 130; // Base plate X-axis width
BasePlateY = 170; // Base plate Y-axis depth

///////////// Rendered in blue /////////////
BasePlateBoltX = 70; // Base plate diamond mount bolt pattern X-axis center-to-center distance
BasePlateBoltY = 100; // Base plate diamond mount bolt pattern Y-axis center-to-center distance from center
BasePlateBoltXOffset = 0; // Base plate diamond mount bolt pattern X-axis offset distance from center
BasePlateBoltYOffset = 0; // Base plate diamond mount bolt pattern Y-axis offset distance

FrontDrop = 40; //  Right angle drop height at front of wedge
BackHeight = 10; //  Height at back of wedge
WedgeAngle = 30;  // Wedge angle

RoundoverDia = 10; // Edge roundover diameter

BoltDia = 6.5; // Bolt hole diameter
BoltDepth = 12; // Bolt hole depth

///////////// Rendered in white /////////////
HollowDia = 50; // Center hollow diameter
HollowScaleX = 1; // X-axis scale for HollowDia
HollowScaleY = 1.6; // Y-axis scale for HollowDia
HollowHeight = 200; // Hollow height

///////////// Rendered in purple /////////////
FrontHollowDia = 35; // Front hollow diameter
FrontHollowScaleX = 1; // X-axis scale for FrontHollowDia
FrontHollowScaleY = 1.6; // Y-axis scale for FrontHollowDia
FrontHollowHeight = 60; // Front hollow height
FrontHollowOffsetX = 40; // Front hollow X-axis offset from center hollow
FrontHollowOffsetY = -40; // Front hollow Y-axis offset from center hollow

///////////// Rendered in limegreen /////////////
BackHollowDia = 30; // Back hollow diameter
BackHollowScaleX = 1; // X-axis scale for BackHollowDia
BackHollowScaleY = 1.6; // Y-axis scale for BackHollowDia
BackHollowHeight = 20; // Back hollow height
BackHollowOffsetX = 40; // Back hollow X-axis offset from center hollow
BackHollowOffsetY = 35; // Back hollow Y-axis offset from center hollow

// Number of fragments (polygon sides) used to render a full circle.
    $fn = 180; // Default = 180  Typical range = 6 - 360
    // 6 will render a circular hole as a hexagon, 8 will render a circular hole as an octagon.
    // Lower the number for faster rendering, raise the number for smoother rendering.

/////////////////////////////
// Define modules
/////////////////////////////

module SquareHoles(){

translate([-HousingBoltX/2, -HousingBoltY/2, -BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Front left

translate([HousingBoltX/2, -HousingBoltY/2, -BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Front rightt

translate([HousingBoltX/2, HousingBoltY/2, -BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Back right

translate([-HousingBoltX/2, HousingBoltY/2, -BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Back left

} // End SquareHoles module
  //

module DiamondHoles(){

translate([0, -BasePlateBoltY/2, BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Front

translate([0, BasePlateBoltY/2, BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Back

translate([-BasePlateBoltX/2, 0, BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Left

translate([BasePlateBoltX/2, 0, BoltDepth/2])
cylinder (BoltDepth + 0.1, d = BoltDia, center=true); // Right

} // End DiamondHoles module
  //

/////////////////////////////
//  Make the part
/////////////////////////////

difference(){

    hull(){

        translate([RoundoverDia/2,RoundoverDia/2, RoundoverDia/2])
        cylinder (RoundoverDia, d = RoundoverDia, center=true); // Front left lower corner

        translate([BasePlateX - RoundoverDia/2, RoundoverDia/2, RoundoverDia/2])
        cylinder (RoundoverDia, d = RoundoverDia, center=true); // Front right lower corner

        translate([BasePlateX - RoundoverDia/2, BasePlateY - RoundoverDia/2, RoundoverDia/2])
        cylinder (RoundoverDia, d = RoundoverDia, center=true); // Back right lower corner

        translate([RoundoverDia/2, BasePlateY - RoundoverDia/2, RoundoverDia/2])
        cylinder (RoundoverDia, d = RoundoverDia, center=true); // Back left lower corner

        translate([BasePlateX - RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        sphere (d = RoundoverDia); // Back right upper corner

        translate([RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        sphere (d = RoundoverDia); // Back left upper corner

        translate([BasePlateX - RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        rotate([-WedgeAngle, 0, 0])
        translate([0, -HousingBaseY, 0])
        sphere (d = RoundoverDia); // Top right upper corner

        translate([RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        rotate([-WedgeAngle, 0, 0])
        translate([0, -HousingBaseY, 0])
        sphere (d = RoundoverDia); // Top left upper corner

        translate([BasePlateX - RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        rotate([-WedgeAngle, 0, 0])
        translate([0, -HousingBaseY, -FrontDrop])
        sphere (d = RoundoverDia); // Front right drop corner

        translate([RoundoverDia/2, BasePlateY - RoundoverDia/2, BackHeight])
        rotate([-WedgeAngle, 0, 0])
        translate([0, -HousingBaseY, -FrontDrop])
        sphere (d = RoundoverDia); // Front left drop corner

    } // End hull
//

    color("red")
    translate([BasePlateX/2, BasePlateY - RoundoverDia/2, BackHeight])
    rotate([-WedgeAngle, 0, 0])
    translate([HousingBoltXOffset, HousingBoltYOffset - HousingBaseY/2, RoundoverDia/2])
    SquareHoles(); // Call SquareHoles module

    color("blue")
    translate([BasePlateX/2 + BasePlateBoltXOffset, BasePlateY/2 + BasePlateBoltYOffset, 0])
    DiamondHoles(); // Call the DiamondHoles module

    color("white")
    translate([BasePlateX/2 + BasePlateBoltXOffset, BasePlateY/2 + BasePlateBoltYOffset, HollowHeight/2])
    scale([HollowScaleX, HollowScaleY, 1])
    cylinder (HollowHeight + 0.01, d = HollowDia, center=true); // Center hollow

    color("purple")
    translate([BasePlateX/2 + BasePlateBoltXOffset - FrontHollowOffsetX, BasePlateY/2 + BasePlateBoltYOffset + FrontHollowOffsetY, FrontHollowHeight/2])
    scale([FrontHollowScaleX, FrontHollowScaleY, 1])
    cylinder (FrontHollowHeight + 0.01, d = FrontHollowDia, center=true); // Front left hollow

    color("purple")
    translate([BasePlateX/2 + BasePlateBoltXOffset + FrontHollowOffsetX, BasePlateY/2 + BasePlateBoltYOffset + FrontHollowOffsetY, FrontHollowHeight/2])
    scale([FrontHollowScaleX, FrontHollowScaleY, 1])
    cylinder (FrontHollowHeight + 0.01, d = FrontHollowDia, center=true); // Front right hollow

    color("limegreen")
    translate([BasePlateX/2 + BasePlateBoltXOffset - BackHollowOffsetX, BasePlateY/2 + BasePlateBoltYOffset + BackHollowOffsetY, BackHollowHeight/2])
    scale([BackHollowScaleX, BackHollowScaleY, 1])
    cylinder (BackHollowHeight + 0.01, d = BackHollowDia, center=true); // Back left hollow

    color("limegreen")
    translate([BasePlateX/2 + BasePlateBoltXOffset + BackHollowOffsetX, BasePlateY/2 + BasePlateBoltYOffset + BackHollowOffsetY, BackHollowHeight/2])
    scale([BackHollowScaleX, BackHollowScaleY, 1])
    cylinder (BackHollowHeight + 0.01, d = BackHollowDia, center=true); // Back right hollow

} // End difference
//

--- End code ---




Scott
EDIT: Fixed errors in code for spheres.
Navigation
Message Index
Next page
Previous page

Go to full version