DIY Automatic Chapathi Maker

DIY Automatic Chapathi Maker 🫓Arduino Robotic Kitchen Project for Kids
🫓 ROBOTICS FOR KIDS · LEVEL: ADVANCED

Build a Mini Robot That Makes Chapathis From Start to Finish!

Meet Chapo — a miniature robotic kitchen line! A robot arm places a dough ball, motorized rollers flatten it into a circle, a conveyor carries it to a rotating warming plate, a servo flips it once, and Chapo serves it onto a tiny plate.

⏱️ 6–8 hours 🎂 Ages 12+ (with an adult) 🍳 5-Stage Robotic Line
Cooking...

🍳 Say hi to Chapo, your robot chapathi maker!

What Is an Automatic Chapathi Maker Robot, Anyway?

This project recreates a real food-production line in miniature! Chapo takes a small dough ball all the way through five automated stages — placing, rolling, conveying, cooking with a flip, and serving — using a robotic arm, motorized rollers, a conveyor belt, and a couple of clever servos, all coordinated by one Arduino.

🦾 Robotic Placement Arm 🌀 Motorized Flattening Rollers ➡️ Conveyor Belt 🔄 Rotating Warming Plate 🍽️ Automatic Serving
🧰

What You'll Need

Gather these parts before you start building Chapo's kitchen line!

x1

Arduino Uno

The brain that runs all five cooking stages in sequence.

x2

SG90 Servos (Placement Arm)

One for the shoulder swing, one for the gripper.

x1

DC Motor + L298N Driver (Rollers)

Spins a pair of small rollers that flatten the dough ball.

x1

DC Motor + Belt (Conveyor)

Carries the flattened dough over to the warming plate.

x1

Continuous Rotation Servo (Tawa)

Slowly rotates the warming plate for even cooking.

x1

SG90 Servo (Flipper)

Slides under the chapathi and flips it once.

x1

SG90 Servo (Serving Arm)

Pushes the finished chapathi onto a mini plate.

x3

IR Sensors

Detect dough position at the roller exit, tawa arrival, and serving point.

x1

0.96" I2C OLED Display

Shows live status like "Rolling..." and "Chapathi Ready!"

x1

Small Buzzer

Beeps once the chapathi is served.

x1

Low-Power Warming Plate

A safe, low-voltage warm surface — not a real stove (see Safety First below).

~25

Jumper Wires + Breadboard

Connects every motor, servo, and sensor.

🔌

The Circuit Diagram

Four servos, two DC motors, three IR sensors, an OLED, and a buzzer — all coordinated by one Arduino Uno.

Arduino Uno UNO Pin 3 — Arm Shoulder Servo Pin 5 — Arm Gripper Servo Pin 6 — Flipper Servo Pin 9 — Serving Arm Servo Pin 10 — Tawa Rotation Servo Pins 7,8 — Roller Motor Pins 12,13 — Conveyor Motor Pin 2 — Roller Exit IR Pin 4 — Tawa Arrival IR A0 — Serving IR · A1 — Buzzer A4,A5 — OLED (I2C) 5V GND Placement Arm (2 servos) Roller Motor (L298N) Conveyor Motor (L298N) Tawa Rotation Servo Flipper + Serving Servos 3x IR Sensors OLED Display
4 servos → pins 3,5,6,9,10 Roller motor → pins 7,8 · Conveyor → pins 12,13 IR sensors → pins 2,4,A0 Buzzer → A1 · OLED (I2C) → A4,A5
🛠️

Step-by-Step Build Instructions

We'll build each stage of the line in order, then connect them all. Work with an adult on the rollers and warming plate!

1

Build the dough placement arm

Mount the shoulder servo so it can swing between a dough ball holder and the roller entrance, with the gripper servo on its end to pick up and release the dough ball.

2

Build the flattening rollers

Mount two small rollers close together, geared or belted to spin together from one DC motor, with just enough gap for a dough ball to squeeze through and flatten.

💡 Tip: Test the roller gap with soft play-dough first — too tight and it jams, too loose and it won't flatten!
3

Build the conveyor belt

Attach a small belt loop between two rollers, driven by a DC motor, running from just after the flattening rollers over to the warming plate.

4

Set up the rotating warming plate

Mount a small round platform on the continuous rotation servo to act as the "tawa," slowly turning so the chapathi warms evenly on each side.

