Skip to content

Latest commit

 

History

History
98 lines (81 loc) · 7.51 KB

README.md

File metadata and controls

98 lines (81 loc) · 7.51 KB

3D-printed parts and CAD models

Every model is an editable STEP source plus a slicer-ready STL, one subfolder per part. Frames and the rig layout are in simulations/ledex_femm/rig_geometry.py (README "Rig geometry"); the Ledex holder and plunger-link parts have their own README. Superseded designs are in archive/.

The push object is a compact rounded cube that sits below the mouse in the natural forelimb workspace and presents a push-biased surface that discourages grasping like the original pull handles. Add new parts as a named subfolder (STEP + STL, descriptive filenames) and a row in the table below; no README per folder.

On the rig since 1 Nov 2026: the adjustable Ledex holder, link collar and link bar, and the 16 mm window constrainer (now archived); Ledex-off hand check passed (full return to home, no binding). Still to do: print and fit-check the wide-window constrainer and the newest cube revision; measure the return spring with a gram scale. The push axis is calibrated for 0-8 mm (calibration/joystick-volts-mm.md, 3 Nov).

Print notes: PETG or PLA, orientation and fit allowances for the holder parts are in the Ledex holder README (printed holes come out ~0.3-0.4 mm small; print fit_test first).

Folder Files Status What it is
joystick/ joystick_89mm printed, on the rig 89 mm shaft (conical body, 4 mm radius base to 1.5 mm radius tip) that screws onto the thumbstick stub; handles slide onto its tip.
TS-1D1S00A-1294_stripped/ TS-1D1S00A-1294_stripped reference, not printed Measured APEM TS-1D1S00A-1294 Hall base (castle cap removed).
joystick-holder/ joystick_holder printed, on the rig Breadboard holder for the component.
joystick-handle-cube/ joystick_handle_cube_11p5_h15p1_d3p3_dp4p2, make_handle_cube.py newest revision (5 Nov), not yet printed; older revisions archived Narrow rounded-cube push object, 11.5 × 11.5 × 15.1 mm; the script regenerates it.
joystick-1d-axis-constrainer/ ..._38x38x56_ledex_wide_window, make_wide_window.py wide-window revision, not yet printed Stepped hollow box that limits the joystick to one axis; home wall open over almost its whole width for the plunger link.
ledex-holder-adjustable/ base, upright, carriage, link_collar, link_bar, fit_test, make_ledex_holder.py holder, collar and link printed and mounted 1 Nov Adjustable Ledex holder and plunger link (see its README).
ledex-195224-model/ ledex_body, ledex_plunger reference, not printed Ledex body and plunger from the datasheet drawing.

Joystick component and holder

  • Component: round body 25.3 mm diameter, 11.53 mm tall; flange 29.75 mm diameter (z 11.53-13.09); stepped dome up to z 18.28; stem to z 23.45; a 9.6 × 2.1 mm cross-bar at z 23.87-26.27; 4.3 mm stub to z 29.3. The shaft's 5 mm × 2.7 mm bottom bore holds a small screw with its head glued in; the screw goes into the stub and the shaft cone sits on the stub top, so the shaft base is 29.3 mm above the body bottom. The pivot is inside the body and not modelled (the models assume mid-body, z 5.8, and test z 2-10).
  • Holder: base 86 × 31.8 × 5 mm with four 10 × 24 mm slots, four 5 × 5 mm corner posts (z 5-20.4, open sides for the cable), top frame z 20.41-25.41 (31.82 mm square, 25.3 mm hole). The component's flange rests on the frame, so the body bottom is 13.88 mm and the shaft base 40.5 mm above the breadboard. The push runs along the 31.8 mm width; the Ledex stands on the breadboard on the mouse (home) side.

