How to make a Bluetooth controlled cute dog with Arduino

Hello and welcome back. In this project, we will learn how to make a Bluetooth-controlled cute dog with Arduino. For this build, I mainly used the Arduino Nano board because it’s small and easy to fit into the body. I also used two SG90 servo motors for the dog’s legs, which allow the dog to move smoothly. For the Bluetooth communication, I used the HC-05 Bluetooth module together with the SriTu Hobby app, so we can control the dog wirelessly using our phone.
I also designed a custom PCB for this project with JLCPCB. Because of that, we don’t need any additional chassis, jumper wires, or messy wiring. This project is a great way to learn about servos, Bluetooth control, and PCB designing.
Ok, let’s do this project step by step. The required components are given below.
- Arduino Nano board x 1 — Our Store / Amazon
- 5mm Red LED x 2 — Our store / Amazon
- 180 ohm Resistor x 2 — Our store / Amazon
- Cater wheel x 1 — Our store / Amazon
- Barrel jack socket x 1 — Our store / Amazon
- Female header x 1 — Our store / Amazon
- Male header x 1 — Our Store / Amazon
- HC-05 Bluetooth module x 1 — Our Store / Amazon
- 5V Active buzzer x 1 — Our store / Amazon
- Servo motor x 2 — Our Store / Amazon
Disclosure: These Amazon links are Affiliate links. As an Amazon Associate, I earn from qualifying purchases.
Step 1
Firstly, identify these components.









Step 2
Secondly, let’s order the PCBs for this project. For that, follow the steps below.




- Click the “Instant Quote” button and upload the Gerber file, which you can download from the link below.
- Gerber file – Download
- For this project, I ordered five Purple PCBs. Next, select the build time and shipping method. Finally, click “Save to Cart” and complete the payment.





Step 3
Thirdly, go ahead and unbox your PCB package to check the boards.





Step 4
Next, solder all the components onto the PCB.




Step 5
Afterward, install the servo motors. For that, I used cable ties to mount them securely. Then, connect the servo wires to the PCB.





Step 6
Next, install the caster wheel. Then, connect the dog legs to the servo horns. For that, I used popsicle sticks to make the leg structure. You can use any other suitable materials.





Step 7
Now, connect the Arduino Nano board to the PCB and then to your computer. After that, copy and paste the following program into the Arduino IDE.
- Program — Download
#include <Servo.h>
// Servo pins
#define servo1 3 // Front-left paw
#define servo2 5 // Front-right paw
#define LED1 11
#define LED2 10
#define buzzer 12
Servo leg1, leg2;
char value;
void setup() {
Serial.begin(9600);
leg1.attach(servo1);
leg2.attach(servo2);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(buzzer, OUTPUT);
// -------------------------
// CUTE DOG WAKE-UP CALL
// -------------------------
wakeUp();
}
void loop() {
if (Serial.available() > 0) {
value = Serial.read();
if (value == 'U') forward();
else if (value == 'D') backward();
else if (value == 'L') left();
else if (value == 'R') right();
else if (value == 'S') Stop();
else if (value == 'T') wavePaw();
else if (value == 'F') happyDance();
else if (value == 'H') sleepMode();
else if (value == 'G') alertMode();
else if (value == '1') tailWag();
else if (value == '3') cuteBark();
}
}
// =========================
// WAKE UP ANIMATION
// =========================
void wakeUp() {
// Dog "opening eyes slowly"
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
delay(400);
analogWrite(LED1, 50);
analogWrite(LED2, 50);
delay(400);
analogWrite(LED1, 150);
analogWrite(LED2, 150);
delay(400);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
// Stretch paws
for (int i = 0; i < 2; i++) {
leg1.write(60);
leg2.write(60);
delay(300);
leg1.write(120);
leg2.write(120);
delay(300);
}
leg1.write(90);
leg2.write(90);
// Rising beep “yawn”
tone(buzzer, 400, 200);
delay(250);
tone(buzzer, 650, 200);
delay(250);
tone(buzzer, 900, 250);
delay(300);
noTone(buzzer);
}
// =========================
// BASIC MOVEMENT
// =========================
void forward() {
leg1.write(60);
leg2.write(120);
}
void backward() {
leg1.write(120);
leg2.write(60);
}
void left() {
leg1.write(70);
leg2.write(70);
}
void right() {
leg1.write(110);
leg2.write(110);
}
void Stop() {
leg1.write(90);
leg2.write(90);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
noTone(buzzer);
}
// =========================
// DOG ANIMATIONS
// =========================
void wavePaw() {
for (int i = 0; i < 4; i++) {
leg1.write(60);
delay(200);
leg1.write(90);
delay(200);
}
cuteBark();
}
void tailWag() {
for (int i = 0; i < 6; i++) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(100);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(100);
}
}
void cuteBark() {
tone(buzzer, 700, 120);
delay(150);
tone(buzzer, 900, 80);
delay(100);
}
void happyDance() {
for (int i = 0; i < 6; i++) {
leg1.write(70);
leg2.write(110);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
tone(buzzer, 1000, 80);
delay(150);
leg1.write(110);
leg2.write(70);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
tone(buzzer, 1200, 80);
delay(150);
}
}
void sleepMode() {
Stop();
for (int i = 0; i < 5; i++) {
analogWrite(LED1, 30);
analogWrite(LED2, 30);
tone(buzzer, 200, 500); // snore
delay(700);
noTone(buzzer);
delay(400);
}
}
void alertMode() {
for (int i = 0; i < 6; i++) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
tone(buzzer, 300, 80);
delay(120);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(120);
}
}- Next, select the correct board and port. After that, click the upload button.




Step 8
Afterward, remove the USB cable and connect the Bluetooth module to the PCB. Then, connect the power source to your cute dog. For that, I used two Li-ion batteries, but you can also use a 9V battery.




Step 9
Next, download and install the SriTu Hobby app from the Play Store.
- SriTu Hobby App — Download
- Now, open the app and select the Bluetooth Car Remote. Then, click the gear wheel icon and find your device. In this case, you need to enable location and allow the location permission.
- Finally, you will see the green indicator. Now you can control your cute dog using your remote.




Ok, enjoy your project. The full video guide is given below. We hope to see you in the next project. Have a great day!
How to make a Bluetooth controlled cute dog with Arduino