> For the complete documentation index, see [llms.txt](https://docs.siboor.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.siboor.com/other-products/v0-display-screen.md).

# V0 Display Screen

V0 Display Flickering Instructions

1. **Connection**\
   The display is connected to the host computer via USB.
2. **Firmware Pre-Installation Check**\
   Determine if your display has firmware pre-installed:
   * **If the display has pre-flashed firmware:**

     * Install a jumper cap in the red area shown in the image below and press the RSSCT button to put the development board into DFU mode.

     <figure><img src="/files/EWs4TT5l5LfZrUDOWD6y" alt=""><figcaption></figcaption></figure>
   * **If the display does not have firmware pre-flashed:**
     * The MCU defaults to DFU mode if no other firmware is installed.
     * Confirm that the development board enters DFU mode in step 4.
3. **Connect via SSH**\
   Connect to your host computer using SSH.
4. **Verify DFU Mode**\
   Run the command:

   ```
   lsusb
   ```

   Ensure the STM32 is listed in DFU mode.

<figure><img src="/files/2wvFgf2dVbryZMCKziVK" alt=""><figcaption></figcaption></figure>

5. **List DFU Devices**\
   Run:

<pre><code><strong>dfu-util --list
</strong></code></pre>

Note the information in the red box.

<figure><img src="/files/9EExur8AkdAb5TMBxEWI" alt=""><figcaption></figcaption></figure>

6. **Access Klipper Directory**\
   Run:

```
cd ~/klipper
```

7. **Configure Klipper**\
   Run:

```
make menuconfig
```

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

Set the configuration as required, then exit and save.

8. **Clean Make Environment**\
   Run:

```
make clean
```

9. **Flash Firmware**\
   Run:

```
make flash FLASH_DEVICE=0483:df11
```

(Use the appropriate xxxx:yyyy from the previous step.)

10. **Final Steps**

* Remove the power jumper.
* Press the reset button.

11. **Verify Serial Device**\
    After completion, run:

```
ls /dev/serial/by-id/*
```

This should return a device starting with `/dev/serial/by-id/usb-Klipper_stm32f042x6...`.

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

12. **Update Display Configuration**\
    Copy the serial port name (e.g., `/dev/serial/by-id/usb-Klipper_stm32f042x6...`) and place it in the `[mcu display]` section of the display configuration file.

#### Example Configuration for V0Display.cfg

```plaintext
[mcu display]
serial: /dev/serial/by-id/usb-Klipper_stm32f042x6_JKYZ-if00
restart_method: command

[display]
lcd_type: sh1106
i2c_mcu: display
i2c_bus: i2c1a
encoder_pins: ^display:PA4, ^display:PA3
click_pin: ^!display:PA1
kill_pin: ^!display:PA5
x_offset: 2

[neopixel displayStatus]
pin: display:PA0
chain_count: 1
color_order: GRB
initial_RED: 0.24
initial_GREEN: 0.02
initial_BLUE: 0.25
```

Your display should now work with Klipper. To get started, it's recommended to copy the configuration file to the same directory as `printer.cfg`, and then add `[include V0Display.cfg]` at the end of `printer.cfg` to include the file.
