# GB1806 BLDC Motor Not Spinning with SimpleFOC Mini V1.0 and ESP32-S3

**URL:** <https://community.simplefoc.com/t/gb1806-bldc-motor-not-spinning-with-simplefoc-mini-v1-0-and-esp32-s3/8383>\
**Category:** hardware support\
**Tags:** bldc, esp32\
**Created:** [November 3, 2026, 11:19am UTC](https://community.simplefoc.com/t/gb1806-bldc-motor-not-spinning-with-simplefoc-mini-v1-0-and-esp32-s3/8383 "2026-11-03T11:19:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gahyung23](https://community.simplefoc.com/user_avatar/community.simplefoc.com/gahyung23/32/10180_2.png) [@gahyung23](https://community.simplefoc.com/u/gahyung23)\
**Post date:** [November 3, 2026, 11:19am UTC](https://community.simplefoc.com/t/gb1806-bldc-motor-not-spinning-with-simplefoc-mini-v1-0-and-esp32-s3/8383/1 "2026-11-03T11:19:26Z")

</div>

Hello everyone,

I’m currently trying to control a GB1806 BLDC motor using an ESP32-S3 and SimpleFOC Mini V1.0.

Despite several tests, the motor does not rotate, vibrate, or produce any sound. The driver initializes successfully, and the ESP32 generates PWM signals, but the motor remains completely unresponsive.

I would appreciate any suggestions on what might be causing this issue.

## 1. Hardware Configuration

| Component | Model / Specifications |
| --- | --- |
| Microcontroller | ESP32-S3 (LOLIN S3 V1.0.0) |
| Motor Driver | SimpleFOC Mini V1.0 (DRV8313) |
| BLDC Motor | GB1806, 12V, 0.66A, 5.9Ω, 1.3mH, 7 pole pairs |
| Power Supply | 3S LiPo Battery, 11.1V nominal, 5000mAh, 40C |

The ESP32-S3 is powered separately through USB-C, while the SimpleFOC Mini receives power from the LiPo battery.

Both devices share a common GND.

I’m currently testing the motor using **open-loop velocity control without an encoder**.

## 2. Wiring

| ESP32-S3 | SimpleFOC Mini |
| --- | --- |
| GPIO4 | IN1 |
| GPIO5 | IN2 |
| GPIO6 | IN3 |
| GPIO7 | EN |
| GPIO8 | nFT |
| GND | GND |

Motor connections:

| BLDC Motor | SimpleFOC Mini |
| --- | --- |
| Phase U | M1 |
| Phase V | M2 |
| Phase W | M3 |

The nSP and nRT pins are left unconnected.

## 3. Tests Performed

### Test 1: Motor Phase Resistance

I measured the resistance between the three motor phases.

| Measurement | Resistance |
| --- | --- |
| M1–M2 | 6.1Ω |
| M2–M3 | 6.0Ω |
| M3–M1 | 6.2Ω |

All three measurements were similar, so I could not identify any obvious phase imbalance.

The measurements were taken with the motor connected to the driver and external power disconnected.

### Test 2: ESP32 PWM Output

I tested the PWM outputs from the ESP32-S3 independently, with the driver control lines disconnected.

Using `driver.setPwm(3, 6, 9)` with a 12V supply configuration, I measured the following average voltages at the ESP32 output pins:

| Pin | Measured Voltage |
| --- | --- |
| GPIO4 | Approximately 0.83V |
| GPIO5 | Approximately 1.65V |
| GPIO6 | Approximately 2.48V |

The PWM outputs appeared to work correctly.

I also confirmed continuity between the ESP32 GPIO pins and the corresponding driver inputs.

The EN signal was tested separately and successfully switched between approximately 0V and 3.3V at the driver’s EN connection.

### Test 3: Driver Power and Control Signals

With the SimpleFOC Mini powered by the LiPo battery, I measured:

| Measurement | Result |
| --- | --- |
| Driver supply voltage | Approximately 11.8V |
| nSP | Approximately 2.9V |
| nRT | Approximately 2.9V |
| nFT | HIGH (no LOW detected) |
| EN | 0V / 3.3V switching confirmed in a separate test |

There was no obvious fault indication.

However, I understand that a HIGH reading on nFT does not necessarily confirm that the driver is operating correctly.

### Test 4: Open-Loop Velocity Control

I tested the motor using SimpleFOC’s open-loop velocity control.

The main configuration was:

```auto
#include <Arduino.h>
#include <SimpleFOC.h>

BLDCMotor motor(7);
BLDCDriver3PWM driver(4, 5, 6, 7);

void setup() {
  Serial.begin(115200);

  driver.voltage_power_supply = 12.0f;
  driver.voltage_limit = 2.0f;

  driver.init();

  motor.linkDriver(&driver);

  motor.controller = MotionControlType::velocity_openloop;

  motor.voltage_limit = 2.0f;
  motor.velocity_limit = 10.0f;

  motor.init();
}

```

The actual tests used timed `motor.move()` calls to command the motor.

I tested different voltage limits and velocities:

| Voltage Limit | Target Velocity | Duration | Result |
| --- | --- | --- | --- |
| 0.5V | 5rad/s | 0.5s | No movement |
| 1.0V | 5rad/s | 0.5–1s | No movement |
| 2.0V | 10rad/s | 2s | No movement |

In all tests:

- The motor did not rotate or twitch.

- No vibration or buzzing occurred.

- No noticeable heating was observed.

- No fault was detected through the nFT pin.

The serial monitor reported successful driver and motor initialization.

**One possible software issue:** My original test code repeatedly called `motor.move()` but did not call `motor.loopFOC()`.

I recently found that newer SimpleFOC versions may require `motor.loopFOC()` even in open-loop mode. I have not yet confirmed whether this explains the problem.

### Test 5: Direct Driver Output

To check whether the driver was generating PWM outputs, I disconnected the motor and tested the SimpleFOC Mini directly.

First, I used:

```auto
driver.enable();
driver.setPwm(3.0f, 6.0f, 9.0f);

```

Measured output voltages:

| Output | Commanded Voltage | Measured Voltage |
| --- | --- | --- |
| M1 | 3V | Approximately 3V |
| M2 | 6V | Approximately 10V |
| M3 | 9V | Approximately 10–11V |

Next, I used:

```auto
driver.setPwm(3.0f, 3.0f, 3.0f);

```

Measured output voltages:

| Output | Commanded Voltage | Measured Voltage |
| --- | --- | --- |
| M1 | 3V | Approximately 3V |
| M2 | 3V | Approximately 0V |
| M3 | 3V | Approximately 0V |

The measurements were taken using an EXTECH EX410 multimeter in DC voltage mode.

Since the outputs are PWM signals and the motor was disconnected, I understand that a multimeter may not provide reliable output voltage measurements.

However, I am unsure why M2 and M3 behave differently from M1.

## 4. Current Findings

Based on the tests performed:

- The ESP32-S3 generates PWM signals.

- The wiring between the ESP32 and SimpleFOC Mini passes continuity checks.

- The driver receives approximately 11.8V.

- The EN input can be controlled by the ESP32.

- nSP and nRT remain HIGH.

- No fault was detected through nFT.

- The motor phase resistance measurements are similar.

However, **the motor still does not move at all**.

I have not been able to determine whether the problem is caused by the motor driver, the motor, or my control code.

## 5. Questions

I would appreciate any advice regarding the following:

1. **Could the missing `motor.loopFOC()` call be the reason the motor never moves?** Does this depend on the installed SimpleFOC version?

2. **Are the driver output measurements (3V/0V/0V) meaningful when using a multimeter?** Could this indicate a problem with the DRV8313 output stage?

3. **Is there a reliable way to verify that all three motor driver outputs are working without an oscilloscope?**

4. **Are there any additional connections or settings required for SimpleFOC Mini V1.0?** Currently, I only connect IN1, IN2, IN3, EN, and GND. The nSP and nRT pins are left unconnected.

5. **What open-loop voltage and velocity settings would you recommend for a GB1806 gimbal BLDC motor (12V, 0.66A, 5.9Ω, 7 pole pairs)?**

Any suggestions on what I should test next would be greatly appreciated.

Thank you!
