Hi at all. I have a board with an esp32. I'm tring to find out how it works.
On my board there is TWO buttons, I would like to know the difference between the RESET button and the BOOT button.
For example i would like to know, for example, i press the reset button the microcontroller start from the location 0 of the EEPROM (or flash) and when i press the boot the microcontroller starts from .....
I would like to know the difference between the Flash and the EEPROM
My program is written and executed from the flash or from the eeprom?
I know that is very basic question but I do not have many knowgment
Sorry my eyes are not seeing what board you have. I know of a lot of boards with an ESP32 on them but I cannot see what you have. Post a link to a technical information on your board, they are not all the same.
The AZ-Delivery ESP32 NodeMcu WiFi CP2102 Module is 100% identical in construction to the original by the manufacturer Espressif. With many sensors and functions, this board opens up new possibilities in IoT development.
Like its predecessor ESP8266, the WLAN functionality is implemented directly in the SoC, but with additional Bluetooth functionality (incl. BLE).
The WLAN function supports all common encryption methods such as WPA2, it can also act as an access point or sniffer in passive mode in WLAN.
NodeMCU is an open source IoT platform. ESP32 is a series of low cost, low power system-on-chip (SoC) micro-controllers with integrated Wi-Fi & dual-mode Bluetooth.
The ESP32 series employs a Tenscillica Xtensa LX6 microprocessor in both dual-core and single-core variations, with a clock rate of up to 240 MHz and 512 kilobytes of SRAM.
ESP32 is highly integrated with built-in antenna switches, RF balun, power amplifier, low-noise amplifier, filters, and power management modules.
Features:
✔️ Able to achieve ultra-low power consumption
✔️ Built-in ESP-WROOM-32 chip
✔️ Breadboard Friendly module
✔️ Light Weight and small size
✔️ On-chip Hall and temperature sensor
✔️ Uses wireless protocol 802.11b/g/n and Bluetooth (Classic and LE).
✔️ Built-in wireless connectivity capabilites
✔️ Built-in PCB antenna on the ESP32-WROOM-32
✔️ Capable of PWM, I2C, SPI, UART, 1-wir, 1 analogue pin
✔️ Uses CP2102 USB Serial Communication interface module
✔️ Programmable with ESP-IDF Toolchain, LuaNode SDK supports Eclipse project (C language)
Wireless Standard FCC/CE/IC/TELEC/KCC/SRRC/NCC
Wireless Protocol 802.11 b/g/n/d/e/l/k/r
Frequency Range 2.4 - 2.5 GHz
Memory 4 MB Flash, 520KB SRAM
Wireless Form On-board PCB Antenna
Operating Temperature -40 to +125 °C
Wireless Network Type Station/ SoftAP/ SoftAP + Station/ P2P
Security Type WPA/ WPA2/ WPA2-Enterprise/ WPS
User Configuration AT+ Order Set, Web Andriod / iOS, Cloud Server
Firmware Upgrade UART Download / OTA / Host
Network Protocol IPv4, IPv6, SSL, TCP / UDP / FTP / HTTP / MQTT
Electrical Characteristic 3.3 V Operated, 15 mA output current per GPIO pin, 80 mA average working current
Bluetooth Specification NZIF Receiver with -98dBm sensitivity, Class-1 Class-2 and Class-3 transmitter, AFH, CVSD and SBC
It is my understanding that the ESP32 doesn't have EEPROM and, if you use something that looks like the Arduino 'EEPROM' library, the 'EEPROM' is emulated in FLASH.
The ESP boards, by default, use a pin setting to determine whether they should run the bootloader to upload new code, or just start the user code that is already there. That pin is connected to the "boot" button; holding the BOOT button and then RESET enters the ESP ROM Bootloader.
I believe that many of the "Arduino compatible" ESP boards have circuitry, and/or a "secondary bootloader", that makes the BOOT button unnecessary for normal operation. But it's still there for "recovery", or if you want to run non-Arduino software.