BLDC Motor Testing Session Log
BLDC Motor Testing Session Log
Date: September 6-14, 2025
Hardware: RP2040-Zero + SimpleFOCMini + Various BLDC Motors
Objective: Replace servo system with BLDC for gallery-grade reliability
Hardware Configuration
RP2040-Zero Pinout Selection
Motor Control Pins:
GP0 → SimpleFOCMini IN1 (Phase A)
GP1 → SimpleFOCMini IN2 (Phase B)
GP2 → SimpleFOCMini IN3 (Phase C)
GP3 → SimpleFOCMini EN (Enable)
Power Distribution:
9V 2A Supply → 2200µF 16V Cap → SimpleFOCMini VIN
SimpleFOCMini 3V3 → RP2040-Zero 3V3 (power output, not input)
Key Discovery: SimpleFOCMini 3V3 pin is regulated power OUTPUT, not logic input.
Basic Test Code Structure
// Live tunable parameters
float voltageLimit = 0.5; // Serial: v1.2
float targetSpeed = 1.0; // Serial: s0.8
BLDCMotor motor = BLDCMotor(5); // Pole pairs - code change required
BLDCDriver3PWM driver = BLDCDriver3PWM(0, 1, 2, 3);
// Open-loop velocity control for initial testing
motor.controller = MotionControlType::velocity_openloop;
Serial Commands:
v0.8- Set voltage limit to 0.8Vs0.5- Set target speed to 0.5 rad/s- Pole pairs require code changes and reupload
Motor Compatibility Testing
1503 Micro Motors - FAILED
Specifications:
- Size: 18 x 7mm
- Resistance: ~1Ω between phases
- Type: Drone motor (high-speed, low-resistance)
Test Results:
- P5: Grindy motion, driver heating at 0.8V+
- P6: Not smooth, heating continues
- P3: Wouldn’t spin consistently
Failure Analysis: 1Ω resistance is 10x below SimpleFOCMini minimum spec (>10Ω). Low resistance causes:
- High current draw → driver overheating
- Poor FOC performance → grindy operation
- Incompatible with precision control requirements
XXD A2212 1000KV - FAILED
Test Results:
- Motor spins but not smooth
- Driver heating similar to 1503
- Root Cause: Also drone motor with low resistance
Pattern Recognition: All drone motors (1503, A2212) have similar issues - designed for speed, not precision FOC control.
Critical Discovery: Motor Type Mismatch
SimpleFOCMini Design Intent: Gimbal motors with >10Ω resistance for precision positioning
Motors Tested: Drone motors with ~1Ω resistance for high-speed flight
Fundamental Incompatibility: Cannot achieve smooth operation without driver overheating due to excessive current draw through low-resistance windings.
Solution Path: Progressive Motor Upgrade
2204 Motors (Marginal - ABANDONED):
- Resistance: 9.8Ω (borderline SimpleFOCMini compatibility)
- Status: Thermal limitations, abandoned for larger motors
- Issue: Marginal resistance caused driver stress under load
2208 Motors (Current Working Solution):
- Resistance: 18Ω (well above 10Ω minimum requirement)
- Delivery: September 12, 2025
- Performance: Stable FOC control achieved September 14, 2025
- Control Success: Position control operational with 7 pole pairs
- Status: Currently functional, requires further testing for long-term validation
- Mechanical Impact: Requires capstan redesign for larger motor size
Testing Methodology Developed
Power System Validation
- Component heating analysis - capacitor vs driver thermal behavior
- Current draw monitoring - identify excessive load conditions
- Resistance measurement - verify motor phase integrity
Motor Performance Assessment
- Pole pairs testing - systematic trial (3,5,6,7,11)
- Voltage/speed tuning - find smooth operation window
- Thermal limits - identify sustainable operating conditions
Serial Command Interface
Working Commands:
// Voltage adjustment
if (cmd.startsWith("v")) {
voltageLimit = cmd.substring(1).toFloat();
motor.voltage_limit = voltageLimit;
}
// Speed adjustment
if (cmd.startsWith("s")) {
targetSpeed = cmd.substring(1).toFloat();
}
Non-working: Pole pairs via serial (requires motor restart, reverts to hardcoded value)
Lessons Learned
Component Selection Critical
Motor resistance is primary compatibility factor - not size, power, or speed ratings. SimpleFOC requires specific electrical characteristics.
Testing Sequence Importance
- Basic motor functionality before mechanical integration
- Thermal validation before performance testing
- Component compatibility before assuming software issues
Documentation Gaps Identified
- RP2040-Zero pinout - added to documentation folder
- Motor resistance specs - critical missing information
- SimpleFOCMini compatibility - motor selection guidelines needed
Next Session Priorities
Completed (2208 Motor Integration)
- Resistance validation ✓ 18Ω confirmed, optimal compatibility
- Pole pairs identification ✓ 7 pole pairs validated
- FOC calibration ✓ achieved September 14, 2025
- Position control ✓ reliable closed-loop operation functional
Mechanical Integration
- Test bench design - rigid mounting for 2208 motors
- AS5600 encoder integration - precision positioning validated
- Capstan system adaptation - accommodate larger motor form factor
Algorithm Integration
- AS5600 encoder - add position feedback
- SearchingV31 port - four-state behavioral system
- System integration - complete BLDC upgrade
Technical Debt
- Working servo system - maintain operational backup during BLDC development
- Component compatibility - validate all specs before ordering
- Documentation updates - reflect actual hardware choices vs theoretical preferences
Status: BLDC control functional with 2208 motors, foundation established for algorithm integration and extended testing.
End of Session - Motor Compatibility Resolution Phase Complete