Software Install (Version 2)
This page is the checklist for the Nova App Launcher (GUI), which runs Nova in one neat window. Under the hood it starts the same two scripts: nova_cli.py (voice + AI) and face_tracking.py (camera + tracking).
- create the Nova folder
- install Python
- install the libraries
- install Ollama
- install Piper (TTS)
- then run Nova (App Launcher)
Before you start: create your Nova folder
Put everything inside one folder in your Documents, like: C:\Users\YourName\Documents\Nova Desktop\
You can create this folder either in Windows (right-click → New folder) or using Command Prompt:
cd %USERPROFILE%\Documents
mkdir "Nova Desktop"
Your Nova folder should contain: nova_app_launcher.py, nova_cli.py, face_tracking.py, and an animations folder. (These come from the download pack.)
1) Install Python
- Install Python 3.10 (64-bit) (recommended for best compatibility).
- During install, tick: Add Python to PATH.
- Verify in Command Prompt:
python --version
pip --version
If python doesn’t work, try py instead: py -3.10 --version
2) Install required libraries
These cover Nova CLI (speech + LLM + audio) and face tracking (camera + tracking + UDP).
Core (Nova CLI)
pip install numpy sounddevice simpleaudio ollama faster-whisper pygrabber
Face tracking (camera + tracking)
pip install opencv-python mediapipe
Common extras
pip install requests
Version 2 uses a USB camera (not RealSense), so you don’t need pyrealsense2 or Intel drivers.
3) Install / run Ollama
- Install Ollama for Windows and confirm it runs.
Requires Windows 10 or later.
ollama --version
ollama pull nova-phi4-mini
ollama list
ollama run nova-phi4-mini
Verify the model name in your script matches what you pulled (example: nova-phi4-mini).
If your model name is different, update MODEL_NAME in your Python scripts.
Nova Modelfile (required for “Nova” behaviour + animations)
Nova uses a custom Modelfile so Ollama responds in Nova’s format (including animation/emotion tags). You’ll find the Modelfile in your download pack.
-
Copy the file named Modelfile into your Windows home folder (your user directory):
C:\Users\YourName\Modelfile(same as%USERPROFILE%\Modelfile). - Then create the Nova model from that file:
cd %USERPROFILE%
ollama create nova-phi4-mini -f Modelfile
After that, ollama run nova-phi4-mini should behave like Nova, and your scripts can use
MODEL_NAME = "nova-phi4-mini" for the correct responses.
4) Install Piper (TTS) (Windows)
Piper is Nova’s text-to-speech engine. nova_cli.py expects Piper in these exact locations by default:
- Piper executable:
C:\piper\piper.exe - Voice models folder:
C:\piper\models\
This means you don’t need to add Piper to PATH — the script calls it by full path.
A) Create the Piper folders (Command Prompt)
mkdir C:\piper
mkdir C:\piper\models
B) Download Piper (zip) + extract to C:\piper\
Download the Windows release zip from the official Piper releases page and extract it into: C:\piper\
After extracting, you should have piper.exe directly inside C:\piper\.
If the zip extracts an extra folder layer (common), just move the contents so that piper.exe
sits directly in C:\piper\.
C) Test Piper (Command Prompt)
C:\piper\piper.exe --help
D) Download a voice model (put it in C:\piper\models\)
Piper needs a voice. Download both files for a voice:
.onnx and the matching .onnx.json, and put them in:
C:\piper\models\
Browse Piper voices Listen to voice samples
Example: if you choose en_GB-cori-high, you’ll typically download:
en_GB-cori-high.onnx and en_GB-cori-high.onnx.json
and place both into C:\piper\models\.
E) Generate a test WAV
Replace the voice filename with the one you downloaded:
echo Hello, I am Nova. | C:\piper\piper.exe --model "C:\piper\models\en_GB-cori-high.onnx" --output_file "C:\piper\test.wav"
F) Confirm nova_cli.py matches your chosen voice
In nova_cli.py, the Piper command looks like this. Make sure the --model path matches the voice you picked:
command = (
f'echo {safe_text} | '
f'"C:\\piper\\piper.exe" '
f'--model "C:\\piper\\models\\en_GB-cori-high.onnx" '
f'--output_file "{wav_path}"'
)
If you picked a different voice, just change en_GB-cori-high.onnx to your chosen filename.
Also make sure the matching .onnx.json file is in the same folder as the .onnx.
5) Audio setup (mic + speaker)
- Plug in your mic and speakers/headphones.
- In Windows Sound settings, set the correct Input device (mic).
- If Whisper cuts out early, increase mic gain and speak closer to the mic.
If sounddevice complains about devices, reinstall it and reboot. Audio drivers can be fussy on Windows.
6) USB camera + face tracking setup (Version 2)
- Plug in the USB camera.
- Run Nova and confirm the camera feed appears when face tracking starts.
- If you get a black screen: try another USB port, close other camera apps, and reboot.
The Nova App Launcher starts face tracking automatically. If you moved files/folders, update the face tracking path in
nova_app_launcher.py / nova_cli.py (depending on your pack version), for example:
FACE_TRACKING_SCRIPT = r"...\\face_tracking.py"
If your camera index is wrong (common): update the camera selection inside your face tracking script
(usually cv2.VideoCapture(0) → try 1 or 2).
7) Networking / UDP (Nova servo boards)
- Your computer and ESP32 boards must be on the same Wi-Fi network.
- To find your PC IP: open Command Prompt and run:
ipconfig
If you need to change board IPs, update these in nova_cli.py: ARM_IP, TORSO_IP, and ports.
When the ESP32 successfully connects to your router, the little white status LED will flash on and off.
8) Run Nova (App Launcher)
From your Nova folder:
cd "%USERPROFILE%\Documents\Nova Desktop"
python nova_app_launcher.py
The App Launcher opens a simple GUI. Press Start to begin: it launches face tracking + the Nova voice/AI script together. Press Stop to end the session cleanly.
Your Nova folder should contain: nova_app_launcher.py, nova_cli.py, face_tracking.py, and an animations folder.
If you stored Nova somewhere else, update the paths inside nova_app_launcher.py / nova_cli.py, especially:
ANIM_DIR and any face tracking script path.
Trouble?
- Module not found: run the
pip install ...commands again, then retry. - Camera not detected: try another USB port, close other camera apps, reboot.
- No audio input: check Windows input device + mic permissions.
- Ollama errors: verify Ollama is running and the model name exists.
- Modelfile errors: make sure the file is named exactly
Modelfile(no.txt), and run theollama create ...command again. - Piper errors: confirm
C:\piper\piper.exeexists and your voice.onnx+.onnx.jsonare insideC:\piper\models\.