ESP32: Difference between revisions
Content added Content deleted
m (Protected "ESP32" ([Edit=Allow only logged in users] (indefinite) [Move=Allow only logged in users] (indefinite) [Delete=Allow only logged in users] (indefinite))) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
<br /> |
<br /> |
||
= |
= Pinout = |
||
{{UC}} |
{{UC}} |
||
Line 19: | Line 19: | ||
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash |
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 |
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 = |
= 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
}}