ESP32: Difference between revisions

From Network Security Wiki
Content added Content deleted
 
Line 21: Line 21:




* Flashing the Bootloader:
== Flashing the Bootloader ==


invalid header: 0xffffffff

Detected overlap at address: 0x8000 for file:

To flash all build output, run 'make flash' or:
python /home/virtpc/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port COM4 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio - flash_freq 40m --flash_size detect
0x1000 /home/virtpc/esp/esp-idf/examples/system/ota/native_ota_example/build/bootloader/bootloader.bin
0x10000 /home/virtpc/esp/esp-idf/examples/system/ota/native_ota_example/build/sntp.bin
0x8000 /home/virtpc/esp/esp-idf/examples/system/ota/native_ota_example/build/partitions_two_ota.bin

Here you can see that 3 bin files are written to the following addresses:
0x1000 bootloader.bin,
0x8000 partitions_two_ota.bin.
0x10000 native_ota_example.bin - application,


If you get this error in console, Likely bootloader is corrupt or erased:
invalid header: 0xffffffff


Download new bootloader file from this Zip file:
https://docs.espressif.com/projects/esp-at/en/release-v2.4.0.0/esp32c3/AT_Binary_Lists/ESP32-C3_AT_binaries.html
https://docs.espressif.com/projects/esp-at/en/release-v2.4.0.0/esp32c3/AT_Binary_Lists/ESP32-C3_AT_binaries.html


Install the bootloader at 0x0 location:
esptool.py --port /dev/ttyACM0 --baud 9600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_size detect 0x0 bootloader.bin
esptool.py --port /dev/ttyACM0 --baud 9600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_size detect 0x0 bootloader.bin




* If you get this error while installing both bootloader & the Application files:
E (540) esp_image: Image length 1339808 doesn't fit in partition length 1114112
Detected overlap at address: 0x8000 for file:
;31mE (541) boot: Factory app partition is not bootable

E (543) boot: No bootable app partitions in the partition table
You need to give proper space between the files:
0x1000 bootloader.bin 0x8000 esp32-idf4-20191220-v1.12.bin


* If you see these error in Console:
E (540) esp_image: Image length 1339808 doesn't fit in partition length 1114112
;31mE (541) boot: Factory app partition is not bootable
E (543) boot: No bootable app partitions in the partition table


Or:
E (54) flash_parts: partition 0 invalid magic number 0x6e9
E (60) boot: Failed to verify partition table
E (65) boot: load partition table error!


Most likely the Bootloader is installed but there is no application installed or is not bootable.
E (54) flash_parts: partition 0 invalid magic number 0x6e9
E (60) boot: Failed to verify partition table
E (65) boot: load partition table error!


= Projects =
= Projects =

Latest revision as of 00:53, 2 May 2024


Pinout

        This section is under construction.

Installation

Download the firmware:

http://micropython.org/download/esp32/
  • Non-SPIRAM firmware will work on any board, whereas SPIRAM enabled firmware will only work on boards with 4MiB of external pSRAM.
  • Firmware built with ESP-IDF v3.x has support for BLE, LAN and PPP.
  • Firmware built with ESP-IDF v4.x, has support for BLE, but no LAN or PPP.
  • If in doubt use v3.x.

Flashing the Firmware:

esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-idf4-20191220-v1.12.bin


Flashing the Bootloader

If you get this error in console, Likely bootloader is corrupt or erased:

invalid header: 0xffffffff

Download new bootloader file from this Zip file:

https://docs.espressif.com/projects/esp-at/en/release-v2.4.0.0/esp32c3/AT_Binary_Lists/ESP32-C3_AT_binaries.html

Install the bootloader at 0x0 location:

esptool.py --port /dev/ttyACM0 --baud 9600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_size detect 0x0 bootloader.bin


  • If you get this error while installing both bootloader & the Application files:
Detected overlap at address: 0x8000 for file:

You need to give proper space between the files:

0x1000 bootloader.bin  0x8000 esp32-idf4-20191220-v1.12.bin
  • If you see these error in Console:
E (540) esp_image: Image length 1339808 doesn't fit in partition length 1114112
;31mE (541) boot: Factory app partition is not bootable
E (543) boot: No bootable app partitions in the partition table

Or:

E (54) flash_parts: partition 0 invalid magic number 0x6e9
E (60) boot: Failed to verify partition table
E (65) boot: load partition table error!

Most likely the Bootloader is installed but there is no application installed or is not bootable.

Projects

I2C LCD

Source: github.com

  • Download the below library file from below link & upload it to ESP32:
https://github.com/micropython-Chinese-Community/mpy-lib/tree/master/lcd/I2C_LCD1602
- mp_i2c_lcd1602.py
  • Connect the ESP32 to I2C LCD-1602 as below:
P5 ---------------- SCL
P4 ---------------- SDA
GND --------------- GND
5V ---------------- VCC
  • Testing the LCD:
i2c = I2C(1, sda=Pin(4), scl=Pin(5))
i2c.scan() 
lcd = LCD1602(i2c)
lcd.puts("Initializing..",0,0)


  • Print the output on the LCD:
from machine import I2C, Pin
from mp_i2c_lcd1602 import LCD1602
from time import sleep_ms

i2c = I2C(1, sda=Pin(9), scl=Pin(10))

LCD = LCD1602(i2c)

LCD.puts("I2C LCD1602")
n = 0
while 1:
    LCD.puts(n, 0, 1)
    n += 1
    sleep_ms(1000)



References





{{#widget:DISQUS |id=networkm |uniqid=ESP32 |url=https://aman.awiki.org/wiki/ESP32 }}