The subject of Filter Wheels

So this is a discussion specifically around filterwheels - the idea is:

a) it fits into the existing assembly - replacing the the optics module and the stage mounts.
b) uses infinite conjugate optics
c) supports cube filters (I’m going to assume normal size which could impact more than using mini filters - I don’t know yet), screw in and bare filters by changing the filter wheel.
d) motor controlled (and completely enclosed to prevent light and debris contamination).
e) supports focusing (just to cover any little oddities)

I’m using Google Gemini to accelerate the process with an option of Claude too. I’ve asked it to report its considerations, concerns and limitations for discussion. The idea being once that’s discussed here, I’ll look at planning and 3D files after.

Optical Architecture & Infinity Beam Path Integration

The standard OpenFlexure Microscope (v7.0.0-beta5) high-resolution optics module typically relies on a finite conjugate RMS objective paired with a tube lens (such as an inverted camera lens or standard achromatic doublet) or an infinity-corrected objective with a fixed internal tube lens. Moving to an infinite conjugate space between the objective and the tube lens is the ideal configuration for placing thick glass filters, filter wheels, or dichroic cubes without introducing spherical aberrations or focal plane shifts.

[Sample / Stage]
       │
[Infinity Objective]
       │  ◄── Parallel (Infinity) Beam Path
┌──────────────────────────────┐
│  Enclosed Filter Wheel       │ ◄── (Neutral density, Fluorescence, Bahtinov mask)
└──────────────────────────────┘
       │
   [Tube Lens]
       │
 [Camera Sensor]

Optical Design Considerations

  • Infinity Beam Space Constraints: Placing a 7–9 position filter wheel requires roughly 15mm–25mm of optical path length along the Z-axis. In an infinity system, expanding this space does not alter image magnification, but it can cause vignetting if the distance between the back focal plane of the objective and the tube lens exceeds the clear aperture cone of the tube lens.
  • Filter Angle of Incidence (AOI): Dichroic mirrors and thin-film interference filters (bandpass/longpass) are tuned for specific angles (typically 0 degree for bandpass filters in the beam path and 45 degree for dichroics in cubes). Small angular tilts due to wheel wobble will shift the center wavelength lambda) of narrow-band filters.
  • Stage Support & Frame Extensions: Modifying the standard OFM optics riser or stage support inserts will be required to lower the optics module relative to the flexure stage, maintaining the sample working distance while accommodating the filter enclosure height.
  • Focusing Assistance (Bahtinov Mask): Integrating a micro-scale Bahtinov mask or diffraction grating into one wheel position provides sharp, asymmetric diffraction spikes on point-light sources or bright fiducials. This allows high-precision automated or manual focusing via the OpenFlexure camera software before switching to fluorescence or brightfield positions.

Mechanical Design & Kinematic Filter Registration

Achieving high repeatability (sub-micron to low-micron optical alignment across filter changes) using 3D-printed components requires decoupling the motor drive from the final positioning. Relying purely on a motor or servo position causes positional drift and thermal hysteresis.

       [Rotation Servo Drive]
                 │ (Loose / Compliant Coupling)
                 ▼
       ┌───────────────────┐
       │   Filter Wheel    │ ◄── 4-Point Roller/Bearing Stabilization
       └─────────┬─────────┘
                 │ (Index Notch)
                 ▼
       [V-Block / Pin Assembly] ◄── [Registration Servo Actuator]

Kinematic V-Block & Pin Registration

  • Mechanism: The rotation motor turns the wheel close to the target position. A secondary servo extends a ground steel pin (or a hardened roller bearing) into a V-groove embedded on the outer perimeter of the wheel at each filter position.
  • Repeatability: A spring-loaded or servo-actuated V-block centers the wheel mechanically, removing backlash from the rotation drive and locking rotational (\\theta) and radial (r) degrees of freedom.
  • Wear Reduction: 3D-printed V-grooves will deform over hundreds of cycles. The V-block surfaces should ideally use press-fit metal dowel pins or small bearings, or be printed with low-friction materials (such as PETG or POM/Acetal filament inserts) to prevent notch rounding.

