RK3506 Voice Robot is a pure-C embedded AI voice assistant for Rockchip RK3506, using a 50ms event loop and static memory allocation. It includes ALSA capture, WiFi, HTTP upload, and LCD display via framebuffer.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (2 so far).
What it is
RK3506 Voice Robot is a pure-C embedded application intended to run on the Rockchip RK3506 development board. It records audio via ALSA, uploads it over WiFi to a remote AI agent, and renders the received reply on an LCD framebuffer. The project emphasizes static memory usage with no dynamic allocation at runtime and a single-threaded event loop.
How it works
The software uses a 50ms event loop in main.c to coordinate modules:
- Audio capture via ALSA PCM
- HTTP client to upload audio (multipart/form-data) to an AI server
- WiFi management via a WiFi manager
- Display rendering via a framebuffer with FreeType for text
- State machine with 5 states (IDLE, RECORDING, PROCESSING, RESULT, ERROR) handling transitions and errors
Key components include: audio_capture, wifi_manager, http_client, display, font_renderer, and state_machine. The design aims for 100% static memory allocation and no malloc/free at runtime.
Getting started
The README provides these steps:
-
Clone the repository and prepare dependencies
git clone https://github.com/yourname/rk3506-voice-robot.git cd rk3506-voice-robot# Debian/Ubuntu sudo apt install libasound2-dev libcurl4-openssl-dev \ libfreetype6-dev libconfig-dev cmake # Also install the aarch64 cross-compiler sudo apt install gcc-aarch64-linux-gnu -
Configure runtime in config/app_config.ini (WiFi credentials at minimum)
[wifi] ssid = "YourWiFiSSID" psk = "YourWiFiPassword" -
Cross-compile
mkdir build && cd build cmake .. -DTOOLCHAIN_PATH=/usr -DCMAKE_BUILD_TYPE=Release make -j$(nproc) -
Deploy and run on RK3506 board
# On the target device ./scripts/start_wifi.sh ./scripts/run_voice_robot.sh
Recent releases
- Releases: latest 0 listed as none; repository shows no tagged releases in the provided data.
Traction
- Stars: 67
License
- License: none listed
