Skip to main content

ESP32-S3-Touch-AMOLED-2.06 Factory Firmware Usage

To help users quickly understand the various functions of the product, the factory firmware is pre‑flashed. This allows users to learn how to use each interface. In addition to the ESP32-S3-Touch-AMOLED-2.06 main unit and the included components, the following items are required to run the firmware:

Required Components​

  • ESP32-S3-Touch-AMOLED-2.06 ×1
  • TF card ×1 (not required, needed only for TF card examples)

Development Board Battery Assembly Guide​

info

When disassembling, pay special attention to the cable area. The connection in this part is fragile. Pulling, twisting, or applying excessive force can easily cause breakage and affect device operation. Before disassembly, understand the importance of cable protection. During disassembly, move slowly and gently. When separating the case from the motherboard, observe the location and routing of the cable connections. Support the motherboard or cable to keep it in a natural, tension-free state to avoid forced dismantling.

Precautions​

⚠️ USB Download Precautions (Important)​

Using USB to download programs to the development board

If the port cannot be recognized, enter Boot Mode:

  1. Press and hold the BOOT button.
  2. Connect the USB cable to the computer
  3. Release the BOOT button.

After the download is complete, power cycle the board to run the program.

Firmware Download​

Firmware Flashing​

The following steps apply to the firmware provided on this page.

  • Download and extract Espressif's official Flash Download Tool (Download)

  • Run Flash Download Tool and select the options that match the development board's MCU and download interface. The screenshot below uses ESP32-S3 and USB as an example; use the options required by the product's hardware design.

    Firmware flashing step 1

  • Parameter settings

    • Select the COM port for the development board
    • Set BAUD to the maximum value, 1152000
    • Click the "..." button in the row, select the bin file provided by Waveshare, manually enter the flash address given at the top of this page in the field to its right, and select the leftmost checkbox in the row
    • Click START to begin flashing

    Firmware flashing step 2

  • Wait for flashing to complete (this may take some time; please be patient)

  • Press the reset button and verify the result

    Firmware flashing step 3

tip

If the tool remains at "Waiting for power-on sync", hold down BOOT and power cycle the device to enter download mode.

Example Overview​

  • The firmware uses the Brookesia component and showcases various applications in an APP‑style interface, including Settings, Drawing Pad, Music Player, Video Player, Audio Analyzer, SquareLine, XiaoZhi AI, Gravity Ball, and other apps.

App Example Introduction​

tip
  • Quickly swipe up from the bottom of the screen and release to return to the desktop and pause the current app.
  • Swipe up from the bottom of the screen and pause in the middle of the screen to view recently running apps.
  • In the recent apps interface, swipe left or right to select a card, tap a card to return to the app, and swipe up on a card to close that app.

Calculator APP​

A calculator app. You can enter numbers and operators via the on-screen buttons to perform basic arithmetic operations.

DrawPanel APP​

A touch drawing board. Tap or drag your finger on the white canvas to draw red dots and lines. The drawing content is cleared after the app is closed.

SpecAnalyzer APP​

A real-time audio spectrum analyzer that captures sound through the onboard microphone and displays the dual-channel spectrum and peaks. You can speak into the microphone or play sound to observe changes in the spectrum.

If it shows that the microphone is unavailable, first close other apps that are using audio resources, then reopen the app.

AIChats APP​

The Xiaozhi AI voice conversation app, which captures voice through the onboard microphone and plays replies through the speaker.

  1. Go to Settings → WLAN and connect to a Wi-Fi network that can access the internet.
  2. Open AIChats and wait for the network connection and service preparation to complete.
  3. On first use, if the screen displays an activation code, follow the on-screen prompts to add the device in the Xiaozhi control panel and complete binding.
  4. After entering the Standby state, say the wake word "Ni Hao Xiao Zhi" to start a conversation. The interface displays the listening, thinking, and replying states, as well as the conversation text returned by the service.
  5. Quickly swipe up from the bottom of the screen to return to the desktop and pause the conversation. To close the app, swipe up on the AIChats card in the recent apps interface.

This project uses English status prompts by default; the conversation text and server-side activation prompts are displayed according to the content returned by the server. The activation code is displayed on the screen; the current project does not include OGG voice resources for the activation code and success prompts.

If you need to save conversation text, you can enable Save text history in Settings → Storage. This feature is disabled by default. When enabled and a TF card is available, JSONL files are saved per session to Waveshare/AIChats/. The recorded content is text, not voice recordings.

Gravitysphere APP​

A gravity ball app based on the QMI8658 six-axis inertial sensor.

  1. Place the development board flat and stationary on the desktop, then open the app.
  2. Keep it stationary and wait for the calibration progress to finish.
  3. After the ball appears, tilt the development board, and the ball will move with the device's orientation.
  4. To recalibrate, place the development board flat and stable again, then tap the screen or press the BOOT button.

VideoPlayer APP​

