Loading repository dataβ¦
Loading repository dataβ¦
StarmoonAI / repository
A conversational, AI device + software framework for companionship, entertainment, education, healthcare, IoT applications, and DIY robotics. Built with Python, NextJS, Arduino, ESP32, LLMs (GPT-4o), Deepgram STT and Azure TTS π€
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Starmoon is no longer actively maintained. If you're looking to run realtime, multimodal voice AI on ESP32 and local devices, this work has continued under:
π ElatoAI: https://github.com/akdeb/ElatoAI
ElatoAI builds on many of the ideas explored in Starmoon, with improved WiFi and 2-way voice AI audio reliability, global availability, and production-ready architecture.
Starmoon is an affordable, compact AI-enabled device, you can take anywhere and converse with. It can understand your emotions and respond with empathy, offering supportive conversations and personalized learning assistance.
https://github.com/user-attachments/assets/99a45810-0322-4945-b363-716e75d1c4dd
If you can't see the video, you can watch it here
Software:
git clone https://github.com/StarmoonAI/Starmoon.gitHardware list (Tax and shipping rates may vary by region)
| Component | Seeed Studio XIAO ESP32S3 | ESP32-S3 |
|---|---|---|
| I2S Input (Microphone) | ||
| SD | D0 | GPIO 14 |
| WS | D1 | GPIO 1 |
| SCK | D2 | GPIO 4 |
| I2S Output (Speaker) | ||
| WS | D5 | GPIO 5 |
| BCK | D6 | GPIO 6 |
| DATA | D4 | GPIO 7 |
| SD (shutdown) | D3 | N/A |
| Others | ||
| LED Red | D7 | GPIO 9 |
| LED Green | D8 | GPIO 8 |
| LED Blue | D9 | GPIO 13 |
| Button | D10 | GPIO 2 |
If you are using the Seeed Studio XIAO ESP32S3, then you can directly connect the lithium battery to the back of the ESP32.
Step 1: If you use normal ESP32-S3 chip, otherwise you can skip this step:
please go to Config.h and uncomment the USE_NORMAL_ESP32_S3 line and comment the USE_XIAO_ESP32_DEVKIT line.
// ----------------- Pin Definitions -----------------
// Define which board you are using (uncomment one)
#define USE_NORMAL_ESP32_S3
// #define USE_XIAO_ESP32_DEVKIT
// #define USE_XIAO_ESP32
// #define USE_NORMAL_ESP32
// #define USE_ESP32_S3_WHITE_CASE
Then, go to platformio.ini and uncomment the [env:esp32-s3-devkitm-1] block and comment the [env:seeed_xiao_esp32s3] line.
; [env:seeed_xiao_esp32s3]
; platform = espressif32
; board = seeed_xiao_esp32s3
; framework = arduino
; monitor_speed = 115200
[env:esp32-s3-devkitm-1]
platform = espressif32
board = esp32-s3-devkitm-1
framework = arduino
monitor_speed = 115200
Step 2: Click PlatformIO Icon in VScode left sidebar
firmware folder in the current project.Step 3: Build the firmware
Build button in the PlatformIO toolbar or run the build task.Step 4: Upload the firmware to the device
Upload button to run the upload task, or Upload and Monitor button to run the upload task and monitor the device.Step 5: Hardware usage
Turn on the device by main button and wait for the LED to turn on.
Use your phone/tablet/pc to connect "Starmoon-xxx" WiFi and follow the instructions to set up internet connection (only support 2.4Ghz WiFi).
This project is licensed under the GPL-3.0 License - see the LICENSE file for details