explaingit

madebyparth/nova-ai

Analysis updated 2026-05-18

11PythonAudience · vibe coderComplexity · 4/5LicenseSetup · hard

TLDR

An open source project that builds a physical AI voice assistant on an ESP32 chip, using Gemini Live for real time spoken conversation and hardware control.

Mindmap

mindmap
  root((NovaAI))
    What it does
      Real time voice chat
      Streams mic audio
      Controls RGB lighting
    Tech stack
      Python
      FastAPI
      ESP32
      Gemini Live
    Use cases
      Physical voice assistant
      Hardware controlled by AI
      Barge in interruption
    Audience
      Vibe coders
      Hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a physical, always-on voice assistant device instead of relying on a phone app.

USE CASE 2

Control real hardware, such as RGB room lighting, through spoken AI commands.

USE CASE 3

Learn how to stream microphone audio from a microcontroller to a server in real time.

USE CASE 4

Experiment with letting a user interrupt an AI while it is speaking, known as barge-in.

What is it built with?

PythonFastAPIESP32WebSocketsGemini Live

How does it compare?

madebyparth/nova-ai2arons/llm-cliabe238/claude-video-plus
Stars111111
LanguagePythonPythonPython
Setup difficultyhardeasyeasy
Complexity4/52/53/5
Audiencevibe coderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires assembling and wiring physical ESP32 hardware, not just installing software.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

NovaAI is a personal project that builds a physical AI voice assistant using a small computer chip called an ESP32, instead of keeping the assistant inside a phone app or website. It uses Google's Gemini Live service to hold real time spoken conversations, and it can also control physical hardware in the room, like an RGB light, based on what it hears. A microphone connected to the ESP32 picks up your voice and streams the raw audio over the local Wi-Fi network to a Python server built with FastAPI. That server forwards the audio to Gemini Live, gets back a spoken response, and streams that audio back to the ESP32, which plays it through a small speaker. A ring of LED lights on the device changes color to show its current state, such as listening, thinking, or speaking, and you can interrupt Nova while it is still talking. Gemini can also trigger real actions, such as turning an infrared LED into a remote control signal for RGB room lighting. The project's author describes the interesting part not as calling an AI API, which is simple, but as everything around it: capturing clean audio on a small chip with limited power, sending it over a local network without noticeable delay, letting a person interrupt playback naturally, and turning an AI's decisions into real electrical signals. Setting it up means installing a few Python packages for the server, and separately programming the ESP32 chip with the included firmware using the Arduino development tools, along with a handful of Arduino libraries for the LEDs, infrared signals, and networking. The wiring diagram lists exact connections for the microphone, amplifier, speaker, LED ring, and infrared LED. Right now some settings like the Wi-Fi password and server address are written directly into the firmware code rather than kept in a separate configuration file, which the documentation says should change before wider use. The project is released under the MIT license, which allows free use, modification, and commercial use as long as the license and copyright notice are kept.

Copy-paste prompts

Prompt 1
Help me install the Python dependencies and start the FastAPI server for this project.
Prompt 2
Walk me through wiring the INMP441 microphone and MAX98357A amplifier to an ESP32.
Prompt 3
Explain how the ESP32 firmware connects to the FastAPI server over WebSockets.
Prompt 4
Show me how Gemini function calling triggers the IR LED to control room lighting.

Frequently asked questions

What is nova-ai?

An open source project that builds a physical AI voice assistant on an ESP32 chip, using Gemini Live for real time spoken conversation and hardware control.

What language is nova-ai written in?

Mainly Python. The stack also includes Python, FastAPI, ESP32.

What license does nova-ai use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is nova-ai to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is nova-ai for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.