Firmware ESP32-WROVER-KIT 4.1 ready to use

Hi all,

This week-end i don’t have access to my PC. Could someone provide me with a firmware.bin?

I will use “esptool” on my brother’s PC.

Thank you

Hi all,

I try to build a lv_micropython for my ESP32-WROVER-kit. I’m on raspberry PI4, today :

  1. sudo apt-get install build-..... OK
  2. git clone --recurse-submodules ... OK
  3. cd lv_micropython ... OK
  4. make -C mpy-cross ... OK
  5. make -C ports/unix/ ... OK
  6. ./ports/unix/micropython ... OK
pi@raspberrypi:~/lv_micropython $ ./ports/unix/micropython
MicroPython v1.9.4-2909-g19e1ce77c on 2020-11-17; linux version
Use Ctrl-D to exit, Ctrl-E for paste mode
>>>

but here, i have a problem

make -C mpy-cross ... OK
make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy

pi@raspberrypi:~/lv_micropython $ make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy
make : on entre dans le répertoire « /home/pi/lv_micropython/ports/esp32 »
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
** WARNING **
The git hash of ESP IDF does not match the supported version
The build may complete and the firmware may work but it is not guaranteed
ESP IDF path:       /home/pi/esp/esp-idf
Current git hash:   463a9d8b7f9af8205222b80707f9bdbba7c530e1
Supported git hash (v3.3): 9e70825d1e1cbf7988cf36981774300066580ea7
Supported git hash (v4.0) (experimental): 4c81978a3e2220674a432a588292a4c860eef27b
find: ‘/home/pi/esp/esp-idf/components/nghttp/private_include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/xtensa-debug-module/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/smartconfig_ack/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/ethernet/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/json/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/json/port/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/micro-ecc/micro-ecc’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/porting/nimble/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/port/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/ans/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/bas/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/gap/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/gatt/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/ias/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/lls/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/services/tps/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/util/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/store/ram/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/nimble/host/store/config/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/porting/npl/freertos/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/nimble/ext/tinycrypt/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/esp/esp-idf/components/nimble/esp-hci/include’: Aucun fichier ou dossier de ce type
GEN build-GENERIC_SPIRAM/sdkconfig.h
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/bootloader/subproject/main/
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/bootloader_support/src/
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/log/
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/soc/esp32/
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/soc/src/
mkdir -p build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/spi_flash/
CC /home/pi/esp/esp-idf/components/bootloader_support/src/bootloader_clock.c
/home/pi/esp/esp-idf/components/bootloader_support/src/bootloader_clock.c:14:10: fatal error: esp32/rom/uart.h: No such file or directory
 #include "esp32/rom/uart.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1016: build-GENERIC_SPIRAM/bootloader//home/pi/esp/esp-idf/components/bootloader_support/src/bootloader_clock.o] Error 1
make : on quitte le répertoire « /home/pi/lv_micropython/ports/esp32 »

This is where I am lost, I don’t understand the link with ESP-IDF.
The error tells me: wrong ESPIDF version, but how to change ?

can you help me ?

Thank you

Hi @PAT,

This is explained in the README.

Hi @amirgon,

After modification with hash IDF 4. I have this problem :

/home/pi/src/github.com/espressif/esp-idf.git/components/esp32/clk.c: In function 'select_rtc_slow_clk':
/home/pi/src/github.com/espressif/esp-idf.git/components/esp32/clk.c:179:26: error: 'CONFIG_ESP32_RTC_XTAL_CAL_RETRY' undeclared (first use in this function); did you mean 'CONFIG_ESP32_RTC_CLK_CAL_CYCLES'?
     int retry_32k_xtal = CONFIG_ESP32_RTC_XTAL_CAL_RETRY;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          CONFIG_ESP32_RTC_CLK_CAL_CYCLES
/home/pi/src/github.com/espressif/esp-idf.git/components/esp32/clk.c:179:26: note: each undeclared identifier is reported only once for each function it appears in
make: *** [../../py/mkrules.mk:63: build-GENERIC_SPIRAM//home/pi/src/github.com/espressif/esp-idf.git/components/esp32/clk.o] Error 1
make : on quitte le répertoire « /home/pi/lv_micropython/ports/esp32 »

I’m sorry but I’m starting with the compilation tools.

Thank you

Well, it looks like something is wrong with your local git repos.

CONFIG_ESP32_RTC_XTAL_CAL_RETRY is defined in Kconfig in esp-idf, and is processed by lv_micropython esp32 Makefile.

When you build the esp32 port, the Makefile generates ports/esp32/build-GENERIC_SPIRAM/sdkconfig.h from the Kconfig files - and CONFIG_ESP32_RTC_XTAL_CAL_RETRY should to be defined in that file.

If it’s not (and you get this error) then you probably did something wrong when cloning/pulling/updating your local esp-idf git repository (or lv_micropython repo).

I suggest you try again from scratch and document every step you take.

Hi,

thank you for taking time with beginners

You were right, I didn’t understand what I was doing.
Now it’s working.

pi@raspberrypi:~/lv_micropython $ make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy
make : on entre dans le répertoire « /home/pi/lv_micropython/ports/esp32 »
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Building with ESP IDF v4
find: ‘/home/pi/src/github.com/espressif/esp-idf/components/nghttp/private_include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/src/github.com/espressif/esp-idf/components/xtensa-debug-module/include’: Aucun fichier ou dossier de ce type
find: ‘/home/pi/src/github.com/espressif/esp-idf/components/smartconfig_ack/include’: Aucun fichier ou dossier de ce type
Writing build-GENERIC_SPIRAM/firmware.bin to the board
esptool.py v2.8
Serial port /dev/ttyUSB1
Connecting....
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, BLK3 partially reserved, Coding Scheme 3/4
Crystal is 40MHz
MAC: 84:0d:8e:18:8c:5c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 2287856 bytes to 1364524...
Wrote 2287856 bytes (1364524 compressed) at 0x00001000 in 32.6 seconds (effective 561.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
make : on quitte le répertoire « /home/pi/lv_micropython/ports/esp32 »

But I have a problem here :

>>> import lvgl as lv  # import LittlevGL
>>> from ili9341 import ili9341  
>>> MADCTL_MH = const(0x04)
>>> MADCTL_ML = const(0x10)
>>> MADCTL_MV = const(0x20)
>>> MADCTL_MX = const(0x40)
>>> MADCTL_MY = const(0x80)
>>> PORTRAIT = MADCTL_MX
>>> LANDSCAPE = MADCTL_MV
>>> PERIOD_DSP = 300  # display update period in ms
>>> PERIOD_BEEP = 500
>>> BEEP_FREQ1 = 1175
>>> BEEP_FREQ2 = 783
>>> lv.init()
>>> disp = ili9341(miso=25, mosi=23, clk=19, cs=22, dc=21, rst=18, power=-1, backlight=-1, rot=LANDSCAPE, width=320, height=240, hybrid=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "ili9XXX.py", line 459, in __init__
RuntimeError: ili9341 micropython driver requires defining LV_COLOR_DEPTH=16
>>> 

i have make with a correct flag ? no ?

make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16 -DLV_COLOR_16_SWAP=1" BOARD=GENERIC_SPIRAM deploy

Thank you

Great!

Try to run make clean first, and then the make command line above.

Perfect ! After the clean all it’s ok

Thank you