Skip to main content

Step 1: Clone the repository

If you’re on Windows, we recommend using WSL2.
  1. Install WSL2 and Ubuntu.
  2. Open Ubuntu (WSL).

Step 2: Start Supabase (Local Backend)

We use Supabase (Postgres + Auth + Storage) to store users, devices, voices, personalities, and conversations. Before you start:
  • Docker Desktop must be installed and running.
Install the Supabase CLI:
Then start Supabase from the repo root:
Run everything inside WSL2, with Docker Desktop installed on Windows.

Step 3: Set up your NextJS frontend

From the frontend-nextjs directory:
Then set the following in .env.local:
  • NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key>
  • OPENAI_API_KEY=<your-openai-api-key>
Run the local NextJS setup:
To Login, use these credentials for local development:
  • Email: admin@elatoai.com
  • Password: admin

Choose Edge Server option

  1. ELATO MODE (Free usage): Got your own ESP32 DIY hardware device? We offer a fully hosted server for free for up to 30 minutes per month. Register your device on the settings page and it will automatically connect to our edge server.
    • Sign up on Elato
    • Register your device with your ESP32-S3’s MAC Address in the Settings page
  2. DEV MODE (Local on your computer): Alternatively, you can run your own edge server locally by following the instructions below and in the Deno server README.
Pro Tip: You can adjust your mode in firmware-arduino/Config.h.

Step 4: If you run your own Deno edge server locally

The commands below are the same on macOS, Linux, and Windows (via WSL2). From the repo root:
Set your keys in .env:
  • SUPABASE_KEY=<your-supabase-anon-key>
  • OPENAI_API_KEY=<your-openai-api-key>
  • GEMINI_API_KEY=<your-gemini-api-key>
  • XAI_API_KEY=<your-xai-api-key>
  • ELEVENLABS_API_KEY=<your-elevenlabs-api-key>
  • HUME_API_KEY=<your-hume-api-key>
Run the server at port 8000:

Step 5: Set up your firmware dev environment

PlatformIO (recommended)

Arduino IDE

Step 6: Setup complete!

  1. Yay! You’ve now setup your NextJS frontend, Deno server and firmware succesfully.
  2. If your API Keys are set and have sufficient credits, you should now be able to talk to your voice AI characters.

Try these AI models

Elato now supports 5 major model providers. Now that you’re fully set up, you can plug & play these within seconds.

Local AI

Fully Local Home Toys are coming soon! 😊

OpenAI

Try out gpt-realtime multimodal models

Gemini

Try Gemini Live API models

Grok

You can try Grok Voice Agents on your hardware

Eleven Labs

Bring your Eleven Labs Voice clones to your hardware

Hume AI

Try Hume AI’s expressive EVI-4 on your hardware
Need help? Join our Discord community and to any questions and share ideas.