Home
Species

BLDC Motor Testing Session Log

August 31, 2025

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.8V
  • s0.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

  1. Component heating analysis - capacitor vs driver thermal behavior
  2. Current draw monitoring - identify excessive load conditions
  3. Resistance measurement - verify motor phase integrity

Motor Performance Assessment

  1. Pole pairs testing - systematic trial (3,5,6,7,11)
  2. Voltage/speed tuning - find smooth operation window
  3. 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

  1. Basic motor functionality before mechanical integration
  2. Thermal validation before performance testing
  3. 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)

  1. Resistance testing - verify >10Ω compatibility
  2. Pole pairs identification - test 7,11,14 for gimbal motors
  3. Smooth operation validation - achieve stable FOC control

Mechanical Integration

  1. Capstan redesign - accommodate larger motor form factor
  2. Mounting bracket - secure 2204 to existing mechanism
  3. Performance testing - loaded vs unloaded operation

Algorithm Integration

  1. AS5600 encoder - add position feedback
  2. SearchingV31 port - four-state behavioral system
  3. 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

Classification

hardware testing motors