Copy the programming of an ESP WROOM 32 to another ESP WROOM 32

How to back up and restore the programming of an ESP WROOM 32 to Another ESP WROOM 32

Step 1: Preparation

  1. Install Python and pip (if they are not already installed): sudo apt update sudo apt install python3 python3-pip
  2. Install the latest version of esptool: First, remove any old versions of esptool: sudo pip3 uninstall esptool sudo apt remove python3-esptool Then, install the newest version via pip: pip3 install esptool

Step 2: Reading the Firmware from the Original ESP WROOM 32

  1. Connect the original ESP WROOM 32 to your computer via USB.
  2. Identify the serial port:
    Run the following command to find the serial ports: ls /dev/ttyUSB* Note the serial port that appears, for example, /dev/ttyUSB0.
  3. Read the firmware:
    Use esptool to read the firmware. Replace /dev/ttyUSB0 with the correct serial port if needed:
    bash esptool.py --chip esp32 --port /dev/ttyUSB0 read_flash 0x00000 0x400000 firmware_backup.bin
    This command reads 4MB (0x400000 bytes) of flash memory and saves it to the file firmware_backup.bin.

Step 3: Flashing the Firmware to the New ESP WROOM 32

Flash the firmware to the new ESP WROOM 32:
Use esptool to flash the firmware to the new ESP. Replace /dev/ttyUSB0 with the correct serial port if needed:
bash esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x00000 firmware_backup.bin

Connect the new ESP WROOM 32 to your computer via USB.

Identify the serial port:
Repeat the command: ls /dev/ttyUSB* Note the serial port that appears for the new ESP WROOM 32.

Using an ESP32 and PCM5102 as a Bluetooth audio receiver

I wanted to upgrade my built-in car stereo with a bluetooth receiver, for streaming audio from my mobile phone. So I built one myself using the line-in port on my stereo that’s normally used for the CD-changer. In this case, I am using the ESP32 as a Bluetooth receiver and the PCM5102 as a DAC module for converting digital audio to an analog stereo signal. Advanced Audio Distribution Profile (A2DP) is a Bluetooth profile that allows hi-fi sound to be transmitted over a wireless Bluetooth connection. The connection between the ESP32 and the PCM5102 is based upon I2S (Inter-IC Sound) an electrical serial bus interface standard used for connecting digital audio devices together.

Continue reading “Using an ESP32 and PCM5102 as a Bluetooth audio receiver”