Plays MJPEG-encoded AVI videos from the TF card, supporting play, pause, previous, and next.

  • It is recommended to place videos directly in the video/ folder in the TF card root directory.
  • It is also compatible with Video/, videos/, Videos/, avi/, AVI/, movies/, Movies/, and the TF card root directory. The player scans in the above order and builds a playlist in the first directory that contains AVI files.
  • The video width must not exceed 410 pixels, and the height must not exceed 502 pixels. AVI is a container format; the video encoding must be MJPEG. Simply changing the file extension cannot complete format conversion.
  • If you need to play audio in the video, the audio track should be 16-bit PCM, mono or stereo; supported sample rates are 8, 12, 16, 24, 32, 44.1, and 48 kHz. Unsupported audio tracks are played as silent.

Reads and displays photos from the photos/ directory on the TF card.

  • Supports baseline-encoded .jpg and .jpeg images; progressive JPEG, PNG, and other formats are not supported.
  • A single image file must not exceed 4 MiB, and up to 128 images are loaded. Images that are too large or exceed the memory limit after decoding are skipped; it is recommended to shrink images in advance.
  • Swipe left to show the next image, swipe right to show the previous image, and tapping the image also switches to the next one.
  • Long press the image to enable or disable automatic slideshow.

MusicPlayer APP​

The music player can actually play MP3/WAV files in the music/ directory on the TF card, supporting play, pause, and track switching.

Insert a TF card and prepare music files before use. If no playable tracks are found, the interface still displays the player layout but cannot play. The current project does not include sample songs.

Recorder APP​

A voice recorder app that captures sound through the onboard microphone and saves it to the TF card.

  1. Insert a usable TF card with remaining space and open Recorder.
  2. Tap REC to start recording. The interface displays the recording duration and input level.
  3. Tap STOP to stop and finish saving the file. Returning to the desktop or closing the app also stops recording.
  4. Read the recording files in the Waveshare/Recordings/ directory on the TF card; the format is 24 kHz / 16-bit / stereo WAV.

After network time synchronization is complete, the recording file name includes the date and time; when time is not synchronized, the REC-boot- prefix is used. Please stop recording and safely eject the card before removing it.

Settings APP​

The Settings app contains the following pages:

PageFunctions and Operations
WLANTurn Wi-Fi on or off, scan for hotspots, and enter a password to connect; the current password entry process requires at least 8 characters, and a 2.4 GHz hotspot with a password is recommended
SoundAdjust the media volume, ranging from 0% to 95%
DisplayAdjust the screen brightness, ranging from 20% to 100%
PowerDisplay battery level, charging status, whether the battery is connected, as well as Wi-Fi connection status and signal strength
StorageView TF card status, capacity, available space, bus and clock information; rescan, read/write test, export diagnostics, safe eject, and set AIChats text history
AboutView manufacturer, product model, and UI framework information

Common Storage Operations:

  • Rescan card: Manually rescan and attempt to mount the TF card.
  • Run 4 MiB test: Write and read 4 MiB of temporary test data, displaying sequential read/write speeds and CRC verification results. The test requires sufficient available space on the TF card.
  • Save text history: Enable or disable AIChats text history.
  • Export diagnostics: Export device, memory, storage, and status information to Waveshare/Diagnostics/device-diagnostics.txt.
  • Safe eject: Safely unmount the TF card, and remove the card after it succeeds.

RTC APP​

Displays the date and time of the onboard PCF85063A real-time clock.

  • Refresh RTC: Re-read the RTC time.
  • Set from system time: Write the current system time to the RTC. It is recommended to connect to the internet first and wait for network time synchronization to complete before using it; if the system time is invalid, it prompts you to synchronize the network time first.

Board I/O APP​

An onboard button test app that separately displays the press/release status, press count, and test results of BOOT and PWR.

  1. Open the app and briefly press and release BOOT and PWR in sequence.
  2. After each button completes one valid press and release, the corresponding item displays PASS.
  3. Tap Test again to clear the current results and test again.

Use a short press when testing PWR; holding it for a long time may power off the development board.

Vibration APP​

An onboard vibration motor test app. Hold the HOLD button in the center of the screen to trigger vibration, and release it to stop early. Each vibration lasts up to 250 ms; you need to release and press again to repeat the test. The interface displays the number of vibrations sent.

Squareline APP​

Showcases interactive interfaces and animations such as clock, weather, call, chat, and music created with SquareLine, for experiencing UI effects.

FAQ​

SymptomSolution
The app prompts SD card requiredCheck the TF card and file system, rescan in Settings → Storage, then return and reopen the app
The music list is empty or there are no playable tracksCheck whether there are MP3/WAV files in music/; the firmware does not include sample music
The gallery is empty or some images do not displayCheck the photos/ path, baseline JPEG encoding, file size, and image dimensions
AVI files cannot be played or have no soundCheck the MJPEG video encoding, resolution, and PCM audio track format; simply changing the file extension is invalid
Xiaozhi prompts that the network is required or the service is abnormalFirst check whether WLAN is connected and whether the network can access the internet, then complete activation as prompted on the screen and retry
Spectrum, recording, or playback prompts that audio resources are unavailableClose other apps that are using the microphone or speaker, then reopen the target app
Safe eject prompts that the device is busyStop playback, recording, and other operations, and close the related cards in the recent apps interface before retrying
RTC prompts to synchronize the network time firstConnect to a Wi-Fi network that can access the internet, wait for the system time to update, then click Set from system time