XiaoDa Call-WeChat Call_Rev0.2

Chinese

Document navigation

  • Quick Start: build, flash, power on, bind a device, and run the first AI demo.

  • Feature Demo Guide: verification steps for SET, AI, WX, DEV, and LIVE.

  • This guide: hardware differences, capabilities, limitations, build instructions, and ownership boundaries.

  • In-project operation notes: examples/NT26FxDx_OpenKit_TiRTC/tirtc/docs/当前设备操作.md.

[!NOTE] Scope This guide targets the TiRTC voice-terminal application on the Lierda NT26FxDx OpenKit. The project is examples/NT26FxDx_OpenKit_TiRTC, using the NT26F6D0 module and F6D_A base package.

1. Project overview

NT26FxDx_OpenKit_TiRTC is a TiRTC voice-terminal example based on the Lierda Cat.1 bis OpenCPU SDK. It adds a 128×64 SSD1306 OLED UI, device binding, AI voice intercom, WeChat mini-program calls, device-to-device calls, and platform LIVE intercom to the OpenKit cellular, ES8311 audio, and three-button hardware.

This project is not a standalone low-level SDK. The Lierda OpenCPU SDK provides the module runtime, RTOS, cellular networking, HTTP/MQTT, audio, I2C, GPIO, and build packaging. The TiRTC SDK and platform services are supplied by Tange; the tirtc directory integrates them with the target board.

2. Relationship to NT26FxDx OpenKit

2.1 Common hardware

PCB model

PCB version

Module

Base package

L-CT4IT00-YP00W-01

V04

NT26F6D0

F6D_A

The project shares the following resources with the standard NT26FxDx OpenKit:

  • Type-C power, USB communication, and download;

  • Nano-SIM slot, 4G antenna, and cellular network;

  • PWRKEY, RESET, and BOOT buttons;

  • ES8311 codec, onboard microphone, and speaker connector;

  • Battery, charging management, RGB indicator, and other board interfaces.

For board components, power, USB, SIM, RF, audio interfaces, and flashing precautions, see the OpenKit Application Guide.

2.2 TiRTC hardware differences

The main display is a 128×64 SSD1306 OLED; LCD/TP is not used as the application UI. Although the camera connector is available on the board, the current TiRTC application does not capture camera data and does not provide video calls.

The OLED uses I2C1:

Signal

Module pin

Alternate function

SDA

57

3

SCL

66

2

Address

0x3C or 0x3D

Auto-detected

Because the OLED uses I2C1 pin 66, the TiRTC variant disables the default SPI0 pins in tirtc/board/iodriver.ini and uses:

SPI0 signal

Module pin

SCLK

86

SSN

83

MOSI

85

MISO

84

When changing the board or display, check iodriver.ini, tirtc/src/ui/ssd1306_display.c, and the audio-driver bus and pin configuration together.

3. Feature overview

3.1 User controls

Button

Hardware input

Application meaning

KEY0

GPIO20 / modem pin 5

NEXT

KEY1

GPIO22 / modem pin 19

CONFIRM, answer

KEY2

WAKEUP_PAD0

BACK, return, reject, or hang up

The current firmware uses single-click actions with independent button debouncing. Long-press and double-click actions are not defined.

3.2 Capability matrix

After 4G registration and web binding, the device enters the home page:

Function

Device entry

Peer

Prerequisites

Current capability and limitation

AI

AI

Device and AI agent

Web binding and AI-agent binding

Half-duplex voice; capture pauses during playback

WX

WX

Device and WeChat mini program

Web binding, WeChat VoIP authorization and reporting

Two-way voice; up to 8 contacts cached

DEV

DEV

Two TiRTC devices

Both devices online and bound with device contacts

Two-way voice; no camera or video

SET

SET

Local device

None

Volume and microphone gain; defaults return after reboot

LIVE

Web initiated

Web and device

Device on home page, other services idle, authorized account

Two-way voice; no dedicated device page or video

3.3 Shared runtime and mutual exclusion

AI, WX, DEV, and LIVE share one TiRTC connection and audio resources; only one business can own them at a time. While the device is dialing, in a call, handling an incoming call, or releasing resources, another service may be rejected or delayed. For complete procedures, expected results, and demo media, see the TiRTC Feature Demo Guide.

4. Code and responsibility boundaries

Do not treat the entire examples/NT26FxDx_OpenKit_TiRTC/tirtc directory as Lierda code.

4.1 Lierda content

  • NT26F6D0, the L-CT4IT00-YP00W-01_V04 board, and its hardware resources;

  • Lierda OpenCPU SDK, RTOS, network, HTTP/MQTT, audio, display, and GPIO APIs;

  • components/basePkg/F6D_A;

  • Existing OpenKit hardware examples and board drivers;

  • This project’s OpenCPU board adaptation, build integration, and hardware maintenance.

4.2 Tange content

  • tirtc/sdk/include/tirtc and tirtc/sdk/lib/libTiRTC.a;

  • TiRTC runtime, binding protocol, service discovery, and platform APIs;

  • The “Tange Xiaotai” WeChat mini program and its server-side services;

  • Reference implementations of AI, WX, DEV, and LIVE flows.

