Project Plan

Purpose

This document is the live execution plan for the MOTSEN TOOL project.

It tracks the milestones, open decisions, and known risks that drive the project forward. The three project phases (MVP, Full Feature Development, Productization) and the overall scope are defined in Project Definition. This document does not redefine them; it lists what must actually happen to complete each phase.

Planning Approach

The plan is milestone-driven, not date-driven:

  • Development cadence is irregular. Calendar dates are deliberately omitted.

  • A phase advances only when its phase-gate milestones have status done.

  • Later phases are intentionally lighter than Phase 1. Their milestones are placeholders that will be refined when the prior phase exits.

  • Open Decisions and Risks are reviewed at every phase gate.

Phase Overview

Phase

Theme

Exit Gate

Phase 1

Proof of Concept (MVP)

End-to-end sensor health check and Rs measurement on a real motor through the minimal UI

Phase 2

Full Feature Development

Full characterization suite, FOC, second MCU platform supported

Phase 3

Productization

Manufacturable product with documented service and production processes

Phase 1 — MVP Milestones

Phase 1 milestones are grouped by theme. IDs are reserved with gaps so refinement does not require renumbering.

Documentation

Project Milestone: Project Documentation MIL_001
status: open
tags: doc

Create top level project documentation (project plan and project definition) with enough detail to guide implementation and onboarding of new contributors.

Output Documentation:

  • Project Definition (scope, phases, success criteria).

  • Project Plan (milestones, decisions, risks).

Project Milestone: System Documentation MIL_002
status: open
tags: doc

Create system-level documentation describing the architecture, interfaces, and design rationale of the project at a level that guides implementation and future maintenance.

Output Documentation:

  • System Description (architecture, components, interfaces).

  • System Requirements (functional and non-functional requirements traced to milestones).

  • System Test Plan (test cases traced to requirements, include test setup block diagram).

Project Milestone: Eval Boards & Motor Selection documentation MIL_003
status: open
tags: doc

Create a document comparing candidate eval boards & motors against the project requirements and constraints, leading to a justified selection of the target hardware platform for Phase 1.

Output Documentation:

  • Eval Board Selection (feature matrix, pros/cons).

  • Motor Selection (performance characteristics, cost, availability).

  • Accessory List (power supply, connectors, etc. needed for the test bench).

Procurement and Setup

Project Milestone: Eval Board Procurement MIL_004
status: open
tags: procurement
is linked from: DESC_033

Procure selected eval board and motor, along with necessary accessories (power supply, connectors, etc.) to set up the initial test bench.

Software Development

Project Milestone: Bring-up MIL_005
status: open
tags: mcu software
is linked from: DESC_033

Bring-up procured eval board: toolchain setup, flashing, and basic I/O (GPIO toggle) verified.

Project Milestone: Configure HAL&Drivers MIL_006
status: open
tags: mcu software
is linked from: DESC_035

Add HAL & drivers for:

  • UART for host communication

  • ADC for phase currents&voltage and dc current&voltage sensing

  • PWM for motor control

  • GPIO for Hall sensor input and fault handling

Project Milestone: Hall sensor input and decoding MIL_007
status: open
tags: mcu software, position, motor
is linked from: DESC_033

Hall sensor states are captured. A 6-state decoder produces commutation sector and inferred direction. Mechanical position is read successfully.

Project Milestone: Open-loop commutation motor spin MIL_008
status: open
tags: mcu software, motor
is linked from: DESC_030

The motor spins under open-loop sinusoidal commutation on the bench with an enforced current limit.

Project Milestone: Closed-loop commutation motor spin MIL_009
status: open
tags: mcu software, motor
is linked from: DESC_034

The motor spins under closed-loop sinusoidal commutation on the bench with an enforced current limit.

Communications and Host

Project Milestone: Framed firmware↔host protocol MIL_010
status: open
tags: comms, host
is linked from: DESC_031

A framed protocol is defined and implemented, supporting parameter read/write and a streaming log channel.

Project Milestone: Host desktop application scaffold MIL_011
status: open
tags: host, ui
is linked from: DESC_031

A desktop application skeleton runs on the host PC, opens the serial/USB link to the firmware, and displays a main window.

MVP Feature Development

Project Milestone: Sensor health check feature MIL_012
status: open
tags: feature, mvp
is linked from: DESC_030

Phase-sequence and Hall-alignment validation runs end-to-end from the desktop UI on a real motor and reports pass/fail with a clear diagnostic message on failure.

Project Milestone: Phase resistance (Rs) measurement MIL_013
status: open
tags: feature, mvp
is linked from: DESC_034

The Rs measurement procedure is implemented. The result is validated against a known reference motor and falls within a documented tolerance.

