The ESP32 chip has dual core processors, with a built-in Wi-Fi and bluetooth (both legacy and Low-Energy). It runs 32 bit programs and has a 512 kB RAM.
It also has wide variety of peripherals available: capacitive touch, ADCs, DACs, UART, SPI, I2C and much more. it comes with built-in hall effect sensor and built-in temperature sensor .
- Single or Dual-Core 32-bit LX6 Microprocessor with clock frequency up to 240 MHz.
- 520 KB of SRAM, 448 KB of ROM and 16 KB of RTC SRAM.
- Supports 802.11 b/g/n Wi-Fi connectivity with speeds up to 150 Mbps.
- Support for both Classic Bluetooth v4.2 and BLE specifications.
- 34 Programmable GPIOs.
- Up to 18 channels of 12-bit SAR ADC and 2 channels of 8-bit DAC
- Serial Connectivity include 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART.
- Ethernet MAC for physical LAN Communication (requires external PHY).
- 1 Host controller for SD/SDIO/MMC and 1 Slave controller for SDIO/SPI.
- Motor PWM and up to 16-channels of LED PWM.
- Secure Boot and Flash Encryption.
- Cryptographic Hardware Acceleration for AES, Hash (SHA-2), RSA, ECC and RNG.
Different Ways to Program :
ESP32 can be programmed in more than one way. And not surprisingly, the ESP32 supports multiple programming environments.
Some of the commonly used programming environments are:
- Arduino IDE
- PlatformIO IDE (VS Code)
- LUA
- MicroPython
- Espressif IDF (IoT Development Framework)
- JavaScript
As Arduino IDE is already a familiar environment, it is widely used in projects.
paste this link
https://dl.espressif.com/dl/package_esp32_index.json
on the Additional Board Manager URLs under File -> Preferences of Arduino IDE.