Handles

  • Narrow cube (11.5 mm wide, chosen 17 Oct): 11.5 × 11.5 mm footprint, 3 mm corner radius, 2.5 mm top fillets, three blind holes along the push axis (push face 2.05 / 5.75 / 9.45 mm from the shaft axis). The shaft goes in the front hole (nearest the mouse) so the paw cannot touch cube and rest pad together. At home the cube is 2 mm from the rest platform (3 Nov). make_handle_cube.py (CadQuery, ball-ended holes) writes the newest revision and can rebuild the 14.1 mm one for comparison; only the newest is kept here:

    Revision Height Holes (diameter × depth) Volume Where
    joystick_handle_cube_11p5 (17 Oct) 10.0 mm 3.2 × 3.2 mm 1130 mm³ archive; still used by the force and geometry models
    joystick_handle_cube_11p5_h14p1 (28 Oct) 14.1 mm 3.2 × 3.2 mm 1641 mm³ archive
    joystick_handle_cube_11p5_h15p1_d3p3_dp4p2 (5 Nov) 15.1 mm 3.3 × 4.2 mm 1736 mm³ here; not yet printed

    Which revision is currently printed on the rig is not recorded. The models (simulations/ledex_femm/rig_geometry.py, CUBE_STL) still use the 10 mm cube; the taller cubes (and the deeper holes of the newest one) change the contact height, so update CUBE_STL and the cube placement and rerun the models before relying on force estimates at the cube.

  • Original 20 mm cube (used from the first mouse session, 16 Oct) and the older narrow-cube revisions are archived in archive/joystick-handle-cube/.

  • 38 × 3 × 3.1 mm bar handle (never fitted) is archived in archive/joystick-handle-bar/.

1D-axis constrainer (wide-window revision)

38 × 38 × 56 mm stepped hollow box. The home (mouse-side) wall is open over the full 26 mm cavity width (the 6 mm side walls stay as posts) from the top of the socket (part z 10, world Z 25.41, the frame top) up to the cavity ceiling (part z 53, world Z 68.41); the 3 mm socket ring below z 10 is closed again, and the top plate with its 1D slot is unchanged. Generated by joystick-1d-axis-constrainer/make_wide_window.py from the original part in archive/. On the rig it spans world Z 15.41-71.41 on the holder frame. The earlier 16 mm window revision (printed and installed 1 Nov, still the one on the rig) and the original arched version are in archive/joystick-1d-axis-constrainer/. Before swapping, check that the holder's cable still exits where it did (the socket opening in the home wall is now closed).

Ledex 195224-230 reference model

Body and plunger of the STA 20 × 40 mm pull solenoid (60° plunger, no anti-rotation flat) from the datasheet drawing (page F34, simulations/ledex_femm/datasheet/), for clearance checks, figures and the rig explorer. Generated by ledex-holder-adjustable/make_ledex_holder.py from simulations/ledex_femm/ledex_geometry.py (LEDEX, plunger_dims). Frame: X along the axis from the body face (boss side, + toward the joystick); the plunger is drawn seated (energised).

dimension (mm) source
case Ø19.56 × 39.37 drawing
M14 × 1.5 boss 9.52 long drawing
plunger Ø7.82, 20.1 g drawing
tip beyond body face, seated 23.81 drawing
tip slot 2.5 ± 0.3 wide, 9.5 ± 0.3 deep drawing
cross hole Ø2.5/2.6, 4.76 ± 0.30 from the tip drawing
plunger length 59.7 (55.9 cylinder + 3.8 cone) from the mass
60° cone half-angle 37.5°, 1 mm flat at the apex FEMM calibration
mounting nut M14 × 1.5, size not given assumed 22 mm AF × 3.5 mm

Mesh masses match the datasheet (plunger 20.0 g vs 20.1 g). Internals (bobbin, coil, back stop) are not modelled; FEMM adds fitted internals and uses axisymmetric stand-ins for the slot and cross hole. Still to confirm with calipers: slot width, cross-hole diameter and distance from the tip, seated protrusion, plunger length and the nut size.