-
Notifications
You must be signed in to change notification settings - Fork 187
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: master 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
Check the menuconfig settings just to make sure they are correct. Usually in the examples just setting the target to esp32s3 should take the right defaults:
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)
NOTE: You can go to 120 Mhz RAM clock speed ticking the "Experimental settings" but that didn't prove for me to make much of a difference
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 when using the new version 7 board. 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