-
Notifications
You must be signed in to change notification settings - Fork 190
Home
At the moment the only existing documentation is on epdiy.readthedocs.io Please have a nice read over there. I will research on how to make a sync, if possible, between readthedocs and this github Wiki.
- If possible the sync should only overwrite pages with the same name
- Letting us generate special pages with more in deep technical info or test for Boards, Displays, etc.
Branch: s3_lcd Color experimentation: s3_color_implementation
How to build the Firmware
Make sure to let idf know you will use the S3 target MCU. IDF required version: 5. Other lower versions will simply not work. In Linux I add this after setting the IDF_PATH in .profile
alias prep_idf="source $IDF_PATH/export.sh"
Then you can simply type prep_idf in the console so it calls automatically export.sh and then you can simply type idf.py to access the IDF toolchain.
idf.py set-target esp32s3
Configure the menuconfig selecting the right epdiy driver Board (V7) and the epaper you are testing
idf.py menuconfig
While there, make sure you enable PSRAM (Octal for this board)
Component config --> ESP PSRAM --> Enable SPI-connected RAM --> Config --> QUAD/OCT
Set RAM clock speed (80MHz clock speed)
SPI RAM access method (Make RAM allocatable using heap_caps_malloc(..., MALLOC_CAP_SPIRAM))
Additionally:
System Settings --> CPU frequency (240 MHz)
System Settings --> Cache Config --> Data cache line size (64 Bytes)
This Data cache line size is essential to cope with the parallel speeds proposed for different displays in s3_lcd branch. Leaving that in 32 bytes will force you to downgrade bus_speed in displays.c
EpdiyHighlevelState hl;
void app_main() {
// Optionally check external RAM info:
heap_caps_print_heap_info(MALLOC_CAP_SPIRAM);
// Initialize the board. Settings: epdiy/boards Display settings: displays.c
epd_init(&epd_board_v7, &ED060XC3, EPD_LUT_64K);
// Set VCOM for boards that allow to set this in software (in mV).
// This will print an error if unsupported. In this case,
// set VCOM using the hardware potentiometer and delete this line.
epd_set_vcom(1560);
hl = epd_hl_init(WAVEFORM);
}
Improving Overall Speed in Espressif MCUs
WiKi written by Martin Fasani & collaborators. Please send your suggestions / technical corrections to martin[AT]cale.es
epdiy.readthedocs.io WiKi rev. 1.0.1 Last updated Sept, 2023. Firmware & Hardware: vroland WiKi: martinberlin & collaborators