Project Milestone: MVP integration demo MIL_014
status: open
tags: mvp
is linked from: DESC_032

The full MVP demo runs end-to-end: connect motor, run sensor health check, run Rs measurement, view the report in the desktop UI. A non-author can reproduce the demo by following the documentation.

Phase 2 — Full Feature Milestones

These milestones will be refined when Phase 1 exits. They need to be treat as placeholders for now, but they represent the intended scope of Phase 2.

Project Milestone: Inductance estimation (Ld, Lq) MIL_040
status: open
tags: measurement
Project Milestone: Back-EMF and torque constant measurement MIL_041
status: open
tags: measurement
Project Milestone: Encoder support alongside Hall MIL_042
status: open
tags: position
Project Milestone: CAN communication interface MIL_043
status: open
tags: comms
links outgoing: DEC_004
Project Milestone: Scriptable test automation framework MIL_044
status: open
tags: host
Project Milestone: FOC closed-loop control MIL_045
status: open
tags: motor, control
is linked from: SYS_115, SWARCH_101, SWREQ_204
Project Milestone: Desktop UI feature-complete MIL_046
status: open
tags: host, ui
is linked from: DESC_036
Project Milestone: Parameter storage and project files MIL_047
status: open
tags: host
is linked from: SYS_097, SWARCH_114, SWREQ_206
Project Milestone: Second MCU platform supported MIL_048
status: open
tags: hal, mcu
is linked from: DESC_033, SYS_062
Project Milestone: Phase 2 acceptance demo MIL_049
status: open
tags: gate

Phase 3 — Productization Milestones

Project Milestone: Custom PCB v1 design MIL_070
status: open
tags: hardware
is linked from: HWARCH_902, HWREQ_101
Project Milestone: Custom PCB bring-up MIL_071
status: open
tags: hardware
Project Milestone: Manufacturing test fixtures and procedures MIL_072
status: open
tags: production
Project Milestone: User manual MIL_073
status: open
tags: documentation
Project Milestone: Service and calibration documentation MIL_074
status: open
tags: documentation
Project Milestone: Reliability and safety test campaign MIL_075
status: open
tags: production, safety
Project Milestone: Pilot production run MIL_076
status: open
tags: production
Project Milestone: Resolver support MIL_077
status: open
tags: position
Project Milestone: Phase 3 acceptance — manufacturable product MIL_078
status: open
tags: gate

Phase Gate Criteria

Phase 1 exits when:

  • MIL_001 through MIL_014 are all done.

  • MIL_014 (MVP integration demo) is reproducible by a non-author.

Phase 2 exits when:

  • MIL_040 through MIL_048 are all done.

  • MIL_049 (Phase 2 acceptance demo) is signed off.

Phase 3 exits when:

  • MIL_070 through MIL_077 are all done.

  • MIL_078 (Phase 3 acceptance) is signed off, including a manufacturable build and documented production/service flows.

Risks

Project Risk: Irregular cadence causes context loss RISK_001
status: open

Long calendar gaps between work sessions cause loss of mental context and rework. Mitigation: every session ends with a short note in the docs capturing current state and the next concrete step.

Project Risk: HAL over-engineered prematurely RISK_002
status: open
is linked from: SWARCH_013

The HAL is designed for portability before a second MCU exists, leading to wasted effort and brittle abstractions. Mitigation: design the HAL to the minimum needed for Phase 1; revisit at MIL_048.

Project Risk: Characterization algorithm complexity underestimated RISK_003
status: open

Parameter estimation procedures (Rs, Ld, Lq, Kt) require more signal processing and calibration than expected. Mitigation: stage the work — Rs first, then Ld/Lq, then Kt — and validate each against a reference motor.

Project Risk: Documentation drift from implementation RISK_006
status: open

Code and documentation drift apart, so the docs no longer describe what the project actually does. Mitigation: documentation changes ship in the same commits as the implementation changes that motivate them.

Project Risk: Motor-under-test safety incident RISK_007
status: open
is linked from: DESC_034

Overcurrent, overspeed, or mechanical incidents during bench testing cause damage or injury.

Traceability

Milestones in this document forward-link to system, hardware, and software requirements using the linked_to and implemented_by link types defined in the project conf.py. At the time of writing these links are mostly empty; they will be populated as the requirements documents in 02_System, 03_Hardware, and 04_Software come online.

The intended traceability flow is:

Milestone (MIL_*)
       │
       ├── System Requirement (SYS_*)
                  │
                  ├── Hardware Requirement (HW_REQ_*)
                  │           └── Hardware Test Case (HW_TEST_*)
                  │
                  └── Software Requirement (SW_REQ_*)
                              └── Software Test Case (SW_TEST_*)