> For the complete documentation index, see [llms.txt](https://docs.feelix.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.feelix.xyz/uploading-files/troubleshoot.md).

# Troubleshooting

{% hint style="danger" %}
The Feelix Mini-Driver board needs to be connected to the external power supply to work properly. The USB port can only be used to download/upload the Arduino code. The motor can **NOT** be powered through the USB port. *Hardware damage may occur.*
{% endhint %}

## General

#### Motor is not behaving as expected

* [ ] Check if the power supply is connected.
* [ ] The motor draws more current than the external power supply can provide.
* [ ] The motor temperature is **very hot**. Wrong settings could be applied to cause this. **Let the motor cool down** before continuing.
* [ ] Make sure the Feelix Mini-Driver is running the [latest code](/downloads/c-library.md#arduino-library-feelix-design-tool): If you are using your own code, please revert to the stock version to verify whether it is still functioning correctly.

#### **Code is not compiling**

* [ ] Check if [**all dependencies**](/uploading-files/simplefoc.md) are installed
* [ ] Check if you have selected the correct board in the Arduino IDE. *Feelix Mini-Driver uses the STM32F401RE*.

#### Feelix Mini-Driver is not recognized

* [ ] Check if your computer recognizes the microcontroller when its connected via USB. In windows this can be verified by the "Device Manager."&#x20;
* [ ] Make sure the port is not in use by another program (e.g. Serial monitor of the Arduino IDE).
* [ ] Try the **RESET** button.
* [ ] Check if **STM32CubeProgrammer** is still able to detect the device in **BOOT mode**.
* [ ] It is recommended to use the cable provided.
* [ ] Test it on a different USB port or computer if possible.&#x20;

## Feelix - Haptic Design Tool

#### The Feelix Mini-Driver does not connect with the Feelix Haptic Design Tool

* [ ] Make sure the device is in **RUN mode**. The pink colored LED in the Feelix logo should blink periodically
* [ ] Try to restart Feelix in case the microcontroller is recognized by the computer but not by Feelix. Otherwise follow the steps at "Feelix Mini-Driver is not recognized".&#x20;

#### Motor is not behaving as expected

* [ ] Try to [recalibrate ](broken://pages/-M3NHh5uT6JPoz0noj15)the motor
* [ ] Make sure the right number of pole-pairs are specified ([see hardware settings](broken://pages/-M3NHh5uT6JPoz0noj15))\
  If not, recalibrate the motor.

#### Motor cursor does not move

* [ ] Check if the magnetic encoder is still working:\
  Upload example code from the [FeelixEffect library](/downloads/c-library.md#arduino-library-for-exported-feelix-effects) to read the encoder value \
  \&#xNAN;*Arduino IDE > examples > Feelix MiniDriver Effects > test > sensor.*
* [ ] If the sensor value is not read, the issue is probably caused by a broken sensor.

#### Feelix is not loading properly

* [ ] ***Issue occured after update?*** Go to 'help' > 'development tools'.
* [ ] Search for 'application' in the development tools.
* [ ] Clear all data.
* [ ] Restart Feelix.

#### If nothing is working..

* [ ] Delete the Feelix Mini-Driver from microcontroller settings window.
* [ ] Restart Feelix Host software.
* [ ] Reconnect to Feelix Mini-Driver.

## STM32CubeProgrammer installation

Arduino uses STM32CubeProgrammer in the background to upload code via DFU. If the Arduino IDE cannot find STM32CubeProgrammer on MacOS, it is usually because the stm32\_cubeprogrammer\_CLI executable is not in the file path expected by the IDE. You can restore this in the terminal.&#x20;

Use the following command in the terminal:

```
sudo ln -s /Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/bin/STM32_Programmer_CLI /usr/local/bin/STM32_Programmer_CLI
```

You can verify if the path is restored with the following command:

```
STM32_Programmer_CLI --version
```

If you get a getopt error after uploading, you can install gnu-getopt with homebrew using the following command:

```
brew install gnu-getopt
```

If homebrew is not installed, run the following command:

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

## ESP32 is not recognized

Usually this issue is caused by a missing driver. [Download and install the CP2102 driver](https://www.pololu.com/docs/0j7/all) to resolve the issue.

{% hint style="success" %}
Is your issue not listed here? Report it on [GitHub](https://github.com/ankevanoosterhout/Feelix/issues).
{% endhint %}
