关于
Niu Lai for FoloToy AI Passport
English | 简体中文
An offline interactive “Niu Lai” soundboard for the ESP32-C3-based FoloToy AI Passport. It combines character animation, dialogue playback, battery status, volume control, and user-recorded replacement voices in one small firmware image.
Important
This is an unofficial fan prototype. The MIT license covers the source code only. Movie images and audio may have separate rights; review the asset source and distribution notice before redistributing firmware or media.
Features
- Full-screen poster and two-frame Niu Lai/Mama animations.
- Built-in 16 kHz mono dialogue with software volume control.
- Up to 10 seconds of replacement voice recording per character.
- Power-loss-safe, dual-bank recording storage in a dedicated flash partition.
- iOS-style battery indicator with a voltage fallback when CW2017 SOC is unavailable.
- Three-button UI; no network or account is required.
Controls
| Input | Context | Action |
|---|---|---|
Short UP | Any non-settings page | Show Niu Lai and play “Mama~~” |
Short DOWN | Any non-settings page | Show Mama and play “Niu Lai!” |
Hold UP, then release | Niu Lai page | Record and save the Niu Lai-page voice |
Hold DOWN, then release | Mama page | Record and save the Mama-page voice |
Short OK | Any page | Open settings, or return from settings |
Double OK | Settings | Delete custom recordings and restore built-in voices |
Hold OK | Any page | Stop audio and return home |
See the user guide for installation, recording behavior, and troubleshooting.
Install a release
Download the newest artifacts from GitHub Releases.
- Flash
*-full.binat address0x0for the first installation or whenever the partition table changes. - Flash
*-app.binat address0x10000only when the device already has this project's partition table. - Verify downloads with
SHA256SUMS.
The recording feature depends on the recordings partition. An app-only image cannot create it.
Build from source
Requirements: FoloToy AI Passport, USB data cable, Git, and ESP-IDF 5.5.3.
git clone https://github.com/JollySun/folo-ai-passport-niulai.git
cd folo-ai-passport-niulai
source "$HOME/esp/esp-idf/export.sh"
scripts/test.sh
idf.py build
idf.py flash monitor
Detailed setup, packaging, and flashing commands are in Building.
Repository layout
components/bsp/ Board drivers and hardware constants
main/ Application state, UI, audio, and recording storage
main/assets/niulai/ Firmware-ready RGB565 and PCM assets
assets/niulai/ Human-viewable previews and provenance
tests/ Hardware-independent C tests
scripts/ Test and firmware-packaging entry points
docs/ User, build, architecture, and hardware documentation
The application keeps hardware-independent state in niulai_model, persistent voice storage in niulai_voice_store, and board access behind the BSP interfaces. See Architecture for the runtime and flash layout.
Development
scripts/test.sh
idf.py build
scripts/package-firmware.sh build dist dev
Pull requests run host tests and a complete ESP-IDF build. Tags matching v* create a GitHub Release with full, app-only, bootloader, partition-table, and checksum artifacts.
Read Contributing, Security, and the changelog before submitting a change.
License and acknowledgments
Source code is licensed under the MIT License. Media assets are not automatically covered by that license; see SOURCES.md.
Built for the FoloToy AI Passport using ESP-IDF, LVGL, esp_lvgl_port, button, and esp_codec_dev.
截图
特性
一键安装
通过 Web Serial API 在浏览器内直接刷写固件到你的 AI Passport
安装提示
推荐使用 FoloToy 官方 Web 刷机工具 安装固件。
- 首次安装或分区表发生变化:选择
folo-ai-passport-niulai-v0.0.2-full.bin,从地址0x0烧录。 - 已使用本项目分区表:可选择
folo-ai-passport-niulai-v0.0.2-app.bin,从地址0x10000更新。 - 烧录前请使用
SHA256SUMS校验文件完整性。
更新内容
- 全面重设计 240×320 中文界面,统一现代配色、字号和布局。
- 新增完整中文字体子集、音量进度条和录音状态反馈。
- 改进电量显示、自定义录音重置和声音存储可靠性。
- 精简遗留代码与文档,完善主机测试、CI 和自动发布流程。
注意
代码使用 MIT License;电影图片和音频素材可能受独立权利约束,重新分发前请阅读仓库中的素材说明。
完整变更:https://github.com/JollySun/folo-ai-passport-niulai/compare/v0.0.1...v0.0.2
需要 Chrome/Edge 89+ · 不支持时可查看手动教程
手动安装教程 ↗