top of page
Search

Makers' ReadMe

Updated: Jan 8

Dev Board WIKI


Hackathon Code Base


Online Workshop Recording


Demo Videos




3D Printing

We prepare a few Bambu Labs 3D Printers. Please contact on-site volunteer for your printing.



Tuya Dev Board Get Started

Hardware Preparation

TuyaOpen supports the following development boards or modules.

USB data cable

Computer (supports Windows/Linux/macOS systems)


Install necessary tools

Linux:

sudo apt-get install lcov cmake-curses-gui build-essential ninja-build wget git python3 python3-pip python3-venv libc6-i386 libsystemd-dev

MAC:

# Install Homebrew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Install the latest version of bashbrew install bash # Add the newly installed bash to the list of available shellsecho "/usr/local/bin/bash" | sudo tee -a /etc/shells # Change the current user's shell to the new bash shellchsh -s /usr/local/bin/bash# Install Python 3brew install python3 # Install gitbrew install git # Install makebrew install make 

Window:

# Download Python v3.8.0 or later.https://www.python.org/downloads/windows/ # Download git v2.0.0 or laterhttps://git-scm.com/downloads/win #Download make v3.0 or laterhttps://gnuwin32.sourceforge.net/packages/make.htm 

Download the code repository


Activate the development environment

Linux/MAC:

Under macOS, if you encounter the following error:

WARNING: You are using pip version 20.2.3; however, version 25.0.1 is available.You should consider upgrading via the '/Users/m1/Documents/TuyaOpen/.venv/bin/python3 -m pip install --upgrade pip' command.Traceback (most recent call last):  File "/Users/m1/Documents/TuyaOpen/tos.py", line 5, in <module>    import clickModuleNotFoundError: No module named 'click'

After updating pip using the suggested command  '/Users/m1/Documents/TuyaOpen/.venv/bin/python3 -m pip install --upgrade pip', run the following command:

deactivate

After exiting the virtual environment, re-activate it by running . ./export.sh

Window

.\export.ps1 # PowerShell needs to execute `Set-ExecutionPolicy RemoteSigned -Scope LocalMachine` first. .\export.bat  # cmd 

Authorize device

Enter the project compilation stage.

cd apps/tuya.ai/your_chat_bot

If you use T5AI-BOARD , You need to execute the following command to select the T5AI Board configuration. T5AI Board Configuration Selection 7

tos.py config choice...--------------------1. DNESP32S3.config2. DNESP32S3_BOX.config3. DNESP32S3_BOX2_WIFI.config4. ESP32S3_BREAD_COMPACT_WIFI.config5. T5AI_MINI_LCD_1.54.config6. T5AI_MOJI_1.28.config7. TUYA_T5AI_BOARD_LCD_3.5.config8. TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config9. TUYA_T5AI_BOARD_LCD_3.5_v101.config10. TUYA_T5AI_CORE.config11. TUYA_T5AI_EVB.config12. Ubuntu.config13. WAVESHARE_ESP32S3_TOUCH_AMOLED_1_8.config14. WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config15. XINGZHI_ESP32S3_Cube_0_96OLED_WIFI.config--------------------Input "q" to exit.Choice config file:

If you use WAVESHARE_T5AI_TOUCH_AMOLED need selection 14.

You can authorize the device in two ways.


Write authorization information to Flash

Run the command:

 tos.py monitor -b 115200

Enter the interactive command, use auth, and then press Enter. You will get the following information:

[INFO]: Run Tuya Uart Tool.--------------------1. /dev/ttyACM12. /dev/ttyACM0--------------------Select serial port: 2[INFO]: Open Monitor. (Quit: Ctrl+c)

Use auth as prompted to write uuid and authkey.

tuya>auth uuid9f6a6xxxxxxxxxxx cGuDnU2YxjHJldjxxxxxxxxxxxxxxxxxAuthorization write succeeds.

Modify header file

Locate the tuya_config.h file in your project directory. The directory might vary by project (check either the src or include directory).

#define TUYA_OPENSDK_UUID      "uuidxxxxxxxxxxxxxxxx"  // Change to the correct uuid#define TUYA_OPENSDK_AUTHKEY   "keyxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Change to the correct authkey

You can ask the staff for authorization information.


Change LLM Model

This step is not mandatory; you can skip it if you don't need to adjust the LLM model and prompts.


Compile the project

Use the following command to compile:

tos.py build

Flash firmware

For Linux and Mac users, run the command

sudo usermod -aG dialout $USER

 to grant serial port permissions, and then reboot the system.

tos.py flash

If multiple ports exist, try them sequentially.


View the logs

The log baud rate for T5AI is 460800. The T5AI development board usually has two serial ports: one for flashing and the other for logging.

