Veerendra R. Patil
Project 05 — Voice robot
05 Robotics·Applied LLM

AI Voice-Controlled Robot

Speak to it in ordinary language and it moves. A language model handles the interpretation; a microcontroller handles the consequences.

RoleSole developer
StackGemini · Flutter · ESP8266 · WebSockets
AutonomyLine following · obstacle avoidance
LinkWebSocket command channel
Command path: spoken command in a Flutter app, interpreted by Gemini, sent over WebSockets to an ESP8266, which drives motors and reads sensors Voice Flutter app Natural language in Gemini Intent interpretation Language → command WebSocket Live command channel Low-latency, bidirectional ESP8266 Motors + sensors Line follow · avoid
Command path — diagram drawn for this case study Fig. 01
01 — Overview

The gap between a sentence and a motor

Voice control of a robot is easy to demo and hard to make behave. A spoken instruction is ambiguous, arrives late, and says nothing about the obstacle two feet ahead. Meanwhile the microcontroller driving the motors has none of the context needed to interpret it.

This robot splits the problem cleanly: Gemini turns natural language into a command, and the ESP8266 stays responsible for everything that has to happen in milliseconds.

02 — System

Two layers, deliberately separated

  • A Flutter app captures the command and provides the interface — a recording state, a speaking state, and a visible command queue so you can see what the robot has been asked to do and what it has left.
  • Gemini interprets natural-language instructions rather than matching a fixed keyword list.
  • The robot answers back in speech, not just motion — it introduces itself as Jarvis, a robot assistant built for RoboCell, the robotics club at NIT Durgapur.
  • Commands travel over WebSockets — a persistent bidirectional channel, so control is continuous rather than request-response.
  • An ESP8266 drives the motors and reads the sensors.
03 — Autonomy

It does not need to be told everything

Underneath the language layer the robot keeps its own reflexes: line following and obstacle avoidance run on the microcontroller regardless of what is being said to it. High-level intent comes from above; the safety and tracking behaviour stays local, where it can react at sensor speed.

04 — Demo

Talking to it

Play with sound — the commands are spoken

A spoken instruction goes in through the app; the robot answers in speech and then acts on it. The panel on the left shows the live transcript, the centre shows whether it is listening or speaking, and the right holds the command queue.

Unedited capture — audio is the point of this one

05 — Technologies

Intelligence

  • Gemini

App

  • Flutter
  • Dart

Link

  • WebSockets

Robot

  • ESP8266
  • Motors
  • Sensors
06 — Repository

Source

Code on GitHub.

Veerendra R. Patil — © 2026 Back to index