5

Add the flipper and serving servos

Mount the flipper servo with a thin flat paddle that can slide under the chapathi and flip it, and the serving servo with a small arm that pushes the finished chapathi off onto a mini plate.

6

Place the IR sensors

Mount one IR sensor at the roller exit, one at the warming plate's arrival point, and one at the serving position, so the Arduino always knows exactly where the dough or chapathi is.

7

Add the OLED and buzzer

Mount the OLED where it's easy to see the current stage, and place the buzzer nearby to celebrate each finished chapathi.

8

Wire everything and test

Connect every servo, motor, and sensor exactly as shown in the circuit diagram, upload the code, and place a soft dough ball at the start to watch the whole line run!

💻

The Arduino Code

This code needs the Servo, Wire, and Adafruit_SSD1306 libraries. Copy it into the Arduino IDE and click Upload.

chapathi_maker.ino
// 🫓🤖 Chapo the Automatic Chapathi Maker — Arduino Robotic Kitchen Project
// Runs a full 5-stage line: place, roll, convey, cook + flip, serve

#include <Servo.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Servo armShoulder, armGripper, flipper, servingArm, tawaSpin;
Adafruit_SSD1306 display(128, 64, &Wire, -1);

// ---- Roller + conveyor motors (full-speed via L298N, no PWM needed) ----
const int rollerIN1 = 7, rollerIN2 = 8;
const int convIN1 = 12, convIN2 = 13;

// ---- Position sensors ----
const int rollerExitIR  = 2;
const int tawaArrivalIR = 4;
const int servingIR     = A0;
const int buzzerPin     = A1;

void setup() {
  armShoulder.attach(3);
  armGripper.attach(5);
  flipper.attach(6);
  servingArm.attach(9);
  tawaSpin.attach(10);

  pinMode(rollerIN1, OUTPUT); pinMode(rollerIN2, OUTPUT);
  pinMode(convIN1, OUTPUT);   pinMode(convIN2, OUTPUT);
  pinMode(rollerExitIR, INPUT);
  pinMode(tawaArrivalIR, INPUT);
  pinMode(servingIR, INPUT);
  pinMode(buzzerPin, OUTPUT);

  armShoulder.write(0);
  armGripper.write(0);
  flipper.write(0);
  servingArm.write(0);
  tawaSpin.write(90);   // 90 = stopped, for a continuous rotation servo

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  showStatus("Ready to Cook!");
}

void loop() {
  placeDough();
  rollDough();
  moveToTawa();
  cookSide(1);
  flipChapathi();
  cookSide(2);
  serveChapathi();
  delay(2000);   // short pause before starting the next chapathi
}

// Stage 1: robotic arm picks up a dough ball and places it on the rollers
void placeDough() {
  showStatus("Placing Dough...");
  armShoulder.write(90);   // swing to the dough ball holder
  delay(500);
  armGripper.write(45);    // close gripper around dough ball
  delay(400);
  armShoulder.write(20);   // swing over to the roller entrance
  delay(500);
  armGripper.write(0);     // release the dough ball
  delay(300);
  armShoulder.write(0);    // return arm to rest
}

// Stage 2: rollers spin until the flattened dough reaches the exit sensor
void rollDough() {
  showStatus("Rolling...");
  digitalWrite(rollerIN1, HIGH);
  digitalWrite(rollerIN2, LOW);
  while (digitalRead(rollerExitIR) == LOW) {
    delay(20);
  }
  digitalWrite(rollerIN1, LOW);
}

// Stage 3: conveyor carries the flattened dough to the tawa
void moveToTawa() {
  showStatus("Moving to Tawa...");
  digitalWrite(convIN1, HIGH);
  digitalWrite(convIN2, LOW);
  while (digitalRead(tawaArrivalIR) == LOW) {
    delay(20);
  }
  digitalWrite(convIN1, LOW);
}

// Stage 4a: slowly rotates the tawa to warm one side evenly
void cookSide(int side) {
  showStatus(side == 1 ? "Cooking Side 1..." : "Cooking Side 2...");
  tawaSpin.write(120);   // gentle rotation
  delay(4000);
  tawaSpin.write(90);    // stop rotating
}

// Stage 4b: flipper slides under the chapathi and flips it once
void flipChapathi() {
  showStatus("Flipping...");
  flipper.write(90);
  delay(500);
  flipper.write(0);
  delay(300);
}

