Voice Control Candy Bot

Published Jun 11, 2026
 6 hours to build
 Intermediate

The Voice Controlled Candy Bot is an interactive Arduino UNO-based smart robot that responds to voice commands received from a smartphone through a Bluetooth module. The bot uses an RGB LED to display different emotions and actions through color patterns, creating an engaging human-machine interaction experience.

display image

Components Used

Bluetooth Module HC-05
Bluetooth is a wireless communication protocol used to communicate over short distances. It is used for low power, low cost wireless data transmission applications over 2.4 – 2.485 GHz (unlicensed) frequency band.
1
RGB LED
RGB LED
1
Resistor 1 kOhms
Metal Film Resistors - Through Hole 1K ohm 1/4W 1%
1
Male to Female Jumper Wire
Jumper Wires Mach pin jumper wires
1
Connecting Wire Jumper Wires
Connecting Wire Breadboard wires
1
Arduino UNO
Arduino UNO
1
Breadboard Half Size
Breadboard Half Size
1
5VDC Adapters Power Supply
Wall Mount AC Adapters ac-dc, 5 Vdc, 2 A, SW, wall-plug, EU, P5 center pos, level VI, black
1
Arduino IDE software
this software was used for burning the GRBL firmware into ARDUINO UNO
1
Description

Aim and scope of the Project:

The main aim of this project is to design a Voice Controlled Candy Bot using an Arduino UNO and Bluetooth communication. The bot responds to voice commands received from a smartphone application and displays different emotions and actions using an RGB LED. This project demonstrates wireless communication, voice-based control, embedded systems programming and human-machine interaction.

The system provides an interactive platform where users can control the bot through simple voice commands. It helps students understand Bluetooth communication, Arduino programming, RGB LED control and mobile-based automation. The project can be extended for smart toys, educational robots, assistive devices and interactive robotic systems.

1. Construction of the Project

This project is implemented using an Arduino UNO, HC-05 Bluetooth module, RGB LED and a smartphone running the Arduino Bluetooth Connect application. The present project can be done with any Arduino Board but due to basic level learner's the Arduino UNO is used in the project.

Components Required

ComponentPurpose
Arduino UNOMain controller
HC-05 Bluetooth ModuleWireless communication
RGB LED (Common Cathode)Emotion indication
220 Ω Resistors (3 Nos.)Current limiting
BreadboardCircuit assembly
Connecting WiresInterconnections
SmartphoneVoice command input
Arduino Bluetooth Connect AppVoice control interface

Pin Connections

The following table shows the component/device connections to Arduino UNO board pins. 

Arduino UNO PinConnected DeviceFunction
D2RGB LED Red PinAnger indication
D3RGB LED Green PinHappy indication
D4RGB LED Blue PinSad indication
D10HC-05 TXBluetooth communication
D11HC-05 RXBluetooth communication
5VHC-05 VCCPower supply
GNDHC-05 GNDCommon ground

Circuit Design and Construction

After collecting the required components, the circuit is assembled according to the circuit diagram designed with Cirkit Designer software.

The HC-05 Bluetooth module is connected to the Arduino UNO through Software Serial communication using Rx on Bluetooth pins to Arduino D11 pin for Tx and Tx on Bluetooth to Arduino pin D10 for Rx. Hardware serial connection on Arduino can use but I used software serial communication for this project.

RGB LED with Common cathode:

The RGB LED is connected through current-limiting resistors to protect the LED from excessive current. Arduino hardware D2 pin is connected to RED pin, D3 pin is connected to GREEN pin and D4 pin is connected to BLUE pin. The RGB LED can be common anode or cathode type, in current project it is common cathode type used and it is connected to GND.

The complete physical hardware with connections is placed inside the dancing toy as shown in the figure below.

The smartphone is paired with the HC-05 Bluetooth module. Voice commands spoken through the Arduino Bluetooth Connect application are converted into text and transmitted wirelessly to the Arduino UNO.

The Arduino continuously monitors the incoming Bluetooth data and performs the corresponding action based on the received command.

2. Programming

Flow Chart

The following flow chart illustrates the working logic of the Voice Controlled Candy Bot.

	Start System
		↓
Initialize Bluetooth Module
		↓
Wait for Voice Command
		↓
Receive Command from Smartphone
		↓
  Compare Command
		↓
 Anger → RED LED ON
 Happy → GREEN LED ON
   Sad → BLUE LED ON
 Dance → RGB Color Sequence
 Take rest → LEDs OFF
Wake Up → WHITE Color
		↓
Repeat Continuously

Arduino Program

The Arduino IDE is used to write, compile, and upload the program into the Arduino UNO board.

The program receives Bluetooth commands from the HC-05 module and controls the RGB LED according to the selected emotion or action. The Mobile app ARDUINO BLUETOOTH CONNECT APP is available in play for Android Version from URL https://play.google.com/store/apps/details?id=com.giristudio.hc05.bluetooth.arduino.control download and install in the Android Smartphone. 

The Smartphone Bluetooth is enabled and scan to appear the exact Bluetooth device to pair and connect.

Scan and pair the Project device with default pairing code in Smartphone as follows to establish connection.

