Question about sensorless positon control solution

I’m interested in building a very small actuator.
To achieve the smallest size and lowest cost, I need to be able to estimate speed and position without a sensor (I considered attaching something like a potentiometer to the drive shaft, but quickly gave up). So, I’d like to ask a few questions in this community.

The approximate size is a 10-15mm diameter motor.
Because of its small size, the load it drives is small.
If this driver project is successful, I plan to build a small robot that can express human posture.

  1. Motor Selection: BLDC or Stepper Motor?

Due to the nature of this project, the motor should be suitable for position control, not continuous high-speed rotation. I think a stepper motor would be appropriate in this case,
but which motor would you choose? Please explain your reasons.

  1. Recommended Driver IC
    If using a BLDC motor, I recommend using the DRV8311. When using a stepper motor, I plan to drive it using a combination of two full-bridge drivers.
    If you have a recommended driver IC, please share it.

  2. MCU Selection
    Since the driver needs to be small, the MCU must also be small.
    I’ve been using STM32 for a long time, so I’m considering a small and inexpensive option, such as the STM32F103C8T. Is this a suitable choice?
    Or, please recommend another MCU (preferably an STM32).

  3. Other Theories Required for Sensorless Motors
    Since I had to write the driver code myself, I had to study theories like FOC and IPD. Any resources that could help me understand these theories would be greatly appreciated.

Thank you!

Take a look at Allegro A4988, A5985 stepper drivers.

Mature product. Consider STM32H503 in QFN package - much faster, more memory and peripherals, quarter in package size comparing to STM32F103C8T. And cheaper (at least in Mouser).