The TiRTC headers and static library are an independent supplier SDK. They do not become open source merely because the application project contains Apache-2.0 or MIT headers. Use, upgrade, and redistribution must follow the actual TiRTC SDK license terms.

4.3 Integration code and third-party components

Some code under tirtc is Lierda board adaptation, some comes from Tange public reference implementations, and some is project integration code. Check tirtc/SOURCE_PROVENANCE.md, tirtc/THIRD_PARTY_NOTICES.md, and individual file headers for provenance and licenses.

The build also uses third-party cJSON, Opus, and mbedTLS components. Do not determine their license scope from this project’s file headers alone.

5. Development environment

5.1 Hardware

  • NT26FxDx OpenKit, board L-CT4IT00-YP00W-01_V04;

  • NT26F6D0 module;

  • Internet-capable Nano-SIM and 4G antenna;

  • 128×64 SSD1306 OLED;

  • Onboard or external microphone;

  • 4 Ω speaker;

  • USB 2.0 Type-C data cable.

5.2 Software

  • Lierda OpenCPU SDK source;

  • F6D_A base package matching NT26F6D0;

  • GCC build environment or Lierda Tools;

  • Lierda USB driver;

  • Flashing tool and serial-log tool.

For USB-driver, flashing-tool, serial-tool, and download-mode instructions, see the NT26FxDx OpenKit Quick Start.

6. Build the project

6.1 Select the project

The SDK root Makefile should contain:

PROJECT  ?= NT26FxDx_OpenKit_TiRTC
MODEM    ?= NT26F6D0
MODEMPKG ?= F6D_A

Alternatively, build without editing the root Makefile:

make PROJECT=NT26FxDx_OpenKit_TiRTC MODEM=NT26F6D0 MODEMPKG=F6D_A all

If the root Makefile already has these defaults, run:

make all

6.2 TiRTC application configuration

The application build configuration is under:

examples/NT26FxDx_OpenKit_TiRTC/config

The default configuration enables:

  • Buttons and SSD1306 OLED;

  • LTE, PDP, and network time;

  • Device binding and production MQTT;

  • TiRTC runtime;

  • AI, WX, DEV, and LIVE voice features;

  • cJSON, mbedTLS, and Opus.

WebSocket components and the TiRTC smoke runtime are disabled by default. After changing configuration, perform a complete build and confirm that dependency checks in the compiler log pass.

6.3 Build output

Build output is placed under:

gccout/NT26FxDx_OpenKit_TiRTC/

The exact .binpkg name depends on the build log and output directory. Flash the complete package matching NT26F6D0 and F6D_A; do not flash a binpkg from another project onto this hardware.

7. Flashing and startup verification

The flashing procedure is the same as for the standard NT26FxDx OpenKit:

  1. Connect the computer and board with a USB data cable.

  2. Hold BOOT, then press RESET or reconnect USB to enter download mode.

  3. Select the TiRTC project’s .binpkg in the Lierda flashing tool.

  4. Select the configuration for NT26F6D0 and F6D_A.

  5. Wait for flashing to finish and for the device to restart automatically.

For first boot, verify in this order:

  1. The OLED lights up and shows UI READY.

  2. The screen progresses from NET INIT, WAIT LTE, and WAIT 4G into binding.

  3. A new device shows a six-digit binding code.

  4. After web binding, the home page shows AI/WX/DEV/SET.

  5. Verify SET volume and microphone gain before voice services.

  6. Use the serial log to confirm network, binding, TiRTC runtime, and audio initialization without errors.

8. Troubleshooting

OLED remains blank

  • Check that the OLED is connected to the dot-matrix display connector and that power and I2C wiring are correct;

  • Confirm address 0x3C or 0x3D;

  • Confirm I2C1 uses pin 57/pin 66;

  • Confirm SPI0 in iodriver.ini has not reclaimed pin 66;

  • Use [OLED] probe and SSD1306 reinit log messages for diagnosis.

Device remains waiting for network

  • Check the SIM, antenna, and carrier coverage;

  • Confirm the NT26F6D0 and F6D_A pairing;

  • Check whether LTE registration and an IPv4 address are obtained;

  • Record the OLED state and serial log to distinguish a network problem from a platform-binding problem.

Binding code is shown but web binding fails

  • Enter the current six-digit code shown on the OLED;

  • Confirm that the Tange experience-platform account is used;

  • Request a new code after timeout and enter the new code;

  • Check whether the device is already bound to another account.

AI, WX, or DEV cannot make a call

  • Confirm web binding and 4G:OK on the home page;

  • AI requires an AI-agent binding;

  • WX requires “Tange Xiaotai” authorization and reporting;

  • DEV requires another bound device;

  • Check microphone, speaker, ES8311/I2S initialization, and TiRTC runtime logs;

  • Only one service can own the shared TiRTC connection and audio resources at a time.