Skip to content

Commit 5b77702

Browse files
feat: add Guition JC8048W550 display support (#185)
* Update readme * Update README.md * Add aliexpress links * feat: add Guition JC8048W550 display support * feat: adjust configuration for board * feat: add option for jc8048w550 on page and in ci script * fix: missing CYD_PORTS entry --------- Co-authored-by: Sims <38142618+suchmememanyskill@users.noreply.github.com>
1 parent 04a3b78 commit 5b77702

5 files changed

Lines changed: 213 additions & 10 deletions

File tree

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"ldscript": "esp32s3_out.ld",
5+
"partitions": "default_16MB.csv",
6+
"memory_type": "qio_opi"
7+
},
8+
"core": "esp32",
9+
"extra_flags": [
10+
"'-D ARDUINO_ESP32S3_DEV'",
11+
"'-D BOARD_HAS_PSRAM'",
12+
"'-D ARDUINO_USB_MODE=1'",
13+
"'-D ARDUINO_RUNNING_CORE=1'",
14+
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
15+
"'-D ARDUINO_USB_CDC_ON_BOOT=0'",
16+
"'-D JC8048W550'",
17+
"'-D LCD_WIDTH=800'",
18+
"'-D LCD_HEIGHT=480'",
19+
"'-D LVGL_BUFFER_PIXELS=(LCD_WIDTH*LCD_HEIGHT)'",
20+
"'-D LVGL_BUFFER_MALLOC_FLAGS=(MALLOC_CAP_SPIRAM|MALLOC_CAP_8BIT)'",
21+
"'-D GPIO_BCKL=2'",
22+
"'-D LCD_ST7262_PAR'",
23+
"'-D ST7262_PANEL_CONFIG_CLK_SRC=LCD_CLK_SRC_PLL160M'",
24+
"'-D ST7262_PANEL_CONFIG_TIMINGS_PCLK_HZ=(14.2*1000000)'",
25+
"'-D ST7262_PANEL_CONFIG_TIMINGS_H_RES=LCD_WIDTH'",
26+
"'-D ST7262_PANEL_CONFIG_TIMINGS_V_RES=LCD_HEIGHT'",
27+
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_PULSE_WIDTH=4'",
28+
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_BACK_PORCH=8'",
29+
"'-D ST7262_PANEL_CONFIG_TIMINGS_HSYNC_FRONT_PORCH=8'",
30+
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_PULSE_WIDTH=4'",
31+
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_BACK_PORCH=8'",
32+
"'-D ST7262_PANEL_CONFIG_TIMINGS_VSYNC_FRONT_PORCH=8'",
33+
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_HSYNC_IDLE_LOW=false'",
34+
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_VSYNC_IDLE_LOW=false'",
35+
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_DE_IDLE_HIGH=false'",
36+
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_ACTIVE_NEG=true'",
37+
"'-D ST7262_PANEL_CONFIG_TIMINGS_FLAGS_PCLK_IDLE_HIGH=false'",
38+
"'-D ST7262_PANEL_CONFIG_DATA_WIDTH=16'",
39+
"'-D ST7262_PANEL_CONFIG_SRAM_TRANS_ALIGN=4'",
40+
"'-D ST7262_PANEL_CONFIG_PSRAM_TRANS_ALIGN=64'",
41+
"'-D ST7262_PANEL_CONFIG_HSYNC_GPIO_NUM=39'",
42+
"'-D ST7262_PANEL_CONFIG_VSYNC_GPIO_NUM=41'",
43+
"'-D ST7262_PANEL_CONFIG_DE_GPIO_NUM=40'",
44+
"'-D ST7262_PANEL_CONFIG_PCLK_GPIO_NUM=42'",
45+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R0=8'",
46+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R1=3'",
47+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R2=46'",
48+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R3=9'",
49+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_R4=1'",
50+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G0=5'",
51+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G1=6'",
52+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G2=7'",
53+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G3=15'",
54+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G4=16'",
55+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_G5=4'",
56+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B0=45'",
57+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B1=48'",
58+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B2=47'",
59+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B3=21'",
60+
"'-D ST7262_PANEL_CONFIG_DATA_GPIO_B4=14'",
61+
"'-D ST7262_PANEL_CONFIG_DISP_GPIO_NUM=GPIO_NUM_NC'",
62+
"'-D ST7262_PANEL_CONFIG_FLAGS_DISP_ACTIVE_LOW=false'",
63+
"'-D ST7262_PANEL_CONFIG_FLAGS_RELAX_ON_IDLE=false'",
64+
"'-D ST7262_PANEL_CONFIG_FLAGS_FB_IN_PSRAM=true'",
65+
"'-D BOARD_HAS_TOUCH'",
66+
"'-D TOUCH_GT911_I2C'",
67+
"'-D GT911_I2C_HOST=I2C_NUM_0'",
68+
"'-D GT911_I2C_CONFIG_SDA_IO_NUM=19'",
69+
"'-D GT911_I2C_CONFIG_SCL_IO_NUM=20'",
70+
"'-D GT911_I2C_CONFIG_SDA_PULLUP_EN=GPIO_PULLUP_DISABLE'",
71+
"'-D GT911_I2C_CONFIG_SCL_PULLUP_EN=GPIO_PULLUP_DISABLE'",
72+
"'-D GT911_I2C_CONFIG_MASTER_CLK_SPEED=400000'",
73+
"'-D GT911_I2C_CONFIG_CLK_FLAGS=I2C_SCLK_SRC_FLAG_FOR_NOMAL'",
74+
"'-D GT911_IO_I2C_CONFIG_DEV_ADDR=ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS'",
75+
"'-D GT911_IO_I2C_CONFIG_CONTROL_PHASE_BYTES=1'",
76+
"'-D GT911_IO_I2C_CONFIG_DC_BIT_OFFSET=0'",
77+
"'-D GT911_IO_I2C_CONFIG_LCD_CMD_BITS=16'",
78+
"'-D GT911_IO_I2C_CONFIG_LCD_PARAM_BITS=0'",
79+
"'-D GT911_IO_I2C_CONFIG_FLAGS_DC_LOW_ON_DATA=false'",
80+
"'-D GT911_IO_I2C_CONFIG_FLAGS_DISABLE_CONTROL_PHASE=true'",
81+
"'-D GT911_TOUCH_CONFIG_X_MAX=LCD_WIDTH'",
82+
"'-D GT911_TOUCH_CONFIG_Y_MAX=LCD_HEIGHT'",
83+
"'-D GT911_TOUCH_CONFIG_RST_GPIO_NUM=38'",
84+
"'-D GT911_TOUCH_CONFIG_INT_GPIO_NUM=18'",
85+
"'-D GT911_TOUCH_CONFIG_LEVELS_RESET=0'",
86+
"'-D GT911_TOUCH_CONFIG_LEVELS_INTERRUPT=0'",
87+
"'-D TOUCH_SWAP_XY=false'",
88+
"'-D TOUCH_SWAP_X=false'",
89+
"'-D TOUCH_SWAP_Y=false'",
90+
"'-D BOARD_HAS_TF'",
91+
"'-D TF_CS=10'",
92+
"'-D TF_SPI_MOSI=11'",
93+
"'-D TF_SPI_SCLK=12'",
94+
"'-D TF_SPI_MISO=13'",
95+
"-DCYD_SCREEN_HEIGHT_PX=LCD_HEIGHT",
96+
"-DCYD_SCREEN_WIDTH_PX=LCD_WIDTH",
97+
"-DROTATION_INVERTED=LV_DISP_ROT_180",
98+
"-DROTATION_NORMAL=LV_DISP_ROT_NONE",
99+
"-DCYD_SCREEN_GAP_PX=15",
100+
"-DCYD_SCREEN_MIN_BUTTON_HEIGHT_PX=60",
101+
"-DCYD_SCREEN_MIN_BUTTON_WIDTH_PX=60",
102+
"-DCYD_SCREEN_FONT=lv_font_montserrat_22",
103+
"-DCYD_SCREEN_FONT_SMALL=lv_font_montserrat_16",
104+
"-DCYD_SCREEN_SIDEBAR_SIZE_PX=70",
105+
"-DCYD_SCREEN_DRIVER_ESP32_SMARTDISPLAY=0",
106+
"-DCYD_SCREEN_DISABLE_TOUCH_CALIBRATION=1"
107+
],
108+
"f_cpu": "240000000L",
109+
"f_flash": "80000000L",
110+
"flash_mode": "qio",
111+
"hwids": [
112+
[
113+
"0x303A",
114+
"0x1001"
115+
]
116+
],
117+
"mcu": "esp32s3",
118+
"variant": "esp32s3"
119+
},
120+
"connectivity": [
121+
"wifi"
122+
],
123+
"debug": {
124+
"openocd_target": "esp32s3.cfg"
125+
},
126+
"frameworks": [
127+
"arduino",
128+
"espidf"
129+
],
130+
"name": "esp32-JC8048W550",
131+
"upload": {
132+
"flash_size": "16MB",
133+
"maximum_ram_size": 327680,
134+
"maximum_size": 16777216,
135+
"use_1200bps_touch": true,
136+
"wait_for_upload_port": true,
137+
"require_upload_port": true,
138+
"speed": 460800
139+
},
140+
"url": "https://www.aliexpress.com/item/1005006715581887.html",
141+
"vendor": "Guition"
142+
}

