ESP32

From Network Security Wiki


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:


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,


https://docs.espressif.com/projects/esp-at/en/release-v2.4.0.0/esp32c3/AT_Binary_Lists/ESP32-C3_AT_binaries.html
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


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


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

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 }}