Using the tos.py monitor command below does not require setting the baud rate—simply select the appropriate serial port. The name of the serial port may vary depending on the computer and device, so you’ll need to try it yourself to see if any log output is generated.

tos.py monitor

Connect the device to the Tuya cloud.


Switch demo

Enter the switch demo project directory(By default, you are currently in the root directory of TuyaOpen.).

cd apps/tuya_cloud/switch_demo

Use the configuration selection command

tos.py config choice

Select T5AI.config, which is configuration 9 below.

--------------------1. BK7231X.config2. ESP32-C3.config3. ESP32-S3.config4. ESP32.config5. EWT103-W15.config6. LN882H.config7. T2.config8. T3.config9. T5AI.config10. Ubuntu.config--------------------Input "q" to exit.Choice config file:

Compile switch_demo:  

tos.py build

Flash switch_demo:

tos.py flash

Device networking, refer to 9. Connect the device to the Tuya cloud.  The device name is Open Framework Demo, the icon is a socket.

View device logs

tos.py monitor

How to use the switch demo:

In the SmartLife app, enter the panel for controlling the Open Framework Demo, as shown below.


Click Power, and the device monitor will print whether the device is on or off:

...[01-08 11:40:12 ty D][dp_schema.c:558] dp<1> bool: 0, new: 1[01-08 11:40:12 ty D][dp_schema.c:1008] dp rept out: {"1":true}...[01-08 11:41:25 ty D][dp_schema.c:558] dp<1> bool: 1, new: 0[01-08 11:41:25 ty D][dp_schema.c:1008] dp rept out: {"1":false}...

your chat bot

Tip: Before flashing from one project to another, it’s recommended to first reset the device.See section 12.1.

Enter the switch demo project directory(By default, you are currently in the root directory of TuyaOpen.).

cd apps/tuya.ai/your_chat_bot

Use the configuration selection command

tos.py config choice

For T5AI Board, select TUYA_T5AI_BOARD_LCD_3.5.config, which is configuration 7.

For T5AI Board, if you need to use the camera, you can select TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config, which is configuration 8.

For WaveShare T5AI, select WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config, which is configuration 14.

...--------------------1. DNESP32S3.config2. DNESP32S3_BOX.config3. DNESP32S3_BOX2_WIFI.config4. ESP32S3_BREAD_COMPACT_WIFI.config5. T5AI_MINI_LCD_1.54.config6. T5AI_MOJI_1.28.config7. TUYA_T5AI_BOARD_LCD_3.5.config8. TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config9. TUYA_T5AI_BOARD_LCD_3.5_v101.config10. TUYA_T5AI_CORE.config11. TUYA_T5AI_EVB.config12. Ubuntu.config13. WAVESHARE_ESP32S3_TOUCH_AMOLED_1_8.config14. WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config15. XINGZHI_ESP32S3_Cube_0_96OLED_WIFI.config--------------------Input "q" to exit.Choice config file:

Compile your_chat_bot:  

tos.py build

Flash your_chat_bot:

tos.py flash

Device networking, refer to 9. Connect the device to the Tuya cloud.  

For T5AI Board, the device name is chatbot-T5AI-BOARD, the icon is a green robot.

For WaveShare T5AI Board, the device name is chatbot-WAVESHARE_T5AI_1_75, the icon is a green robot.

View device logs

tos.py monitor

The app panel for your_chat_bot is as follows:

1. Role Configuration

2. Your chat history with AI

3. Role memory

4. Device volume settings

For configurations with a camera, you can ask the device what it’s seeing, and it will reply with what the camera is capturing.


FAQ

How to reset the device?

Via the app: Tap the three dots in the upper-right corner of the device app panel, then select Remove Device below. We recommend choosing Remove and Clear Data.

Via device: Power the device on and off three times, disconnecting the power within 5 seconds each time it is powered on.

 
 
 

Recent Posts

See All
[Beginners Guide] HTTP Client POST

Going through this doc, you will learn how to connect Wifi, add LVGL components and handle HTTP request and response. This document provides detailed instructions on how to run the http_client_postpro

 
 
 
1.9 HackStorm All-In-One

What to build Any thing as long as you use Tuya Dev Board What to submit A slide deck Introduction of your project (For the 5-min pitch) A video 3-minute demonstration video Git repo A link to your gi

 
 
 
100 Creative Ideas for the HackStorm AIoT

This document presents 100 innovative project ideas for the Silicon Valley AIoT Hackathon, designed to inspire participants utilizing the core capabilities of the Waveshare Tuya T5-E1 Dev Board and th

 
 
 

Comments


Sponsorship & Support

HackStorm

team@HackStorm.ai

© 2025 by HackStorm.ai

 

bottom of page