CYD-Klipper/platformio.ini

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ board = esp32dev
1414
framework = arduino
1515
monitor_speed = 115200
1616
debug_build_flags = -Os
17-
lib_deps =
17+
lib_deps =
1818
https://github.com/suchmememanyskill/esp32-smartdisplay#9c1d737
1919
bblanchon/ArduinoJson@^7.0.0
2020
plageoj/UrlEncode@^1.0.1
2121
knolleary/PubSubClient@^2.8
2222
WiFiClientSecure
2323
monitor_filters = esp32_exception_decoder
24-
build_flags =
24+
build_flags =
2525
-DLV_CONF_PATH="../../../../src/conf/lv_conf.h"
26-
extra_scripts =
26+
extra_scripts =
2727
pre:extract_commit.py
2828

2929
[env:esp32-2432S028R]
3030
board = esp32-2432S028R
31-
lib_deps =
31+
lib_deps =
3232
SPI
3333
https://github.com/suchmememanyskill/lvgl
3434
https://github.com/Bodmer/TFT_eSPI.git
@@ -40,7 +40,7 @@ lib_deps =
4040

4141
[env:esp32-3248S035C]
4242
board = esp32-3248S035C
43-
lib_deps =
43+
lib_deps =
4444
SPI
4545
https://github.com/suchmememanyskill/lvgl
4646
https://github.com/Bodmer/TFT_eSPI.git
@@ -52,7 +52,7 @@ lib_deps =
5252

