B-G431B-ESC1 Sensorless motor not working

Hi, I am new to the world of BLDC motors and am trying to get my project off the ground but am having problems and I don’t know where I’m going wrong. I am trying to use the B-G431B-ESC1 board to drive a motor using open loop velocity. I am using the BE1806 1400KV and need to get 15000 RPM and will later tune FOC to get the motor to run more quietly. My current code generates this wave form which I know is wrong but i do not know what it indicates.

I have tried following the setup guide on SimpleFOC’s website but haven’t been able to get the motor spinning. The code i currently have is some modifications to the code generated by the SimpleFOCGenerator.

This is my platformio config file.
[env:disco_b_g431b_esc1]
platform = ststm32
board = disco_b_g431b_esc1
framework = arduino
monitor_speed = 115200
upload_protocol = stlink

build_flags =
;-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D PIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF
-D PIO_FRAMEWORK_ARDUINO_USB_HIGHSPEED_FULLMODE

lib_deps=
askuric/Simple FOC @ ^2.0.2
SPI
Wire

This is what i currently have written.

#include <SimpleFOC.h>

// BLDC motor instance BLDCMotor(polepairs, (R), (KV))
BLDCMotor motor = BLDCMotor(7);

// BLDC driver instance BLDCDriver6PWM(phA_h, phA_l, phB_h, phB_l, phC_h, phC_l, (en))
BLDCDriver6PWM driver = BLDCDriver6PWM(A_PHASE_UH, A_PHASE_UL, A_PHASE_VH, A_PHASE_VL, A_PHASE_WH, A_PHASE_WL);
// BLDCDriver3PWM driver = BLDCDriver3PWM(A_PHASE_UH, A_PHASE_VH, A_PHASE_WH, A_PWM);

// position / angle sensor instance MagneticSensorPWM(PWM pin, minimum pulse, maximum pulse)
MagneticSensorPWM sensor = MagneticSensorPWM(A_PWM, 15, 18.5);

// inline current sense instance InlineCurrentSense(R, gain, phA, phB, phC)
InlineCurrentSense currentsense = InlineCurrentSense(0.003, -64.0/7.0, A_OP1_OUT, A_OP2_OUT, A_OP3_OUT);

// commander instance
Commander command = Commander(Serial);
void doTarget(char* cmd){command.motion(&motor, cmd);}


void setup() {
    // start serial
    Serial.begin(115200);

    // initialize sensor
    sensor.init();
    // link sensor to motor
    motor.linkSensor(&sensor);

    // set power supply voltage
    driver.voltage_power_supply = 22.2;
    // set driver voltage limit, this phase voltage
    driver.voltage_limit = 22.2;
    // initialize driver
    driver.init();
    // link driver to motor
    motor.linkDriver(&driver);
    // link driver to current sense
    currentsense.linkDriver(&driver);

    // set motion control type to velocity
    motor.controller = MotionControlType::velocity;

    // set torque control type to FOC current
    motor.torque_controller = TorqueControlType::foc_current;

    // set FOC modulation type to sinusoidal
    motor.foc_modulation = FOCModulationType::SinePWM;

    // velocity PID controller
    motor.PID_velocity.P = 1;
    motor.PID_velocity.I = 0;
    motor.PID_velocity.D = 0;
    // set motor voltage limit, this limits Vq
    motor.voltage_limit = 14.8;
    // set motor velocity limit
    motor.velocity_limit = 2120;
    // set motor current limit, this limits Iq
    motor.current_limit = .5;

    // use monitoring

    motor.useMonitoring(Serial);
    motor.monitor_downsample = 1000;

    // initialize motor
    motor.init();

    // initialize current sensing and link it to the motor
    // https://docs.simplefoc.com/inline_current_sense#where-to-place-the-current_sense-configuration-in-your-foc-code
    currentsense.init();
    motor.linkCurrentSense(&currentsense);

    // align sensor and start FOC
    motor.initFOC();
    motor.enable();

    // add command to commander
    command.add('M', doTarget, "target");

    _delay(1000);
}

void loop() {
    // main FOC algorithm function
    // the faster you run this function the better
    //motor.loopFOC();

    // // this function can be run at much lower frequency than loopFOC()
    motor.move(350);

    // significantly slowing the execution down
    motor.monitor();

    // user communication
    command.run();
}

Any help would be appreciated since I’m very new to this I am having trouble figuring out what is wrong.

I think you are missing the lib_archive = false in platformio.ini

Also you are using v2.0.2. Latest is v2.3.3, you will miss out on improvements and bug fixes.

Thank you, I definitely missed that. After adding that I do get a different response from the motor now. The motor actually has some type of a square wave now. Its very noisy and smaller than I expected but now have a jumping off point.