Adding and Adapting Boards
Definition
In TuyaOpen, a “board” refers to a specially designed hardware collection for specific domain development. It includes not only the core board but also various sensors, actuators, and expansion modules, aiming to provide developers with a complete and convenient development platform to accelerate product development or facilitate research. Each board is bound to a specific platform.
Board Naming
Mandatory Fields
Manufacturer name: Represents the board manufacturer (e.g. “TUYA” for Tuya’s boards)
Chip name: Platform name (e.g. “T2”, “T5AI”)
Optional Fields
Key features: Indicate special functionalities (e.g. “LCD”, “CAM”)
Series and version: For products with series variations
Other identifiers: Additional hardware markers
Naming Rules
UPPERCASE letters only
Fields separated by underscores
Order: Manufacturer_CoreBoardName_OptionalFields
Example: TUYA_T5AI_BOARD
Adding New Board
Prerequisite: Follow the README to ensure proper environment setup.
Create Directory
Navigate to the corresponding platform directory and create a new board subdirectory:
cd boards/T5AI
mkdir -p TUYA_T5AI_EVB
Add Kconfig File
Each board requires a Kconfig file for peripheral configuration:
cd TUAY_T5AI_EVB
vim Kconfig
Create an empty Kconfig file if no special configuration needed:
:wq
Add Board to Selection List
Modify the platform’s Kconfig file to include the new board:
cd ..
vim Kconfig
Add board configuration:
config BOARD_CHOICE_TUYA_T5AI_EVB
bool "TUYA_T5AI_EVB"
if (BOARD_CHOICE_T5AI_EVB)
rsource "./TUYA_T5AI_EVB/Kconfig"
endif
Save changes:
:wq
Application Adaptation
Navigate to target application:
cd ../..
cd apps/tuya.ai/your_chat_bot
Configure and build:
tos menuconfig # Select TUYA_BOARD_EVB
tos build
After verification, save configuration:
tos savedef
cp app_default.config ./config/TUYA_T5AI_EVB.config
Future developers can select this configuration via:
tos config_choice
Contribution
Submit your board via Pull Requests following the Contribution Guide to share it with the community.