After the pairing open the Arduino Bluetooth connect app it will show available gadgets in the app. In the current project we are using Voice Terminal. If the connection is establish it shows GREEN mark or else it will be RED disconnection logo in app.

Hold-on the Voice button on the app and speak with google voice it will interact with Project hardware kit and then action will be performed on the Hardware kit.

Supported Voice Commands: With the App voice commands the hardware kit respond accordingly in wireless communication.

• Candy show Anger

• Candy show Sad

• Candy show Happy

• Candy Dance Mode

• Candy Wake Up

• Candy Take Rest

The complete Arduino program is provided in the source code section below.

#include <SoftwareSerial.h>
String value;

int TxD = 11;
int RxD = 10;

const int redPin = 2;
const int greenPin = 3;
const int bluePin = 4;

SoftwareSerial bluetooth(TxD, RxD);

void setColor(bool r, bool g, bool b)
{
  digitalWrite(redPin, r);
  digitalWrite(greenPin, g);
  digitalWrite(bluePin, b);
}

void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
  Serial.begin(9600);
  bluetooth.begin(9600);
  setColor(0, 0, 0);
}

void loop()
{
  if (bluetooth.available())
  {
    value = bluetooth.readString();
    value.trim();
    value.toLowerCase();
    Serial.println(value);

    // ANGER = RED
    if (value == "candy show anger")
    {
      setColor(1, 0, 0);
      Serial.println("Angry Mode");
    }

    // HAPPY = GREEN
    else if (value == "candy show happy")
    {
      setColor(0, 1, 0);
      Serial.println("Happy Mode");
    }

    // SAD = BLUE
    else if (value == "candy show sad")
    {
      setColor(0, 0, 1);
      Serial.println("Sad Mode");
    }

    // TAKE REST = OFF
    else if (value == "candy take rest")
    {
      setColor(0, 0, 0);
      Serial.println("Sleep Mode");
    }

    // WAKE UP = WHITE
    else if (value == "candy wake up")
    {
      setColor(1, 1, 1);
      Serial.println("Wake Up Mode");
    }

    // DANCE = MULTICOLOR EFFECT
    else if (value == "candy dance mode")
    {
      Serial.println("Dance Mode");

      for (int i = 0; i < 3; i++)
      {
        setColor(1, 0, 0);  // Red
        delay(300);
        setColor(0, 1, 0);  // Green
        delay(300);
        setColor(0, 0, 1);  // Blue
        delay(300);
        setColor(1, 1, 0);  // Yellow
        delay(300);
        setColor(0, 1, 1);  // Cyan
        delay(300);
        setColor(1, 0, 1);  // Magenta
        delay(300);
        setColor(1, 1, 1);  // White
        delay(300);
      }
    }
  }
}

3. Execution and Operation

The Arduino program is uploaded using the Arduino IDE.

After uploading:

  1. Power ON the Arduino UNO.
  2. Open the Arduino Bluetooth Connect application in Smartphone App

  3. Pair the smartphone with the HC-05 Bluetooth module

  4. Check the Connect is establish in the App.

  5. Press the Voice Command button.

  6. Speak any supported command.

 

The Arduino receives the command and immediately updates the RGB LED according to the selected emotion.

Emotional Responses

• candy show Anger → Red Color

• candy show Happy → Green Color

• candy show Sad → Blue Color

• candy Dance mode → Multiple Color Animation

• candy Take Rest → All LEDs OFF

• candy Wake Up → White Color

This creates an interactive Candy Bot capable of expressing emotions using color patterns.

4. Video Demonstration

The operation of the Voice Controlled Candy Bot is demonstrated through the attached video. The video shows how voice commands received through Bluetooth are processed by the Arduino UNO to generate different emotional states and actions using the RGB LED.

The demonstration highlights real-time wireless control, Bluetooth communication, and emotion-based visual interaction between the user and the Candy Bot.

Applications 

The current project device is useful in different applications like

• Smart Toys

• Educational Robotics

• Interactive Learning Systems

• Human-Machine Interface Projects

• Bluetooth-Based Automation

• Smart Home Demonstrations

• STEM Education Projects

Future Enhancements

The project can be further enhanced by:

• Adding servo motors for facial movement.

• Integrating sound effects and speech responses.

• Using OLED displays for animated expressions.

• Implementing AI-based emotion recognition.

• Adding IoT connectivity for remote operation.

• Integrating gesture recognition systems.

Conclusion

The Voice Controlled Candy Bot successfully demonstrates a Bluetooth-based interactive robotic system using Arduino UNO. The project receives voice commands from a smartphone and responds by displaying different emotions and actions through an RGB LED. The implementation provides an effective demonstration of wireless communication, embedded systems programming and human-machine interaction.

The project is simple, low-cost and easy to implement while offering an engaging user experience. It serves as an excellent educational platform for learning Arduino programming, Bluetooth communication and voice-controlled automation. With additional sensors and intelligent algorithms, the system can be extended into advanced social robots, smart assistants and interactive robotic applications.

Codes

Downloads

circuit_image Download

Institute / Organization

SWASHAKTHI ENERGY
Comments
Ad