tuyaopen-embedded-add-board
Add new board (BSP) support to TuyaOpen, including board directory structure, Kconfig, drivers, and config files.
Skill by tuya
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.
About
Use cases: writing
Reviews
Write a reviewNo 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
- 0.603score
tuyaopen-miniapp-performance-ux-guard
tuya
Reviews and improves Tuya 小程序/miniapp/Ray quality in one package: build guardrails, launch/first-screen performance, release review gates, and…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-start
tuya
Foundation conventions shared by every other TuyaOpen skill: how to find and identify the `tuyaopen-cli` CLI, the `--json` envelope contract, the exit-code…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-embedded-cli-debug
tuya
Debug a running TuyaOpen device: register firmware features as device CLI commands and drive them over the serial shell (`tal_cli`), capture serial logs in…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-embedded-flash
tuya
Flash firmware, monitor serial output, and pick the right serial port for a TuyaOpen device via the `tuyaopen-cli` CLI (`firmware flash`, `firmware monitor`…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-embedded-project
tuya
Read and mutate the `.tuyaopen/` project descriptor via the `tuyaopen-cli` CLI (`project info/create/set-platform/set-board/set-status/set-intent/…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-miniapp-charts-library
tuya
帮助 Agent 在 Ray 小程序中正确集成 `@ray/charts-library`,包括场景卡片(EleChartCard、TempAndHumChartCard、IlluminanceChartCard)、DataSourceProvider…
SkillAFreshness: A★ 2Claude Code +9 - 0.600score
miniapp-development-workflow
tuya
Shared MiniApp 小程序 and 面板 development and release workflow for TuyaOpen and TuyaOS, including Ray and 需求 hand-offs, using IDE Agent Tools and Capability Broker.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
tuyaopen-embedded-device-auth
tuya
Configure device authorization credentials (UUID, AuthKey, PID) and network provisioning for TuyaOpen devices via `tuyaopen-cli license list/add/import/…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
tuyaopen-embedded-code-check
tuya
Check C/C++ code formatting, detect Chinese characters, and validate file headers using clang-format and check_format.py.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
tuyaopen-embedded-hardware
tuya
Hardware-aware code generation for TuyaOpen embedded projects.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
tuyaopen-embedded-build
tuya
Build and compile TuyaOpen projects via the `tuyaopen-cli firmware build/clean` CLI (IDE-scaffolded projects) or `tos.py build`/`tos.py clean` (raw SDK…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
tuyaopen-skill-maker
tuya
How to author or edit a skill in this catalogue: frontmatter contract, id naming rules (tuyaopen- prefix, no slashes), where the payload goes, the…
SkillAFreshness: A★ 2Claude Code +9
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
- Repository
- github.com/tuya/tuyaopen-ide-manifests
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tuya
- 0.603score
tuyaopen-embedded-project
tuya
Read and mutate the `.tuyaopen/` project descriptor via the `tuyaopen-cli` CLI (`project info/create/set-platform/set-board/set-status/set-intent/…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-miniapp-charts-library
tuya
帮助 Agent 在 Ray 小程序中正确集成 `@ray/charts-library`,包括场景卡片(EleChartCard、TempAndHumChartCard、IlluminanceChartCard)、DataSourceProvider…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-start
tuya
Foundation conventions shared by every other TuyaOpen skill: how to find and identify the `tuyaopen-cli` CLI, the `--json` envelope contract, the exit-code…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-embedded-flash
tuya
Flash firmware, monitor serial output, and pick the right serial port for a TuyaOpen device via the `tuyaopen-cli` CLI (`firmware flash`, `firmware monitor`…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-embedded-cli-debug
tuya
Debug a running TuyaOpen device: register firmware features as device CLI commands and drive them over the serial shell (`tal_cli`), capture serial logs in…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
tuyaopen-miniapp-performance-ux-guard
tuya
Reviews and improves Tuya 小程序/miniapp/Ray quality in one package: build guardrails, launch/first-screen performance, release review gates, and…
SkillAFreshness: A★ 2Claude Code +9
Cite this page
tuyaopen-embedded-add-board skill. Agent Mart. https://agentmart.dev/skills/tuya-tuyaopen-embedded-add-board (last updated 2026-10-24)