Skip to content
Agentmart
Submit a tool

tuyaopen-embedded-add-board

Add new board (BSP) support to TuyaOpen, including board directory structure, Kconfig, drivers, and config files.

Skill by tuya

IndexedApache-2.0★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tuya-tuyaopen-embedded-add-board

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Add new board (BSP) support to TuyaOpen, including board directory structure, Kconfig, drivers, and config files. No `tuyaopen-cli` CLI command covers this — it is `tos.py new board` (interactive) or manual copy-and-edit only. Use when the user mentions adding a board, new board, BSP, board support, hardware adaptation, or tos.py new board. 添加开发板、板级适配、新增BSP、硬件适配 —— 无对应 tuyaopen CLI 命令,只能用 tos.py new board 或手动复制编辑。

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/tuyaopen-embedded-add-board

What's inside

Skill name
tuyaopen-embedded-add-board
Description
Add new board (BSP) support to TuyaOpen, including board directory structure, Kconfig, drivers, and config files. No `tuyaopen-cli` CLI command covers this — it is `tos.py new board` (interactive) or manual copy-and-edit only. Use when the user mentions adding a board, new board, BSP, board support, hardware adaptation, or tos.py new board. 添加开发板、板级适配、新增BSP、硬件适配 —— 无对应 tuyaopen CLI 命令,只能用 tos.py new board 或手动复制编辑。
License
Apache-2.0
Compatibility
TuyaOpen environment activated (export.sh / export.ps1 / export.bat); Supported platform (T5AI, ESP32, LINUX, T2, T3, LN882H, BK7231X)
Metadata
owner: embedded-team · version: 1.0.3 · deprecated: false · min-cli-version: 0.1.0-beta.17
Instructions
121 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • files: referenced but missing: references/ROUTING.md

Files (2)

  • SKILL.md
  • BOARD_LAYERS.md · references/

SKILL.md (first lines)

# TuyaOpen: Adding a New Board

## No `tuyaopen-cli` CLI coverage — this is a `tos.py`/manual-only flow

Verified against `tuyaopen-cli schema list --json` (18 groups, none named
`board`/`bsp`): creating a new board BSP in the SDK's `boards/<platform>/`
tree has no `tuyaopen-cli` CLI command. Everything below is `tos.py new board`
(interactive) or the manual copy-and-edit steps.

**⚠ `tuyaopen-cli boards list`/`boards detail` is a different, unrelated
catalog — it will never show a board you add here.** That CLI command reads
the **published manifest catalog** used by `tuyaopen-cli project create --board
<id>` (a curated onboarding list), not the SDK's own `boards/` source tree.
Adding a board via this skill does not register it there, and it doesn't
need to — `tos.py config choice -c <BOARD_NAME>` picks it straight from the
SDK checkout regardless of manifest state.

> **SDK root:** All paths and commands in this skill are relative to the TuyaOpen SDK root. After activating the environment, the SDK root is available as `$OPEN_SDK_ROOT` (Linux/macOS/PowerShell) or `%OPEN_SDK_ROOT%` (Windows CMD). Navigate there with `cd $OPEN_SDK_ROOT` before running any commands below. See the `tuyaopen-start` routing table if not yet activated.

Reference: `$OPEN_SDK_ROOT/boards/add_new_board.md`

## Supported Platforms

| Platform | Chips |
|----------|-------|
| T5AI | T5AI series |
| ESP32 | ESP32, ESP32-S3, ESP32-C3, ESP32-C6 |
| LINUX | Ubuntu, Raspberry Pi, DshanPi |
| T2 | T2-U |
| T3 | T3 LCD Devkit |
| LN882H | LN882H, EWT103-W15 |
| BK7231X | BK7231X |

## Board Directory Structure

Create `boards/<PLATFORM>/<BOARD_NAME>/` with these files:

```
boards/<PLATFORM>/<BOARD_NAME>/
├── CMakeLists.txt       # Build config (usually no modification needed)
├── Kconfig              # Board selection and feature toggles
├── board_com_api.h      # Board-level API declarations
├── board_config.h       # Hardware pin/peripheral configuration
└── <board_name>.c       # Board init implementation
```

## Step-by-Step

### 1. Copy from an existing board

Pick a board on the same platform as a starting point:

```bash
cp -r boards/ESP32/DNESP32S3 boards/ESP32/MY_NEW_BOARD
```

### 2. Edit Kconfig

Set the chip and board identifiers. The `BOARD_CHOICE` value **must match** the directory name exactly (case-sensitive):

```kconfig
config CHIP_CHOICE
    string
    default "esp32s3"

config BOARD_CHOICE
    string
    default "MY_NEW_BOARD"

config BOARD_CONFIG
    bool
    default y
    select ENABLE_AUDIO
    select ENABLE_ESP_DISPLAY
```

### 3. Register in platform Kconfig

Add your board as an option in `boards/<PLATFORM>/Kconfig` so it appears in `config choice`. Skip this step if you used `tos.py new board` — it does this automatically.

### 4. Edit board_config.h

Define hardware-specific constants (display type, I/O expander, pin mappings, etc.):

```c
#define BOARD_DISPLAY_TYPE   DISPLAY_TYPE_LCD_SH8601
#define BOARD_IO_EXPANDER_TYPE IO_EXPANDER_TYPE_TCA9554
```

### 5. Implement board driver

Implement the board-specific init functions in `<board_name>.c`. For the list of required driver functions per platform and the standard CMakeLists.txt template, see `references/BOARD_LAYERS.md`.

### 6. Create a project config (optional)

For app-specific projects, create a config file in the project's `config/` directory:

```bash
cp apps/tuya.ai/your_chat_bot/config/TUYA_T5AI_EVB.config \
   apps/tuya.ai/your_chat_bot/config/MY_NEW_BOARD.config
```

### 7. Build and verify

```bash
cd apps/tuya.ai/your_chat_bot    # or your target project
tos.py config choice -c MY_NEW_BOARD   # non-interactive (Agent/CI)
# or: tos.py config choice             # interactive selection
tos.py build
```

## Code Layer Rules & Shared Drivers

For the dependency layer diagram (platform → src → boards/common → boards/BOARD → apps), existing ESP32 shared drivers (audio, LCD, touch, IO expander, LED), and the board CMakeLists.txt template, see `references/BOARD_LAYERS.md`.

## Not in scope

Peripheral/pin code generation on an already-adapted board, and Kconfig
option semantics beyond selecting the new board — not in scope here, see
skill `tuyaopen-start`'s routing table (`references/ROUTING.md`).

From tuya/tuyaopen-ide-manifests, Apache-2.0.

More from tuya/tuyaopen-ide-manifests

Signals

Stars
2
Forks
7
Open issues
0
Last commit (this folder)
Sep 16, 2026 (1 month ago)
Last release
Oct 20, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0.3
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tuya

Cite this page

tuyaopen-embedded-add-board skill. Agent Mart. https://agentmart.dev/skills/tuya-tuyaopen-embedded-add-board (last updated 2026-10-24)