> 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 %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.feelix.xyz/uploading-files/troubleshoot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
