ESP32


ESP32 is a family of low-cost, energy-efficient microcontrollers that integrate both Wi-Fi and Bluetooth capabilities. These chips feature a variety of processing options, including the Tensilica Xtensa LX6 microprocessor available in both dual-core and single-core variants, the Xtensa LX7 dual-core processor, or a single-core RISC-V microprocessor. In addition, the ESP32 incorporates components essential for wireless data communication such as built-in antenna switches, an RF balun, power amplifiers, low-noise receivers, filters, and power-management modules.

SPECS :

  1. Processor: CPU: Xtensa dual-core (or single-core)32-bit LX6, Operating on 160 - 240 MHz

  2. Memory: 520kb RAM, 448kb ROM

  3. Wireless connectivity: Wi-Fi: 802.11 b/g/n , Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi)

Softwares and Tools:

EUSB-to-UART Drivers: To Establish Serial Connection with ESP32➡️Download Drivers

ESP-IDF(SDK): For C/C++ builds. (Low-levl code —–> ESP-IDF —–> Machine Code). It comes with cross-compiler toolchain, Debugger, Linker etc.

➡️ Github, Get Started (ESP-IDF)

esptool : A Python-based, open-source, platform-independent serial utility for flashing, provisioning, and interacting with Espressif SoCs. Documentation

Installation -

    pip install esptool

Useful commands are: esptool erase_flash -> Erase all flash memory



MICRO-PYTHON

MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.

MicroPython consists of a Python compiler to bytecode and a runtime interpreter of that bytecode. The user is presented with an interactive prompt (the REPL) to execute supported commands immediately. Included are a selection of core Python libraries; MicroPython includes modules which give the programmer access to low-level hardware.

MicroPython does have an inline assembler, which lets the code run at full speed, but it is not portable across different microcontrollers.

Download MicroPython Firmware

Flashing MicroPython Firmware - esptool.py –baud 460800 write_flash 0x1000 ESP32_BOARD_NAME-DATE-VERSION.bin

Install Firmware – USE REPL (to interact and run micropyhton) – Build Projects

➡️MicroPython Docs

Softwares and Tools:

mpremote - The mpremote command line tool provides an integrated set of utilities to remotely interact with, manage the filesystem on, and automate a MicroPython device over a serial connection.

  1. connect - connect to specified device via name: $ mpremote connect <device>

  2. repl - enter the REPL on the connected device: $ mpremote repl [–options]

For more commands visit Manual

WebREPL -

WebREPL allows you to use the Python prompt over WiFi, connecting through a browser. The latest versions of Firefox and Chrome are supported.

  1. Single connection/channel, multiplexing terminal access, filesystem access, and board control.

  2. Network ready and Web technologies ready (allowing access directly from a browser with an HTML-based client).

setup - 1. Install MicroPyhton Firmware 2. Connect device and PC to same Wifi network 3. Enter REPL mode 4. Run - import webrepl_setup 5. enable WebREPL mode, it show WebREPL server started on http://192.168.31.169:8266/

ESP32 datasheet - https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

More to write …

last updated on: 12/09/2025