Skip to content

Waveshare esp32 c5 lcd 1 47 - #11480

Open
dglaude wants to merge 10 commits into
adafruit:mainfrom
dglaude:waveshare_esp32_c5_lcd_1_47
Open

dglaude wants to merge 10 commits into
adafruit:mainfrom
dglaude:waveshare_esp32_c5_lcd_1_47

Conversation

@dglaude

@dglaude dglaude commented Sep 30, 2026

Copy link
Copy Markdown

Please consider this for first review...

This has been vibe coded with Gemini using as base espressif_esp32c5_devkitc_1_n8r8 for the C5 support and waveshare_esp32_c5_lcd_1_47 for the LCD support. Works for me (even if it deserve more tests).
RGB is working, Wifi kind of work and show me my 5G wifi.
Web Workflow has been tested and I uploaded library with circup.
The screen is initialized and show the REPL.
I did not test the microSD yet.

Some settings are either conservative or just contradictory between what is in sdkconfig and in mpconfigboard.mk, like should I use dio or qio, is the Flash frequency right?

Why am I using both CIRCUITPY_ESP_FLASH_MODE and FLASH_MODE?
Or CIRCUITPY_ESP_FLASH_SIZE and FLASH_SIZE ... one of each should be the only one needed.

And it could have some improvement such as adding:
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1 (should I)

I have so many questions on the code produced, human review or better LLM review is welcome.

@tannewt tannewt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Testing is super helpful on its own.

Comment on lines +9 to +10
FLASH_MODE = dio
FLASH_SIZE = 4MB

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try it without these. They shouldn't be needed.

Comment on lines +1 to +12
# Force Flash 4MB
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=n
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y

# Disable PSRAM (absent on C5FH4)
CONFIG_SPIRAM=n

# Native USB Serial / JTAG console
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be implied by the settings in mpconfigboard.mk.

Removed redundant FLASH_MODE and FLASH_SIZE definitions.
Let's try to have more flash space.

This code:
import os; s = os.statvfs('/'); print(f"Total: {s[0]*s[2]/1048576:.2f} MB | Free: {s[0]*s[3]/1048576:.2f} MB")

Was reporting 1,17 MB before this change.
Removed specific flash and PSRAM configurations in favor of defaults.
Fix to MANUFACTURE to Waveshare
Reorg the variable
Make use of all flash on 4MB board
Make sure we have board.DISPLAY available.
Help define board.DISPLAY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants