
Project Name:TV-Pro Dual Firmware Online Large Model Mini TV
Project Author:Lichuang EDA Course Case Recommendation
Introduction
This is a multifunctionalAI Mini TV!

It can serve as a desktop assistant and also be your travel companion~

Why do I say that?
Because it can……
01Features/Highlights”1
Chinese-English and English-ChineseTranslation, equipped with iFlytek translation, a great travel companion~
2
Time and weather display, also a great desktop assistant~
3
Provides dual firmware: supports TV-PRO firmware / Xiao Zhi AI firmware
4
Native iFlytek real-timeVoice Large Model
5
Native iFlytek Spark Large Model
6
WebSocket streaming
7
Wanma Cloud Doubao / cosyvoice TTS Large Model
8
Xiao Zhi AI
9
The project structure and circuit design are simple,making it suitable for beginners to replicate and solder, most circuits use detachable modules, requiring no in-depth circuit knowledge, and modules are connected via pin headers for easy disassembly
Just plug in the power to use!▼
Translation function demonstration▼ Followed Follow Replay Share Like Watch MoreLichuang Open Source Hardware Platform
0/0
00:00/00:13Progress bar, 0 percentPlay00:00/00:1300:13Full screen Playing at speed 0.5x 0.75x 1.0x 1.5x 2.0x Ultra clear Smooth
Continue watching
Creating an AI Mini TV with the Lichuang Development Board: Chatting and Translation Features!
Reprint, Creating an AI Mini TV with the Lichuang Development Board: Chatting and Translation Features!Lichuang Open Source Hardware PlatformAdded to Top StoriesEnter comment Video Details So, how are these features designed?What is theDIY cost?Scroll down to see!At the end of the article, there will be a link to theOpen Source URL! Convenient for those interested to learn/replicate~02Hardware Design”

Schematic Diagram

PCB Diagram
Hardware Parameters:
1
Based on the 【Lichuang Development Board ESP32S3R8N8】 design, which has built-in WIFI and completes API requests via HTTPS/WebSocket
2
The screen uses an ST7789 driven 1.3-inch screen to display weather, time, and other information
3
Amplifier module Max98357, transmits data via I2S protocol
4
Omnidirectional microphone INMP441, provides audio capture via I2S
5
8R1W speaker, provides audio playback
03Software Development”
Note: The software code for this project is relatively complex, involving encoding/decoding, encryption, and communication interface integration, and is quite lengthy. Here, we will not display it in detail,for detailed code, please refer to the open-source URL and guidelines. The code has not been overly optimized and may contain redundancies, which can be optimized by yourself.
01 Development Environment
-
Software Environment: VSCode + PlatformIO
-
Development Language: C/C++
02 API Integration
To facilitate serverless player development, this project uses serverless access to online APIs, but because of this, we need to use multiple API services for back-and-forth calls.
If you have a serveryou can integrate services, requiring only one API request, just like Xiao Zhi AI. So overallXiao Zhi AI’s invocation will be simpler and more convenient.
-
ASR Service: iFlytek – Voice Dictation (Streaming Version)
-
Large Language Model Service: iFlytek – Spark 4.0 Ultra
-
TTS Service: Wanma Cloud TTS – Doubao
03 Libraries
The following libraries were used to complete the development of this project:
ArduinoJson: Parse/Generate JSON filesArduinoWebsockets: WebSockets communicationESP32-audioI2S: Get audio playback via URLESPAsyncWebServer-esphome: Page configurationTFT_eSPI: UI interfaceNTPClient: Real-time time synchronization
04 Function Definitions
The following functions were defined for this project:
void handleWiFiConfig(): Manage WiFi configuration (save/load)void loadWiFiConfig(): Load WiFi configuration filevoid fetchWeather(): Get weather data from APIString base64Encode(const uint8_t *data, size_t len): Base64 encode binary dataString base64EncodeUserInput(const String &userInput): Base64 encode user inputString getDate(): Get current system timeString hmacSHA256(const String &key, const String &data): HMAC-SHA256 encryptionString calculateDigest(const String &body): Calculate message body digestString calculateSignature(...): Generate API request signatureString generateSpeechAuthURL(): Generate voice service authentication URLString generateChatAuthURL(): Generate chat service authentication URLvoid sendHandshake(): Send WebSocket handshake requestvoid sendAudioData(...): Send audio stream data framevoid startRecording(): Start microphone recordingvoid stopRecording(): Stop microphone recordingvoid onSpeechMessage(...): Handle voice service responsevoid playTTS(String textToSpeak): Text-to-speech playbackvoid Translation(...): Execute text translationvoid sendChatRequest(...): Send chat requestvoid onChatMessage(...): Handle chat service responsevoid displayTask(...): Display screen refresh taskString removeNonUTF8(...): Filter non-UTF8 charactersvoid setup(): System initializationvoid loop(): Main loop logicprocessChatResult(): Parse chat resultsprocessSpeechResult(): Parse voice resultsvoid connectWebSocket(): Establish WebSocket connectionvoid handleButtonPress(...): Handle physical button events
void handleWiFiConfig(): Manage WiFi configuration (save/load)void loadWiFiConfig(): Load WiFi configuration filevoid fetchWeather(): Get weather data from APIString base64Encode(const uint8_t *data, size_t len): Base64 encode binary dataString base64EncodeUserInput(const String &userInput): Base64 encode user inputString getDate(): Get current system timeString hmacSHA256(const String &key, const String &data): HMAC-SHA256 encryptionString calculateDigest(const String &body): Calculate message body digestString calculateSignature(...): Generate API request signatureString generateSpeechAuthURL(): Generate voice service authentication URLString generateChatAuthURL(): Generate chat service authentication URLvoid sendHandshake(): Send WebSocket handshake requestvoid sendAudioData(...): Send audio stream data framevoid startRecording(): Start microphone recordingvoid stopRecording(): Stop microphone recordingvoid onSpeechMessage(...): Handle voice service responsevoid playTTS(String textToSpeak): Text-to-speech playbackvoid Translation(...): Execute text translationvoid sendChatRequest(...): Send chat requestvoid onChatMessage(...): Handle chat service responsevoid displayTask(...): Display screen refresh taskString removeNonUTF8(...): Filter non-UTF8 charactersvoid setup(): System initializationvoid loop(): Main loop logicprocessChatResult(): Parse chat resultsprocessSpeechResult(): Parse voice resultsvoid connectWebSocket(): Establish WebSocket connectionvoid handleButtonPress(...): Handle physical button events043D Shell Structure”
The 3D shell is constructed using the Jialichuang Cloud CAD platform.
The project adopts a three-part structure, consisting of front cover, mainboard, and back cover.
01 Front Cover

-
The shell design includes screw holes for fixing.
-
Internal chamfering is added for reinforcement, with slots for the screen solder points, and a limit slot at the bottom of the screen to prevent it from being pushed down by external force.
-
Triangular PCB supports are added inside the shell to prevent uneven stress and warping of the PCB.
-
The main shell uses large rounded corners for an aesthetically pleasing and smooth overall appearance.
02 Back Cover

-
The back cover also uses large rounded corners for a smooth overall design.
-
Chamfering is also used at the corners, with a Type-C cutout.
-
Heat dissipation holes are added near the ESP32S3 chip to expel heat from inside the shell.
Welcome to modify!
This project provides a serverless online API large model edge AI intelligent hardware solution demo, and you can definitely expand more features based on this project. Here are some suggested directions for modification:
The modification directions are as follows:
-
USB/BLE protocol voice input method
-
PC performance monitor
-
Electronic photo album
-
……
The DIY cost of the project is
between 50-70 yuan
Cost Explanation:
PCB size supports free prototyping
Coupon entry:https://www.jlc.com/newOrder/#/collectCoupons
Development board limited-time special price of 19.9 yuan
Official website entry:https://lckfb.com/project/detail/lckfb-esp32s3r8n8?param=baseInfo
05Open Source URL”
This project has been open-sourced!
——Want to replicate? Want to give a thumbs up to the author? You can copy the open-source URL to go to the original text.
Open Source URL:https://oshwhub.com/course-examples/esp32ai

Scan the code to directly access the original text.



*This article is a reprint of user creation from the “Lichuang Open Source Hardware Platform”, and the description may have been edited or may not be the latest version. Please refer to the specific project description on the Lichuang Open Source Hardware Platform..
All images, fonts, trademarks, and other assets involved in the project and project description belong to their respective owners. If there is any infringement, please contact for deletion.
The project open-source agreement is subject to the specific project description and requirements of the open-source hardware platform.
If you like it, give me a thumbs up!
ClickRead the original text to view the original project