5353
[env:esp32-3248S035C-V]
5454
board = esp32-3248S035C-vertical
55-
lib_deps =
55+
lib_deps =
5656
SPI
5757
https://github.com/suchmememanyskill/lvgl
5858
https://github.com/Bodmer/TFT_eSPI.git
@@ -97,7 +97,7 @@ board = esp32-2432S022C-vertical
9797

9898
[env:esp32-CROWPANEL-28R]
9999
board = esp32-CROWPANEL-28R
100-
lib_deps =
100+
lib_deps =
101101
SPI
102102
https://github.com/suchmememanyskill/lvgl
103103
https://github.com/Bodmer/TFT_eSPI.git
@@ -108,7 +108,7 @@ lib_deps =
108108

109109
[env:esp32-CROWPANEL-35C]
110110
board = esp32-CROWPANEL-35C
111-
lib_deps =
111+
lib_deps =
112112
SPI
113113
https://github.com/suchmememanyskill/lvgl
114114
https://github.com/lovyan03/LovyanGFX@1.2.0
@@ -117,3 +117,6 @@ lib_deps =
117117
knolleary/PubSubClient@^2.8
118118
WiFiClientSecure
119119

120+
121+
[env:esp32-JC8048W550]
122+
board = esp32-JC8048W550

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,21 @@ If you found this project helpful, please consider a donation [to my Ko-Fi](http
4242

4343
Thank you!
4444

45+
### Where to buy hardware
46+
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.
47+
48+
*ESP32-2432S028R (2.8" Resistive, Cheapest)*
49+
- [USB C + microB version](https://s.click.aliexpress.com/e/_omjsYBJ)
50+
- [Another USB C + microB version](https://s.click.aliexpress.com/e/_olKBkmz)
51+
- [microB version](https://s.click.aliexpress.com/e/_oCWhgmN)
52+
53+
*ESP32-2432S032C (3.2" Capacitive)*
54+
- [Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_okbSGmd)
55+
- [IPS version (not that great of a screen), Only the capacitive version is supported! USB-C](https://s.click.aliexpress.com/e/_oFygVwt)
56+
57+
*ESP32-3248S035C (3.5" Capacitive)*
58+
- [microB version](https://s.click.aliexpress.com/e/_oCqygE9)
59+
4560
### Screenshots
4661
(Quite literally shots of the screen. I'm sorry)
4762

_site/index.html

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
font-family: 'Roboto', sans-serif;
99
}
1010

11-
TT {
11+
TT {
1212
font-family: 'Terminal', monospace;
1313
background-color: #080a0b;
1414
}
@@ -24,7 +24,8 @@
2424
max-width: 750px;
2525
}
2626

27-
.main > section > :not(:first-child) {
27+
.main > section > :not(:first-child),
28+
.indent {
2829
margin-left: 20px;
2930
}
3031

@@ -44,6 +45,17 @@
4445
#changelog-body {
4546
white-space: break-spaces;
4647
}
48+
49+
.where-to-get details summary::marker
50+
{
51+
content: '';
52+
}
53+
54+
.where-to-get details[open] summary p
55+
{
56+
display: none;
57+
}
58+
4759
</style>
4860
<script type="module" src="https://unpkg.com/esp-web-tools@9/dist/web/install-button.js?module"></script>
4961
<script src="//code.iconify.design/1/1.0.6/iconify.min.js"></script>
@@ -83,6 +95,34 @@ <h3><span class="iconify" data-icon="mdi-heart" style="color:orangered; filter:
8395
<p>If you found this project helpful, please consider a donation to <a href="https://ko-fi.com/suchmememanyskill">my Ko-Fi</a>.<br>It would help out a lot in the development of this project, due to the need to buy the screens.<br>Thank you!</p>
8496
</section>
8597

98+
<section class="where-to-get">
99+
<details>
100+
<summary>
101+
<h3><span class="iconify" data-icon="mdi-shopping" style="color:orange; filter: drop-shadow(0 0 0.75rem orange);"></span> Where to buy hardware</h3>
102+
<p class="indent">(Click to expand)</p>
103+
</summary>
104+
<section class="indent">
105+
<p>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.</p>
106+
<i>ESP32-2432S028R (2.8" Resistive, Cheapest)</i>
107+
<ul>
108+
<li><a href="https://s.click.aliexpress.com/e/_omjsYBJ">USB C + microB version</a></li>
109+
<li><a href="https://s.click.aliexpress.com/e/_olKBkmz">Another USB C + microB version</a></li>
110+
<li><a href="https://s.click.aliexpress.com/e/_oCWhgmN">microB version</a></li>
111+
</ul>
112+
<i>ESP32-2432S032C (3.2" Capacitive)</i>
113+
<ul>
114+
<li><a href="https://s.click.aliexpress.com/e/_okbSGmd">Only the capacitive version is supported! USB-C</a></li>
115+
<li><a href="https://s.click.aliexpress.com/e/_oFygVwt">IPS version (not that great of a screen), Only the capacitive version is supported! USB-C</a></li>
116+
</ul>
117+
<i>ESP32-3248S035C (3.5" Capacitive)</i>
118+
<ul>
119+
<li><a href="https://s.click.aliexpress.com/e/_oCqygE9">microB version</a></li>
120+
</ul>
121+
</section>
122+
</details>
123+
124+
</section>
125+
86126
<section class="issues">
87127
<h3><span class="iconify" data-icon="mdi-github" style="color: white; filter: drop-shadow(0 0 0.75rem gray);"></span> Report Issues</h3>
88128
<p>If you experience any issues with this project, or have any feature requests for the project, please report them on the <a href="https://github.com/suchmememanyskill/CYD-Klipper/issues">issues tab on Github</a>.</p>
@@ -101,6 +141,7 @@ <h3><span class="iconify" data-icon="mdi-download"></span> Install</h3>
101141
<option value="esp32-8048S043C-SD">ESP32-8048S043 (4.3" 800x480 Capacitive)</option>
102142
<option value="esp32-8048S043C-SD-alt">ESP32-8048S043 Alt (4.3" 800x480 Capacitive)</option>
103143
<option value="esp32-CROWPANEL-28R">ESP32-CROWPANEL-28R (2.8" Resistive)</option>
144+
<option value="esp32-JC8048W550">Guition JC8048W550 (5" Capacitive)</option>
104145
<option value="esp32-CROWPANEL-35C">ESP32-CROWPANEL-35C (3.5" Capacitive)</option>
105146
</select>
106147
<span id="install-btn"></span>

ci.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212
#"esp32-4827S043R-SD",
1313
"esp32-CROWPANEL-28R",
1414
"esp32-CROWPANEL-35C",
15+
"esp32-JC8048W550",
1516
]
1617

1718
ESP_S3_CHIPS = [
1819
"esp32-8048S043C-SD",
1920
"esp32-8048S043C-SD-alt",
2021
"esp32-4827S043C-SD",
2122
"esp32-CROWPANEL-35C",
23+
"esp32-JC8048W550",
2224
]
2325

2426
BASE_DIR = os.getcwd()

0 commit comments

Comments
 (0)