// Stage 5: serving arm pushes the finished chapathi onto the plate
void serveChapathi() {
  showStatus("Serving...");
  servingArm.write(90);
  delay(600);
  servingArm.write(0);
  tone(buzzerPin, 1500, 400);
  showStatus("Chapathi Ready!");
}

// Updates the OLED with the current stage
void showStatus(String msg) {
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 25);
  display.println(msg);
  display.display();
}
🧠

How Does Chapo Actually Work?

Here are the big robotics ideas hiding inside this project:

🏭

A Robotic Assembly Line

Just like a real factory, Chapo breaks one big task into small, ordered stages — each function in the code (placeDough(), rollDough(), and so on) handles exactly one job.

📍

Sensor-Confirmed Handoffs

Instead of guessing with a timer, each stage waits for its IR sensor to confirm the dough has actually arrived before moving to the next step — much more reliable.

🔄

Continuous Rotation Servos

Unlike a normal servo that moves to an angle and stops, a continuous rotation servo spins like a motor — writing 90 stops it, while higher or lower numbers spin it one way or the other.

🔁

The Whole Line Repeats

Because all five stages are called one after another inside loop(), Chapo automatically starts on the next chapathi as soon as one is served.

🧑‍🔬 Safety First!

  • Never use a real hot stove, open flame, or high-temperature surface for this project. Use a low-voltage, low-power warming plate instead, and always have an adult supervise and check it before every use.
  • Build with an adult, especially when wiring motors and assembling the rollers and conveyor.
  • Use only soft play-dough or craft dough for testing — this is a mechanical demo, not a certified food-safe cooking appliance.
  • Keep fingers clear of the rollers, conveyor belt, and servos while powered on.
  • Never leave any warming element running unattended, even a low-power one.

Frequently Asked Questions

Can this actually cook real chapathis?

This project is designed as a safe mechanical demo using a low-power warming plate, not a real stove. For actual cooking, adult-only appliances with proper safety certification should always be used instead.

Why does the code use while loops instead of just a fixed delay?

A while (digitalRead(sensorPin) == LOW) loop keeps the robot waiting exactly until the sensor confirms the dough has arrived, rather than guessing a fixed time that might be too short or too long.

How do I adjust how long each side cooks?

Change the delay(4000) value inside cookSide() — a bigger number keeps the tawa rotating (and "cooking") for longer.

What age group is this project good for?

Because it combines multiple motors, servos, and sensors into one coordinated sequence, this project is best suited for kids around age 12+ working closely with an adult.

🎉 Amazing work — you just built a real robotic kitchen line! Load a soft dough ball at the start and watch Chapo roll, cook, flip, and serve.

⬆️ Back to Materials List

Comments

Product Cards
Buddy Bot eBook
⭐ New 2026 Release
Build Your
Own Robot!
3D design, wiring &
Arduino coding.
Young inventors love it!
🖨️
3D Print
All parts
Wire it
Circuit guide
💻
Code it
Arduino IDE
🤖
Watch it
Walk & react
📋 Your Details
Enter your name
Valid 10-digit no.
Enter a valid email
Special Website Offer
₹499 300
🌍 International: $5 USD
One-time · Instant digital delivery
🔒 Secured by Razorpay · Your data is safe
📄 Download Free Sample Copy
🔒 Secured by Razorpay · Your data is safe
🍓
Raspberry Pi Pico Mastery
21 Projects
⚡ Launch Price — 80% OFF
Learn Pico
Build 21 Projects!
MicroPython · Wokwi
IoT · Certificate
Perfect for beginners!
🖥️
Wokwi
No hardware
🐍
MicroPy
From zero
🔨
21 Projects
IoT + sensors
📄
Certificate
Verified cert
📋 Your Details
Enter your name
Valid 10-digit no.
Enter a valid email
Special Launch Offer
₹999 200 80% OFF
🌍 International: $5 USD
One-time · Lifetime access · No subscription
🔒 Secured by Razorpay · UPI · Cards · NetBanking
🎉

You're in!

Payment successful! Your Buddy Bot eBook is ready. Time to build!

📖 Access Your eBook Now
🎉

Enrolled!

Payment successful! Lifetime access to all 21 Pico Projects is yours!

🍓 Go to My Course