BLDC Motor Testing Session Log
BLDC Motor Testing Session Log
Date: August 31, 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 Identified: 2204-260KV Gimbal Motor
Specifications:
- Type: Camera gimbal motor (precision positioning)
- KV Rating: 260 (vs 1000+ for drone motors)
- Design: 80T hollow shaft (high turn count = higher resistance)
- Current: 1.3A max continuous (reasonable)
- Applications: 808 camera gimbals (precision control)
Expected Resistance: 10-30Ω range based on gimbal motor characteristics Delivery: 2 days 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
Immediate (2204 Motor Arrival)
- Resistance testing - verify >10Ω compatibility
- Pole pairs identification - test 7,11,14 for gimbal motors
- Smooth operation validation - achieve stable FOC control
Mechanical Integration
- Capstan redesign - accommodate larger motor form factor
- Mounting bracket - secure 2204 to existing mechanism
- Performance testing - loaded vs unloaded operation
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: Foundation established, proper components identified, mechanical redesign required for full implementation.
End of Session - Motor Compatibility Resolution Phase Complete