You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An Offline Voice-Activated Robot with Dynamic OLED Facial Expressions
📖 Overview
VoxBot is an interactive, voice-controlled robotic platform designed to blend mobility with personality. Unlike cloud-dependent assistants, VoxBot utilizes the DFRobot DF2301Q module for high-speed, offline voice recognition, allowing it to respond instantly to 15+ commands.
The robot features a "Digital Soul" powered by a SH1106 OLED display, which renders various facial expressions—from "Sleeping" and "Sad" to "Dancing" and "Ready"—coordinated with its physical movements. Whether it's guarding its station or performing a dance, VoxBot provides a tangible example of human-robot interaction.
✨ Key Features
🎙️ Offline Voice Intelligence: Responds to specific Command IDs (CMDIDs) without needing an internet connection.
👁️ Reactive Expressions: A custom-coded graphics engine using the U8g2 library that changes eyes and mouth shapes based on the current action.
🕹️ 4-Wheel Drive Mobility: Controlled via an L298N/L293D driver for precise Forward, Reverse, and Turning maneuvers.
🎭 Animated Sequences: Complex "Dance" and "Guard" modes that combine servo head movements, wheel-base rotation, and facial animations.
⚡ Real-time Feedback: Serial monitoring of command IDs for easy debugging and interaction logging.
📸 Facial Expressions Preview
Normal
Happy/Dance
Sleeping
Sad
[ ][ ]
(^)(^)
z z Z
( T )( T )
🛠️ Hardware Requirements
Component
Qty
Notes
Arduino Uno/Nano
1
Main Controller
DFRobot DF2301Q
1
I2C Voice Recognition Module
SH1106 OLED (128x64)
1
I2C Display for Facial Expressions
L298N Motor Driver
1
Drives the 4 DC Motors
DC Motors + Wheels
4
Robot Chassis
SG90 Servo Motor
1
Head/Arm rotation (Pin 12)
7.4V Li-ion Battery
1
Power source for motors
🔌 Wiring Diagram
Arduino Pin
Component
Function
A4 (SDA)
OLED & Voice Module
I2C Data
A5 (SCL)
OLED & Voice Module
I2C Clock
D12
SG90 Servo
Signal Wire
D8 / D9
Motor Driver
Speed Control (enA / enB)
D2, D3, D4, D5
Motor Driver
Direction (in1, in2, in3, in4)
🗣️ Voice Command Map
Command ID
Voice Trigger
Action
Face Style
5
"Start Forward"
Moves forward + Servo sweep
Blink / Smile
7
"Reverse"
Moves backward
Normal
9
"Guard Mode"
Pivot turns + scanning
Normal
12
"Tired"
Stop all motion
Sleepy (Zzz)
13
"Dance"
Fwd/Back + Servo + Smiles
Excited
16
"Sad"
Move back slowly
Crying Eyes
🚀 Installation
Install Libraries:
DFRobot_DF2301Q
U8g2
Servo
Upload Code: Open the .ino file in Arduino IDE, select your board, and hit upload.
Calibrate Servo: Ensure the servo is centered at 180 degrees during assembly to allow for the code's 180 -> 105 sweep.
Created by Md Mahbubur Rahman.
About
This is an Arduino project. A desk companion Robot. Contain a Display, DF robot voice recognition module and an Arduino board.