0031: Research Platform Extensions¶
Date: 2025-11-11 Phase: Phase 1b Status: Approved Type: Architecture
Summary (Y-Statement)¶
In the context of serving dual purposes as both a clinical EMDR therapy tool and research platform, facing the need to study bilateral stimulation parameters beyond standard EMDR ranges, we decided to extend platform capabilities with broader frequency ranges (0.25-2 Hz), duty cycles (10-100%), and motor intensities (0-80% PWM), and neglected limiting the device to only standard EMDR parameters (0.5-2 Hz), to achieve comprehensive research capabilities for studying therapeutic boundaries, accepting increased complexity in safety validation and user configuration.
Problem Statement¶
Standard EMDR therapy uses 0.5-2 Hz bilateral stimulation, but research into optimal therapeutic parameters requires exploring extended ranges. The device must support both clinical therapy (standard parameters) and research applications (extended parameters) while maintaining safety constraints and preventing harmful operation.
Context¶
Background: - Device serves dual purpose: clinical EMDR therapy tool AND research platform - Standard EMDR: 0.5-2 Hz frequency range - Research requires extended ranges to explore therapeutic boundaries - Safety constraints must prevent motor damage and user discomfort - Single-device bilateral constraint: one motor alternates forward/reverse sequentially
Requirements: - Support standard EMDR parameters for clinical use - Enable extended parameters for research studies - Maintain safety through hard limits - Collect data for research analysis - Clear distinction between therapy and research modes
Decision¶
Extend platform capabilities beyond standard EMDR while maintaining safety constraints:
1. Extended Frequency Range (0.25-2 Hz vs Standard 0.5-2 Hz)¶
Rationale for 0.25 Hz (4000ms cycle): - Explore slow bilateral processing for trauma with dissociation - Study attention and working memory at slower rates - Investigate relationship between stimulation rate and processing speed - Research applications for elderly or cognitively impaired populations
Rationale for Full 2 Hz (500ms cycle): - Match fastest standard EMDR rate for complete compatibility - Study rapid bilateral stimulation effects - Research applications for ADHD and high-arousal states
2. Bilateral Alternating Pattern¶
Research Questions Enabled: - Does motor direction (forward vs reverse) affect therapeutic outcome? - Is alternating direction more/less effective than fixed direction? - How does direction change impact habituation? - Can direction alternation reduce motor adaptation?
Implementation:
// Each device alternates its own direction
typedef enum {
RESEARCH_PATTERN_FIXED, // Standard: Server=forward, Client=reverse
RESEARCH_PATTERN_ALTERNATING, // Both alternate direction each cycle
RESEARCH_PATTERN_UNILATERAL // Control: single device only
} research_pattern_t;
3. Duty Cycle Research (10-100%)¶
Single-Device Bilateral Constraint: In single-device mode, one motor alternates forward/reverse in sequential half-cycles: - Cycle pattern: [Forward active] → [Forward coast] → [Reverse active] → [Reverse coast] - Maximum 50% duty cycle ensures adequate coast time between direction changes - Above 50% causes motor overlap: Motor attempts to reverse before fully stopped
Research Applications: - 10% = 50ms pulses: Micro-stimulation studies, minimum perceptible timing pattern - 25% = 125ms pulses: Standard therapy baseline (4× battery life improvement) - 50% = 250ms pulses: Moderate bilateral stimulation - 100% = 500ms pulses: Maximum bilateral stimulation (motor ON entire active half-cycle)
Important Note: Duty cycle controls TIMING pattern (when motor/LED active), NOT motor strength. For LED-only mode (pure visual stimulation), set PWM intensity = 0% instead of duty = 0%.
Safety Note: Duty cycle is percentage of ACTIVE half-cycle only. Even at 100% duty, motor guaranteed OFF for 50% of total cycle time (during INACTIVE period).
4. Motor Intensity Research (0-80% PWM)¶
Safety Rationale: - 0% (LED-only mode): Disables motor vibration, maintains LED pattern (pure visual therapy) - 10-30%: Gentle stimulation for sensitive users - 40-60%: Standard therapeutic range - 70-80%: Strong stimulation (maximum prevents overheating and tissue irritation) - Research Range: 80% variation allows comprehensive intensity studies
5. Session Duration Flexibility (20-90 minutes)¶
Applications: - 20 minutes: Minimum for research protocols - 45 minutes: Standard therapy session - 60 minutes: Extended therapy session - 90 minutes: Maximum research session
6. Data Collection Capabilities¶
Logged Parameters: - Timestamp of each stimulation cycle - Actual vs commanded timing (drift analysis) - BLE packet loss rate (sequence number gaps) - Battery voltage during session - Motor back-EMF readings (when implemented) - Pattern changes mid-session
Storage Format:
typedef struct {
uint32_t timestamp_ms;
uint16_t cycle_time_ms;
uint8_t motor_intensity;
uint8_t pattern_type;
uint8_t device_role;
uint16_t sequence_num;
uint8_t battery_percent;
} research_data_point_t;
7. Safety Constraints¶
Hard Limits (Cannot Override): - PWM maximum: 80% (prevents motor damage) - PWM minimum: 30% (ensures perception) - Non-overlapping stimulation (safety-critical) - Emergency shutdown always available
Soft Limits (Configurable with Warning): - Session > 60 minutes: Requires confirmation - Duty cycle > 40%: Warning about motor heating - Frequency < 0.5 Hz: Outside standard EMDR range
Consequences¶
Benefits¶
- ✅ Scientific Rigor: Controlled parameter manipulation enables research studies
- ✅ Safety Maintained: Hard limits prevent harmful operation
- ✅ Clinical + Research: Dual-purpose platform maximizes device utility
- ✅ Open Source: Enables collaborative research across institutions
- ✅ Data-Driven: Built-in logging supports rigorous analysis
- ✅ Expandable: Architecture supports future physiological sensors
Drawbacks¶
- Increased complexity in safety validation
- More extensive user configuration required for research mode
- Need for clear documentation distinguishing therapy vs research modes
- Potential for user confusion between standard and extended parameters
- Additional testing required for extended parameter ranges
Options Considered¶
Option A: Standard EMDR Only (0.5-2 Hz fixed)¶
Pros: - Simple, well-validated parameter range - Minimal safety validation needed - Clear clinical focus
Cons: - No research capabilities - Limited scientific contribution - Can't explore therapeutic boundaries
Selected: NO Rationale: Eliminates primary value proposition as research platform
Option B: Extended Parameters with Research Extensions (Selected)¶
Pros: - Dual-purpose: therapy AND research - Enables parameter exploration - Scientific contribution potential - Safety maintained through hard limits
Cons: - More complex implementation - Requires careful documentation
Selected: YES Rationale: Best balance of clinical utility and research capability
Option C: Unlimited Parameters¶
Pros: - Maximum flexibility - No artificial constraints
Cons: - Safety risks (motor damage, user discomfort) - No protection against harmful operation - Regulatory compliance challenges
Selected: NO Rationale: Safety risks unacceptable for therapeutic device
Related Decisions¶
Related¶
- AD028: Command-and-Control Architecture - Defines how research parameters are transmitted between devices
- AD032: BLE Configuration Service Architecture - Defines GATT characteristics for parameter control
- AD029: Time Synchronization Accuracy Requirements - Defines timing accuracy for research data collection
Implementation Notes¶
Code References¶
Configuration Service (Mobile App Control):
- src/ble_manager.c - GATT characteristics for research parameter configuration
- Custom Frequency: uint16 (25-200 = 0.25-2.0 Hz)
- Custom Duty Cycle: uint8 (10-100%)
- PWM Intensity: uint8 (0-80%, 0%=LED-only)
Research Protocol Support:
// Example: Direction Preference Study
1. Baseline: 5 min BILATERAL_FIXED at 1 Hz
2. Condition A: 5 min BILATERAL_ALTERNATING at 1 Hz
3. Rest: 2 min no stimulation
4. Condition B: 5 min BILATERAL_FIXED reversed roles
5. Data: Compare subjective ratings and physiological measures
// Example: Minimal Stimulation Study
1. Standard: 10 min at 25% duty cycle, 1 Hz
2. Minimal: 10 min at 10% duty cycle, 1 Hz
3. Micro: 10 min at 10% duty cycle, 2 Hz
4. Data: Compare therapeutic efficacy
Build Environment¶
- Environment Name:
xiao_esp32c6 - Configuration File:
sdkconfig.xiao_esp32c6 - Research features available in all production environments
Testing & Verification¶
Testing Required: - Extended frequency range validation (0.25 Hz, 2 Hz) - Duty cycle safety testing (10%, 50%, 100%) - Motor heating tests at high duty cycles - Battery life measurement across parameter ranges - Data logging accuracy verification - Emergency shutdown at all parameter combinations
Known Limitations: - Single-device mode limited to 50% max duty (motor reversal constraint) - Dual-device mode supports full 10-100% duty range
JPL Coding Standards Compliance¶
- ✅ Rule #1: No dynamic memory allocation - Research data structures statically allocated
- ✅ Rule #2: Fixed loop bounds - All data logging loops bounded
- ✅ Rule #5: Return value checking - All configuration writes validated
- ✅ Rule #7: Watchdog compliance - Timing loops feed watchdog
- ✅ Rule #8: Defensive logging - All parameter changes logged
Compliance Notes¶
- Research features require explicit opt-in via Configuration Service
- Standard EMDR mode uses only approved parameters (0.5-2 Hz, fixed pattern)
- Research mode displays clear indication via LED patterns
- All research data is anonymous (no patient identifiers)
Future Research Directions: 1. Phase 2: Integration with physiological sensors (HR, HRV, GSR) 2. Phase 3: Closed-loop stimulation based on physiological feedback 3. Phase 4: Machine learning optimization of parameters 4. Phase 5: Multi-site research protocol coordination
Migration Notes¶
Migrated from docs/architecture_decisions.md on 2025-11-21
Original location: AD031 (lines 2803-2966)
Git commit: TBD (migration commit)
Template Version: MADR 4.0.0 (Customized for EMDR Pulser Project) Last Updated: 2025-11-21