No description
Find a file
2025-12-05 14:39:30 -05:00
README.md 😄 emojis are fun 2025-12-05 14:39:30 -05:00

⚙️ Samson eFit Module Internal README (MVP Implementation)

🎯 Purpose

Build a compact, motor-controlled resistance unit with basic wireless control and encoder-based feedback.
Stay within MVP scope and avoid feature creep until core functionality works.


🧭 MVP Core Goals

  • Smooth electronic resistance using BLDC + driver
  • Wireless control of load (ESP32 → PWM)
  • Encoder-based feedback to maintain commanded resistance
  • Basic safety limits (current/thermal)
  • Minimal UI (phone/Pi/serial)

📦 Current Components (Received)

# Component Purpose Notes
1 Waveshare 4" Round DSI Touch Display UI Use later; not MVP-critical
2 AS5600 Magnetic Encoders (5 pcs) Angle/rep sensing High priority for control loop
3 Milwaukee M18 Battery Adapters (2 pcs) Power source Portable demos; regulate as needed
4 400W BLDC Motor Controllers (2 pcs) Motor driving PWM control with FWD/REV/Brake

🧩 High-Level Architecture (MVP)

  • ESP32: PWM output + encoder reading + wireless interface
  • BLDC Driver: Drives motor phases based on PWM
  • AS5600 Encoder: Shaft position/velocity feedback over I²C
  • Power: 18V battery via adapter (regulate for ESP32)
  • UI: Minimal (phone > Pi display for later)

🛠️ Implementation Order (Milestones)

  1. Bench-test BLDC controller + motor (no load)
  2. Read encoder position/velocity reliably
  3. Close feedback loop (PWM adjusted from encoder)
  4. Add safety limits (brake/stop/overcurrent handling)
  5. Wireless interface to set target resistance
  6. Optional: Pi display UI after stable MVP

💻 Firmware Tasks (ESP32)

  • PWM generation + tuning
  • Encoder I²C driver (AS5600)
  • Resistance control loop (angle/speed → PWM adjust)
  • Safety watchdogs (fault detection)
  • Simple wireless command interface

🔩 Hardware Tasks

  • Encoder magnet mounting on pulley/shaft
  • Secure motor + driver on bench fixture
  • Power routing + regulation
  • Fusing + emergency stop provisions

🔋 Power Notes

  • M18 battery: 18V nominal
  • Driver acceptable: 660V
  • ESP32 requires regulated 5V/3.3V
  • Add DC-DC regulator if powering both from same source

🚫 Scope Limiters (Avoid Feature Creep)

Not MVP:

  • Full AI workout planning
  • Cloud accounts or server database
  • Advanced touchscreen interface
  • Subscription model

MVP success = controllable electronic resistance + encoder feedback loop.


🧪 Testing Targets

  • Commanded resistance holds within stable margin
  • Encoder data noise acceptable
  • No uncontrolled torque spikes
  • Safe stop behavior verified

📝 Notes to Ourselves

If it does not directly help us control and stabilize resistance, it waits until after MVP.