# Firmware Updates

### Overview

Firmware updates for the Motion4Sim Servo Controller are released periodically to introduce new features, improve performance, or fix issues. These updates can be downloaded from the official GitHub repository and installed onto the controller. The process is straightforward and supported by detailed instructions and a video tutorial. This section also covers entering **Bootloader Mode** (required for flashing) and the **Flash Process** itself.

#### Download Location

{% embed url="<https://github.com/motion4sim/AASD15A-Servo-Controller-for-Motion-Simrigs/tree/master/firmware>" %}

For a visual guide, refer to:

{% embed url="<https://www.youtube.com/watch?t=181s&v=sPiSgAtpf4k>" %}

***

### Bootloader Mode

#### Purpose

The **Bootloader Mode** is a special operational state that allows the controller to accept new firmware. Starting with Firmware Version 3.1, entering this mode is simplified via the Setup Menu. Three methods are available to access Bootloader Mode, offering flexibility depending on your setup.

#### Method 1: Via Setup Menu&#x20;

This is the easiest and recommended method for newer firmware versions.

1. **Connect the Controller**
   * Plug the controller into your computer using a USB cable. Ensure the connection is secure (refer to the image in the original documentation if needed).
2. **Navigate to Bootloader Option**
   * Power on the controller.
   * wait, when shows "press Encoder for homing" .
   * Rotate the encoder left until the display shows **"Enter Bootloader"**.
3. **Activate Bootloader Mode**
   * Press the encoder to select and confirm the "Enter Bootloader" option.
   * The controller will restart and enter Bootloader Mode automatically.
4. **Verify USB Port**
   * Check your computer’s Device Manager to confirm a new USB device appears. Note the assigned COM port for use in the flash process.

<figure><img src="/files/do0bGFSwaasl42Uzcsj2" alt=""><figcaption><p>Com Port coming up</p></figcaption></figure>

<figure><img src="/files/QK43aOcRm4PMZykf5p0e" alt=""><figcaption><p>Hardware Id of USB Device</p></figcaption></figure>

***

#### Method 2: Manual Button Sequence

This method is useful if the Setup Menu is unavailable or for older firmware versions.

<figure><img src="/files/NHbku9yi6tpxkwBh7poU" alt=""><figcaption></figcaption></figure>

5. **Connect the Controller**
   * Connect the controller to your computer via USB, as in Method 1.
6. **Hold the User Button**

   * Locate the **User Button** on the controller and press and hold it.

   refer here to identify the buttons to use:

{% content-ref url="/pages/hpv6pbFCY15tRtMipNc1" %}
[Board Overview/Connectors](/getting-started/board-overview-connectors.md)
{% endcontent-ref %}

5. **Press the Reset Button**
   * While holding the User Button, briefly press the **Reset Button**.
   * still hold the User Button until USB Device appears
6. **Confirm Bootloader Mode**
   * A new USB device should appear in your computer’s Device Manager, indicating the controller is now in Bootloader Mode.
   * from fw 5.xx the Display if used, will show up "Bootloader Mode" to verify

***

#### Method 3: Using the Handheld Device

This method uses the handheld interface for users with this accessory.

<figure><img src="/files/4ykynHdwJfwIT3Ym9CJf" alt=""><figcaption></figcaption></figure>

1. **Activate Emergency Stop**
   * Press the **Emergency Stop (Notaus) Button** on the handheld device to ensure the system is in a safe state.
2. **Turn Off Online Mode**
   * Switch the **Online Switch** to the **Off** position.
3. **Power the controller with USB**&#x20;
   * Press and hold the encoder until you can hear the usb device coming up sound in Windows.
   * plug the USB cable into your computer or controller
4. **Enter Bootloader Mode**
   * Watch the Device Manager for a new USB device to confirm Bootloader Mode activation.
5. **Troubleshooting**
   * If no new USB device appears, release the Emergency Stop Button and repeat the steps from Step 1. Some E-Stop Buttons work NC and some NO.
   * Ensure all connections are secure.
   * some of the new pcb version of version 2.03 do not support this feature
6. **Confirmation**
   * The controller is now in Bootloader Mode and ready for flashing.

***

### Flash Process

#### Purpose

The flash process transfers the new firmware to the controller while it’s in Bootloader Mode. This is done using the Dashboard App, which simplifies the procedure.

#### Detailed Steps

1. **Install the Dashboard App**
   * If not already installed, download and install the **Dashboard App** (available from the Motion4Sim resources or GitHub). This app manages the firmware update process.

{% embed url="<https://github.com/motion4sim/AASD15A-Servo-Controller-for-Motion-Simrigs/tree/master/Dashboard>" %}

1. **Open the Firmware Tab**
   * Launch the Dashboard App and go to the **"Firmware"** tab in the interface.

<figure><img src="/files/ICXPk2HgEBw7g1R4LS7t" alt=""><figcaption></figcaption></figure>

1. **Download the Latest Firmware**
   * Visit&#x20;

{% embed url="<https://github.com/motion4sim/AASD15A-Servo-Controller-for-Motion-Simrigs/tree/master/firmware>" %}

* Download the latest firmware file (typically a `.bin` or similar format).

1. **Select the Firmware File**
   * In the Dashboard App’s Firmware tab, click to browse and select the downloaded firmware file.
2. **Enable Encryption**
   * Check the **"Encrypted"** checkbox. This ensures the firmware is securely processed during the update.
3. **Prepare USB Connections**
   * Do **not** manually select a COM port yet.
   * Disconnect any unnecessary USB-serial devices (e.g., other controllers or adapters) and disable Bluetooth serial connections to avoid conflicts.
   * The app will attempt to auto-detect the correct COM port.
4. **Verify COM Port (If Needed)**
   * The Dashboard App should automatically identify the controller’s COM port.
   * If auto-detection fails, manually select the correct COM port from the Device Manager (noted during Bootloader Mode activation).
5. **Start the Flash Process**
   * Click the **Flash Button** in the Dashboard App to begin the update.
6. **Confirm Bootloader Mode**
   * A prompt may appear asking you to confirm the controller is in Bootloader Mode. Verify this (based on the method used above) and proceed.
7. **Complete the Update**
   * The firmware will be transferred to the controller.
   * Once complete, the controller will automatically restart with the new firmware installed.
   * after that do a reboot/reset again using the reset button on the pcb or power cycle
   *

***

#### Troubleshooting Tips

* **No COM Port Detected**: Double-check USB connections and ensure Bootloader Mode is active. Restart the process if necessary.
* **Flash Fails**: Verify the firmware file matches your controller version and retry with a fresh download.
* **Controller Doesn’t Restart**: Manually power cycle the controller after a successful flash.
* Note: No Display is shown on older Fw Versions
* when previous flash attempt was unsuccessfull Method 1 is not available

***

<figure><img src="/files/st5DdK0ZP9ePY57RcxNi" alt=""><figcaption></figcaption></figure>

### Summary

Updating the firmware enhances your Motion4Sim Servo Controller’s capabilities. By entering **Bootloader Mode** (via the Setup Menu, button sequence, or handheld device) and using the **Dashboard App** to flash the firmware, you can keep your system up to date. Follow the steps carefully, and refer to the video tutorial for additional guidance.


---

# Agent Instructions: 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.motion4sim.com/getting-started/publish-your-docs/firmware-updates.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.
