Skip to content

azertui/KNOMI_waveshare_esp32_s3_touch_lcd_128

 
 

Repository files navigation

PlatformIO CI

KNOMI2 firmware for Waveshare esp32-s3 touch lcd 1.28

This is a fork of the KNOMIv2 firmware for this board.

Firmware for the ESP32-C3 SuperMini is also available. Please note that, as I do not have a C3 SuperMini, the firmware for this board was tested on an emulator.

Important

If you need support for a specific board, please open an issue. I will try to add it.

Versions

I provide two versions of the firmware:

  • The pre-compiled original version of KNOMI v2 for the Waveshare board (available in the releases tab).
  • A pre-compiled version without OTA firmware update, but that retains remote configuration and contains additional animations for multi-color 3D printers.

Note

New animations can be added to the non-OTA version, as there is still space available.

Installation

Pre-compiled firmware

Download the bin file for your board in the release tab, then use flash download tool to flash the firmware on the board.

In the tool, select your board, Develop and USB.

Select the firmware file and address 0x0000.

Tip

If the tool remains stuck on “Sync”, you must hold down the “boot” button of the board for a few seconds. Sometimes it is also necessary to disconnect and reconnect the board.

ESP-C3 SuperMini Pinout

By default, KNOMI v2 uses a GC9A01 TFT display and a CST816S capacitive touchscreen. This is the wiring for the ESP32-C3 SuperMini.

Usage GPIO Pin
CST816S_IRQ 1
CST816S_RST 3
GC9A01_DC 0
GC9A01_RST 2
GC9A01_SCLK 4
GC9A01_MISO 5
GC9A01_MOSI 6
GC9A01_CS 7
I2C0_SDA 8
I2C0_SCL 9

Note

This can be changed in "pinout_super_mini_esp32c3.h".

Custom firmware

I removed the OTA library (remote KNOMI firmware update) to save flash memory and add new animations for multi-filament printers (nozzle cleaning, filament push, filament pull, and filament purge). These animations come from BigTreeTech's knomi panda repository. There is no need to compile the firmware anymore. It can now be found in the 'Releases' tab.

The new animations are the following:

Klipper configuration

In order to decide which animation to show, KNOMI calls the Klipper API in a loop to download the status of the variables in the “_KNOMI_STATUS” macro. Below is an illustration of the macro “_KNOMI_STATUS” along with a macro "KNOMI_RESET" to be called at the beginning and end of printing to reset the value of KNOMI variables.

[gcode_macro _KNOMI_STATUS]
variable_homing: False
variable_probing: False
variable_qgling: False
variable_heating_nozzle: False
variable_heating_bed: False
variable_filament_pull: False
variable_filament_push: False
variable_filament_purge: False
variable_filament_cut: False
variable_nozzle_cleaning: False
gcode:

[gcode_macro KNOMI_RESET]
gcode:
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=probing VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=qgling VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=heating_nozzle VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=heating_bed VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=filament_pull VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=filament_push VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=filament_purge VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=filament_cut VALUE=False
    SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=nozzle_cleaning VALUE=False

To tell your KNOMI what information to display, you can use the official KNOMI macros.

Warning

Note that the official macros are known to cause bugs with some configurations. If this happens to you, you can change the value of the “_KNOMI_STATUS” variables yourself by setting them to true or false inside your Klipper macros.

About

This is a fork of the KNOMI v2 firmware for the cheap Waveshare esp32-s3 touch lcd 128 and esp32-c3 SuperMini

Topics

Resources

Stars

Watchers

Forks

Languages

  • C 99.2%
  • Other 0.8%