Skip to main content

Knomi V2 Customization

The Knomi V2 is the Touchscreen variant of the Knomi V1, which is a little screen with an ESP on board, that connects to Moonraker over wifi to show printing status. It is designed to be added to a customized stealthburner hotend but can be used externally. This tutorial will discuss how to customize the GIFs used in various screens of the Knomi V2

I personally do not recommend the Knomi V2 at this time since BTT has not done well to keep their firmware and documentation up to date. Regardless, I wrote this guide as of June 2024 in hopes of helping other people who are stuck.

Do NOT use the WebUI updater or try to upload the UI from platformIO to upload a firmware. Use the given flash tool.

General Tutorial

This guide applies to the Knomi v2 specifically, not the v1!

Prerequisites
  • The firmware source from https://github.com/bigtreetech/KNOMI
    • Download the "firmware" branch, not master!
  • The flash download tool from https://www.espressif.com.cn/en/support/download/other-tools
    • Windows only
  • The board connected to your computer via USB cable
    • Make sure that there are no usb hubs being used
    • Verify through the device manager what COM port this device is using
  • PlatformIO setup on VSCode / VSCodium
    • The PlatformIO extension cannot be installed directly in VSCodium, but you can use the work around here
  • Your set of GIFs should be 240x240 to fit correctly on the screen without any border issues
Firmware Preparation
  • Open the downloaded firmware folder with VSCode / VSCodium
  • Allow PlatformIO to open and install dependencies
  • On the lower left, change your env to knomiv2
  • Edit the platformio.ini file
    • At the end of the 'lib_deps' section, add the following line:
      • AsyncTCP=esphome/AsyncTCP-esphome@^2.1.1
    • At the platform section, change "espressif32" to "[email protected]"
  • Save the file
  • On the lower left, run build (NOT UPLOAD) to ensure the firmware can build correctly without modification
    • You should see a 'SUCCESS' if all works. If not, check to make sure you followed the previous steps correctly. Do NOT proceed
Images
  • Make sure your intended GIFs are named following the convention of the C files at /src/gif
  • Use this site to convert each GIF, and overwrite the C file in /src/gif of the same name of the GIF file
    • Use LVGL8
    • Ensure Color format is CF_RAW_CHROMA (if it jumps back to CD_RAW ignore this)
    • Output format should be C array
    • Do not check the 2 boxes
  • In VSCode / VSCodium, hit build once again. Make sure it registers a success.
  • Get the bootloader.bin, partition.bin, and the firmware.bin at file path /.pio/build/knomiv2/
Uploading firmware

This same section can be used to upload BTTs precompiled stock firmware from here. This may be able to save a "bricked" black screen Knomi

  • Open

    the

    firmware

    flasher

    application from earlier
    • ChipType: ESP32-S3
    • WorkMode: Develop
    • LoadMode: UART
  • Fill in the build files in the following order with the given addresses
    • Bootloader.bin - offset 0x0000
    • partition.bin - offset 0x8000
    • firmware.bin - offset 0x10000
  • Leave all other settings on default
  • Ensure that the COM port matches the COM port that the Knomi is using
  • Hit Start, do not unplug the Knomi
  • When it reports it is done, wait a few seconds, ensure the Knomi is showing a black screen, then unplug it and plug it back in
  • The Knomi should now be on your compiled firmware!

Sources:

 

https://github.com/bigtreetech/KNOMI/issues/70

https://github.com/bigtreetech/KNOMI/issues/51

(Do not follow the full tutorial as it is outdated and there are some incorrect steps as a result)