Wheel Stabilization & Axial Runout Control

  • 4-Point Roller Constraint: To prevent wheel wobble or axial tilting without obstructing the central light path, support the outer rim of the filter wheel using four perimeter-mounted miniature bearings (such as 623ZZ or 608ZZ bearings) or smooth PTFE support pads.
  • Stray Light & Reflection Mitigation: Metal bearings and smooth 3D prints reflect light. All internal surfaces of the enclosure and support rollers must be rendered non-reflective using matte black paint (e.g., Musou Black or Black 3.0), light-trapping micro-grooves, or flocking paper.

Filter Payload & Enclosure Modularity

Accommodating 7 to 9 positions with diverse filter formats creates a trade-off between physical diameter, torque requirements, and light tightness.

Filter Format Typical Dimensions Mechanical Challenge Strategy
Screw-in Filters M25.5 / M27 x 0.75 or 1" threads Requires thick wheel section for internal threads Print standard smooth bores; use drop-in threaded brass rings or retaining rings.
Naked Glass Unmounted 25mm / 18mm optics Prone to stress birefringence if over-clamped Soft O-ring seats with screw-retained friction caps.
Fluorescence Cubes Compact dichroic + excitation + emission sets High Z-height profile (~20–25mm clearance) Modular removable pucks/cassettes snapped into perimeter slots.

Enclosure & Light-Tightness

  • Labyrinth Seals: Use overlapping concentric ridges (tongue-and-groove profile) printed directly onto the top/bottom halves of the enclosure and the wheel rim to create a light-tight labyrinth joint without adding sliding friction.
  • Contamination Protection: Enclosing the wheel prevents airborne dust from landing on sensitive coating surfaces—critical in high-gain fluorescence imaging where dust particles fluoresce intensely under blue/UV excitation.

Electronics, Sensing & Raspberry Pi Control

Directly driving servos and reading sensors from the Raspberry Pi on the OpenFlexure system introduces specific hardware and software requirements.

┌─────────────────────────────────────────────────────────────┐
│                      Raspberry Pi                           │
│  ┌──────────────────┐  ┌──────────────────┐  ┌───────────┐  │
│  │ OpenFlexure Server│  │ GPIO / Pigpio    │  │ 5V Power  │  │
│  └────────┬─────────┘  └────────┬─────────┘  └─────┬─────┘  │
└───────────┼─────────────────────┼──────────────────┼────────┘
            │                     │                  │
            │ SPI / I2C           │ PWM              │ Isolated Power
            ▼                     ▼                  ▼
  ┌──────────────────┐   ┌──────────────────┐   ┌───────────┐
  │ Hall Effect Sensor│   │ Servo Driver     │   │ Servos    │
  │ (Pos 1 Index)    │   │ (PCA9685 / RP2040)│  │ (Drive &  │
  └──────────────────┘   └──────────────────┘   │ Pin Lock) │
                                                └───────────┘

Motion Control: Rotation vs. Locking

  • Rotation Drive Options:

    • Option A (Continuous Rotation Servo): Simple, but lacks precise open-loop positioning; relies heavily on external slot optical interrupters or Hall sensors at every position.
    • Option B (180°/270° Positional Servo with 1:N Gear Transmission): High torque, but standard RC servo jitter will cause noise unless power is cut to the servo once the kinematic pin locks.
    • Option C (Small Stepper Motor - NEMA 11 or 28BYJ-48): Often superior to servos for wheel rotation. Provides precise step counting, zero jitter, and silent holding when combined with a locking servo.
  • Position Sensing (Homing): A small Neodymium magnet embedded at Position 1 paired with a Digital Hall Effect Sensor (e.g., AH3372 or US1881) provides a zero-contact index reference upon boot.

