Skip to content

Reimplement OSTB 2ST WiFi double-mic board support - #2190

Open
BurAndBY wants to merge 2 commits into
78:mainfrom
BurAndBY:ostb-double-mic-board
Open

Reimplement OSTB 2ST WiFi double-mic board support#2190
BurAndBY wants to merge 2 commits into
78:mainfrom
BurAndBY:ostb-double-mic-board

Conversation

@BurAndBY

Copy link
Copy Markdown

Adds board support for the ostb-2st-wifi-double-mic-en device.

Those boards are commonly sold unnanmed (called AI-C1 or AL-O3 in packaging) and ship with a custom non-public firmware.
image

This pull request creates a open-source board definition that is accurate to the vendor-provided image

Changes

  • Adds OSTB 2ST WiFi Double Mic board configuration.
  • Adds ESP32-S3 pin assignments for:
  • 284x240 NV3023/NV3030B LCD
  • ES8311 speaker codec
  • ES7210 dual-microphone codec
  • Buttons and backlight
  • Adds the board-specific 33-command NV3023 initialization sequence.
  • Configures LCD rotation, mirroring, color order, inversion, and X offset.
  • Adds battery and charging management:
  • GPIO47 charge detection
  • ADC2 channel 6 battery sampling
  • Three-sample rolling average
  • Battery calibration curve
  • Charging/discharging callbacks
  • Adds the required 16 MB partition table.
  • Registers the board in Kconfig and the main board selection logic.

Validation

  • Builds successfully with ESP-IDF 5.5.1.
  • Flashed and tested on the target ESP32-S3 hardware.
  • Display initialization and rendering verified on the physical device.
  • Audio, buttons, charging detection, and battery reporting tested on hardware.

Notes

The LCD uses a board-specific initialization table because the generic NV3023 defaults target a different panel variant.
There is also a variant of this device in the same shell but with 1 microphone. This was not tested on that device and will probably not work!

@78

78 commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Is it necessary to modify the partition table?

@BurAndBY
BurAndBY force-pushed the ostb-double-mic-board branch from ae2451b to 8f009e5 Compare August 19, 2026 08:22
@BurAndBY

Copy link
Copy Markdown
Author

Is it necessary to modify the partition table?

This was made to make the comparision between the dumped firmware and the custom one easier. Removed it

@HoangVanThu965

Copy link
Copy Markdown

Hi! I saw that you have the 2ST version. Do you also have the 3ST touchscreen board?
FB_IMG_1780290136623_8cfb33cf
FB_IMG_1780290130821_ab8bf0c0
FB_IMG_1780290143254_d1b17742

@BurAndBY

Copy link
Copy Markdown
Author

Hi! I saw that you have the 2ST version. Do you also have the 3ST touchscreen board?

Hi, no, this is my first device. However you can dump the firmware and try to figure out from there

@HoangVanThu965

Copy link
Copy Markdown

Firmware: https://www.mediafire.com/file/7u41kmf9me2yolm/ostb-xiaozhi-3st.bin/file
@BurAndBY Currently, the display colors are not quite right. They look a bit too dark, and the text also seems slightly blurry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants