Current Image

Step by step guide to upload the ESP32 code and test the connection with your Flipper Zero.


Step 1: Install Required Software

To program the ESP32, you need:


  1. Arduino IDE → Download from here.
  2. ESP32 Board Support → So Arduino IDE recognizes your ESP32.

Step 2: Install ESP32 Board in Arduino IDE

  1. Open Arduino IDE.
  2. Go to FilePreferences.
  3. In "Additional Board Manager URLs", paste this URL:
https://dl.espressif.com/dl/package_esp32_index.json
  1. Click OK.
  2. Go to ToolsBoardBoards Manager.
  3. Search for ESP32 and install "esp32 by Espressif Systems".
  4. Restart Arduino IDE.

Step 3: Connect ESP32 to Your Computer

  1. Plug in your ESP32 using a USB cable (Make sure it’s a data cable, not just a charging cable).
  2. In Arduino IDE, go to ToolsPort and select your ESP32’s COM port.
  3. In ToolsBoard, select ESP32 Dev Module.

Step 4: Upload the Code

  1. Open Arduino IDE.
  2. Copy and paste this code:
void setup() {
  Serial.begin(115200);  // USB Serial Monitor
  Serial2.begin(115200, SERIAL_8N1, 16, 17);  // UART on GPIO16 (RX) & GPIO17 (TX)
}

void loop() {
  if (Serial2.available()) {
    String data = Serial2.readString();
    Serial.println("Received from Flipper: " + data);
  }
  Serial2.println("Hello from ESP32");
  delay(1000);
}
  1. Click the Upload (→) button.
  2. If you see an error like "Failed to connect", hold the "BOOT" button on ESP32 while uploading.

Step 5: Open Serial Monitor

  1. Go to ToolsSerial Monitor.
  2. Set baud rate to 115200.
  3. If the ESP32 is running properly, you should see:
Hello from ESP32

Step 6: Connect Flipper Zero

Wiring

Flipper Zero Pin ESP32 Pin Pin 13 (TX) RX (GPIO16) Pin 14 (RX) TX (GPIO17) Pin 8 or 11 (GND) GND On Flipper Zero

  1. Go to AppsGPIOUART Bridge.
  2. Set Baud Rate to 115200.
  3. Start the connection.

Now, you should see messages from ESP32 on your Flipper and be able to send data back!

Next Steps

  • If you see "Hello from ESP32", the connection is working.
  • Try typing something on Flipper Zero and see if ESP32 receives it.