Power & Signal Considerations

  • Power Isolation: Servos induce significant current spikes and electrical noise on the 5V rail. They must not share power with the Raspberry Pi’s main supply line or camera module. A dedicated 5V power buck converter or separate supply rail is required.
  • Control Stack: Standard Raspberry Pi GPIO software PWM causes jitter on servos. Use hardware PWM via dedicated libraries (pigpio), or offload motion timing to an external I2C controller (PCA9685) or an onboard micro-controller (such as an RP2040 or Arduino Nano) interfaced via USB/Serial to the OpenFlexure server extensions.

Critical Risks & Limitations

  1. Wheel Diameter & Stage Clearance: A 7–9 position wheel holding 25mm filters or mini-cubes requires a outer wheel diameter between 130mm and 160mm. This significantly expands the footprint of the optics stack and may interfere with the tripod legs of the OpenFlexure main body.
  2. Structural Flexure under Payload Mass: Adding a large, enclosed filter wheel and dual servos near the optical axis adds cantilevered weight. This can induce micro-drifts or unbalance the fine adjustment flexure mechanisms of the stage.
  3. Thermal Drift from Servo Motors: Continuous power to standard servos generates localized heating, inducing thermal expansion in surrounding 3D-printed PLA/PETG parts and shifting image focus over time. Servos must be powered down via software once the locking pin is engaged.
  4. Laser Safety in Fluorescence Applications: If using high-power laser illumination for fluorescence excitation, standard 3D printing filaments (especially thin PLA) can transmit or bleed light at specific infrared/visible wavelengths. The enclosure must use thick wall profiles (>3mm) or light-proof metallic insert shielding.

Recommended Next Steps

  1. Define Payload Standard: Decide whether the wheel will support flat filters only (low profile, ~10mm depth) or full mini-fluorescence cubes (requires ~25–30mm depth clearance).
  2. Select Drive Architecture: Evaluate if a small stepper motor (e.g., 28BYJ-48) is acceptable for rotation instead of a rotation servo, combined with a micro-servo for the V-block locking pin.
  3. Optical Path Clearance Check: Measure the available Z-clearance between the sample stage and the optics base on your current OpenFlexure build to calculate maximum allowable wheel height.

So thoughts, feedback?

EDIT: I should add - the idea of the wheel is it’s a component. Essentially providing filters. If it’s a standard mounting, then it could be used in both between subject and sensor, or, in a completely different way as in the illumination optics. A caveat would be more optics may be required for your purpose which would be outside of the remit for the filterwheel itself.

So just to show how the filter wheel would work with fluoroscopy

                       [Sample Plane]
                             ▲▼
                   ┌─────────┴─────────┐
                   │  Optical Finger   │ (Bolted Module 1)
                   │  (45° Mirror)     │
                   └─────────┬─────────┘
                             │ (Infinity Parallel Beam)
                             ▲▼
┌─────────────────────────────────────────────────────────┐
│               CENTRAL DICHROIC ENGINE                   │ (Bolted Module 2)
│                                                         │
│   Excitation Path ───► [  Dichroic ] ───────► Emission  │  
│        ▲                   Mirror(s)              │     │
└────────┼──────────────────────────────────────────┼─────┘
         │                                          │
┌────────┴─────────────────┐              ┌─────────┴─────────┐
│ ILLUMINATION & WHEEL     │              │ EMISSION DETECTOR │
│                          │              │                   │
│                          │              │                   │
│ Beam Expander            │              │ Bandpass filter   │
│ 5-Position Slit Wheel    │.             │ Tube lens         │
│ Laser (fibre)            │              │ Pi Camera Sensor  │
└──────────────────────────┘              └───────────────────┘
   (Bolted Module 3)                         (Bolted Module 4)

You can see where a filter wheel would be bolted on as part of module 3 (the filter wheel itself would be a bolt on component). In this configuration the approach would allow for the exiting microscope to be unaltered but the optical path is now redirected out to a ‘project box’.

We need to make an AI policy for this forum, but I am not keen on the discussion being dominated by long AI posts which take far longer to read than to produce.

1 Like