diff --git a/CYD-Klipper/boards/esp32-JC8048W550.json b/CYD-Klipper/boards/esp32-JC8048W550.json new file mode 100644 index 0000000..4b3b03c --- /dev/null +++ b/CYD-Klipper/boards/esp32-JC8048W550.json @@ -0,0 +1,142 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "partitions": "default_16MB.csv", + "memory_type": "qio_opi" + }, + "core": "esp32", + "extra_flags": [ + "'-D ARDUINO_ESP32S3_DEV'", + "'-D BOARD_HAS_PSRAM'", + "'-D ARDUINO_USB_MODE=1'", + "'-D ARDUINO_RUNNING_CORE=1'", + "'-D ARDUINO_EVENT_RUNNING_CORE=1'", + "'-D ARDUINO_USB_CDC_ON_BOOT=0'", + "'-D JC8048W550'", + "'-D LCD_WIDTH=800'", + "'-D LCD_HEIGHT=480'", + "'-D LVGL_BUFFER_PIXELS=(LCD_WIDTH*LCD_HEIGHT)'", + "'-D LVGL_BUFFER_MALLOC_FLAGS=(MALLOC_CAP_SPIRAM|MALLOC_CAP_8BIT)'", + "'-D GPIO_BCKL=2'", + "'-D LCD_ST7262_PAR'", + "'-D ST7262_PANEL_CONFIG_CLK_SRC=LCD_CLK_SRC_PLL160M'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_PCLK_HZ=(14.2*1000000)'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_H_RES=LCD_WIDTH'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_V_RES=LCD_HEIGHT'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_PULSE_WIDTH=4'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_BACK_PORCH=8'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_FRONT_PORCH=8'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_PULSE_WIDTH=4'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_BACK_PORCH=8'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_FRONT_PORCH=8'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_HSYNC_IDLE_LOW=false'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_VSYNC_IDLE_LOW=false'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_DE_IDLE_HIGH=false'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_ACTIVE_NEG=true'", + "'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_IDLE_HIGH=false'", + "'-D ST7262_PANEL_CONFIG_DATA_WIDTH=16'", + "'-D ST7262_PANEL_CONFIG_SRAM_TRANS_ALIGN=4'", + "'-D ST7262_PANEL_CONFIG_PSRAM_TRANS_ALIGN=64'", + "'-D ST7262_PANEL_CONFIG_HSYNC_GPIO_NUM=39'", + "'-D ST7262_PANEL_CONFIG_VSYNC_GPIO_NUM=41'", + "'-D ST7262_PANEL_CONFIG_DE_GPIO_NUM=40'", + "'-D ST7262_PANEL_CONFIG_PCLK_GPIO_NUM=42'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_R0=8'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_R1=3'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_R2=46'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_R3=9'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_R4=1'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G0=5'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G1=6'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G2=7'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G3=15'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G4=16'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_G5=4'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_B0=45'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_B1=48'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_B2=47'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_B3=21'", + "'-D ST7262_PANEL_CONFIG_DATA_GPIO_B4=14'", + "'-D ST7262_PANEL_CONFIG_DISP_GPIO_NUM=GPIO_NUM_NC'", + "'-D ST7262_PANEL_CONFIG_FLAGS_DISP_ACTIVE_LOW=false'", + "'-D ST7262_PANEL_CONFIG_FLAGS_RELAX_ON_IDLE=false'", + "'-D ST7262_PANEL_CONFIG_FLAGS_FB_IN_PSRAM=true'", + "'-D BOARD_HAS_TOUCH'", + "'-D TOUCH_GT911_I2C'", + "'-D GT911_I2C_HOST=I2C_NUM_0'", + "'-D GT911_I2C_CONFIG_SDA_IO_NUM=19'", + "'-D GT911_I2C_CONFIG_SCL_IO_NUM=20'", + "'-D GT911_I2C_CONFIG_SDA_PULLUP_EN=GPIO_PULLUP_DISABLE'", + "'-D GT911_I2C_CONFIG_SCL_PULLUP_EN=GPIO_PULLUP_DISABLE'", + "'-D GT911_I2C_CONFIG_MASTER_CLK_SPEED=400000'", + "'-D GT911_I2C_CONFIG_CLK_FLAGS=I2C_SCLK_SRC_FLAG_FOR_NOMAL'", + "'-D GT911_IO_I2C_CONFIG_DEV_ADDR=ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS'", + "'-D GT911_IO_I2C_CONFIG_CONTROL_PHASE_BYTES=1'", + "'-D GT911_IO_I2C_CONFIG_DC_BIT_OFFSET=0'", + "'-D GT911_IO_I2C_CONFIG_LCD_CMD_BITS=16'", + "'-D GT911_IO_I2C_CONFIG_LCD_PARAM_BITS=0'", + "'-D GT911_IO_I2C_CONFIG_FLAGS_DC_LOW_ON_DATA=false'", + "'-D GT911_IO_I2C_CONFIG_FLAGS_DISABLE_CONTROL_PHASE=true'", + "'-D GT911_TOUCH_CONFIG_X_MAX=LCD_WIDTH'", + "'-D GT911_TOUCH_CONFIG_Y_MAX=LCD_HEIGHT'", + "'-D GT911_TOUCH_CONFIG_RST_GPIO_NUM=38'", + "'-D GT911_TOUCH_CONFIG_INT_GPIO_NUM=18'", + "'-D GT911_TOUCH_CONFIG_LEVELS_RESET=0'", + "'-D GT911_TOUCH_CONFIG_LEVELS_INTERRUPT=0'", + "'-D TOUCH_SWAP_XY=false'", + "'-D TOUCH_SWAP_X=false'", + "'-D TOUCH_SWAP_Y=false'", + "'-D BOARD_HAS_TF'", + "'-D TF_CS=10'", + "'-D TF_SPI_MOSI=11'", + "'-D TF_SPI_SCLK=12'", + "'-D TF_SPI_MISO=13'", + "-DCYD_SCREEN_HEIGHT_PX=LCD_HEIGHT", + "-DCYD_SCREEN_WIDTH_PX=LCD_WIDTH", + "-DROTATION_INVERTED=LV_DISP_ROT_180", + "-DROTATION_NORMAL=LV_DISP_ROT_NONE", + "-DCYD_SCREEN_GAP_PX=15", + "-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=60", + "-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=60", + "-DCYD_SCREEN_FONT=lv_font_montserrat_22", + "-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_16", + "-DCYD_SCREEN_SIDEBAR_SIZE_PX=70", + "-DCYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY=0", + "-DCYD_SCREEN_DISABLE_TOUCH_CALIBRATION=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "esp32s3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "esp32-JC8048W550", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.aliexpress.com/item/1005006715581887.html", + "vendor": "Guition" +} diff --git a/CYD-Klipper/platformio.ini b/CYD-Klipper/platformio.ini index ee36d08..f3c375c 100644 --- a/CYD-Klipper/platformio.ini +++ b/CYD-Klipper/platformio.ini @@ -14,21 +14,21 @@ board = esp32dev framework = arduino monitor_speed = 115200 debug_build_flags = -Os -lib_deps = +lib_deps = https://github.com/suchmememanyskill/esp32-smartdisplay#9c1d737 bblanchon/ArduinoJson@^7.0.0 plageoj/UrlEncode@^1.0.1 knolleary/PubSubClient@^2.8 WiFiClientSecure monitor_filters = esp32_exception_decoder -build_flags = +build_flags = -DLV_CONF_PATH="../../../../src/conf/lv_conf.h" -extra_scripts = +extra_scripts = pre:extract_commit.py [env:esp32-2432S028R] board = esp32-2432S028R -lib_deps = +lib_deps = SPI https://github.com/suchmememanyskill/lvgl https://github.com/Bodmer/TFT_eSPI.git @@ -40,7 +40,7 @@ lib_deps = [env:esp32-3248S035C] board = esp32-3248S035C -lib_deps = +lib_deps = SPI https://github.com/suchmememanyskill/lvgl https://github.com/Bodmer/TFT_eSPI.git @@ -52,7 +52,7 @@ lib_deps = [env:esp32-3248S035C-V] board = esp32-3248S035C-vertical -lib_deps = +lib_deps = SPI https://github.com/suchmememanyskill/lvgl https://github.com/Bodmer/TFT_eSPI.git @@ -97,7 +97,7 @@ board = esp32-2432S022C-vertical [env:esp32-CROWPANEL-28R] board = esp32-CROWPANEL-28R -lib_deps = +lib_deps = SPI https://github.com/suchmememanyskill/lvgl https://github.com/Bodmer/TFT_eSPI.git @@ -108,7 +108,7 @@ lib_deps = [env:esp32-CROWPANEL-35C] board = esp32-CROWPANEL-35C -lib_deps = +lib_deps = SPI https://github.com/suchmememanyskill/lvgl https://github.com/lovyan03/LovyanGFX@1.2.0 @@ -117,3 +117,6 @@ lib_deps = knolleary/PubSubClient@^2.8 WiFiClientSecure + +[env:esp32-JC8048W550] +board = esp32-JC8048W550 diff --git a/README.md b/README.md index 5d52b2a..97c5b83 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,21 @@ If you found this project helpful, please consider a donation [to my Ko-Fi](http Thank you! +### Where to buy hardware +All links below are affiliate links. Please also check yourself if there is a cheaper version available than the ones below. I have only linked ones that i have personally bought. + +*ESP32-2432S028R (2.8" Resistive, Cheapest)* +- [USB C + microB version](https://s.click.aliexpress.com/e/_omjsYBJ) +- [Another USB C + microB version](https://s.click.aliexpress.com/e/_olKBkmz) +- [microB version](https://s.click.aliexpress.com/e/_oCWhgmN) + +*ESP32-2432S032C (3.2" Capacitive)* +- [Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_okbSGmd) +- [IPS version (not that great of a screen), Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_oFygVwt) + +*ESP32-3248S035C (3.5" Capacitive)* +- [microB version](https://s.click.aliexpress.com/e/_oCqygE9) + ### Screenshots (Quite literally shots of the screen. I'm sorry) diff --git a/_site/index.html b/_site/index.html index d3409ff..744aa04 100644 --- a/_site/index.html +++ b/_site/index.html @@ -8,7 +8,7 @@ font-family: 'Roboto', sans-serif; } - TT { + TT { font-family: 'Terminal', monospace; background-color: #080a0b; } @@ -24,7 +24,8 @@ max-width: 750px; } - .main > section > :not(:first-child) { + .main > section > :not(:first-child), + .indent { margin-left: 20px; } @@ -44,6 +45,17 @@ #changelog-body { white-space: break-spaces; } + + .where-to-get details summary::marker + { + content: ''; + } + + .where-to-get details[open] summary p + { + display: none; + } + @@ -83,6 +95,34 @@
If you found this project helpful, please consider a donation to my Ko-Fi.
It would help out a lot in the development of this project, due to the need to buy the screens.
Thank you!
(Click to expand)
+All links below are affiliate links. Please also check yourself if there is a cheaper version available than the ones below. I have only linked ones that i have personally bought.
+ ESP32-2432S028R (2.8" Resistive, Cheapest) + + ESP32-2432S032C (3.2" Capacitive) +If you experience any issues with this project, or have any feature requests for the project, please report them on the issues tab on Github.
@@ -101,6 +141,7 @@ + diff --git a/ci.py b/ci.py index 2aa9040..b560e4e 100644 --- a/ci.py +++ b/ci.py @@ -12,6 +12,7 @@ CYD_PORTS = [ #"esp32-4827S043R-SD", "esp32-CROWPANEL-28R", "esp32-CROWPANEL-35C", + "esp32-JC8048W550", ] ESP_S3_CHIPS = [ @@ -19,6 +20,7 @@ ESP_S3_CHIPS = [ "esp32-8048S043C-SD-alt", "esp32-4827S043C-SD", "esp32-CROWPANEL-35C", + "esp32-JC8048W550", ] BASE_DIR = os.getcwd()