DIY Automatic Dosa Maker | Arduino UNO Robotics Project for Science Expo

DIY Automatic Dosa Maker | Arduino UNO Robotics Project for Science Expo
Kids' Robotics Lab · Science Expo Edition

Build an Automatic Dosa-Making Robot

A crowd-favorite science expo project: an Arduino UNO controls DC gear motors and servos to rotate the pan, dispense batter, spread it into a circle, and flip the dosa — all on its own.

🫗 Dispensing batter... 🌀 Spreading into a circle... 🔥 Cooking... 🥞 Flipping! ✅ Dosa ready!

Mission Overview

How does an automatic dosa maker work?

The whole process is broken down into small, repeatable robot actions — the same way a real dosa chef works, just controlled by code instead of hands.

🫗Dispense
A servo opens a valve to release batter onto the pan.
🌀Rotate & spread
A DC gear motor spins the pan while a servo arm spreads the batter.
🔥Cook
The pan keeps turning gently so the dosa cooks evenly.
🥞Flip
A flipper servo lifts and turns the dosa over.

Shopping List

Parts you'll need

This build mixes two kinds of motors — DC gear motors for continuous spinning, and servos for precise, controlled movements.

1
Arduino UNOThe controller that runs the whole cooking sequence.
2
L298N motor driver moduleLets the low-power Arduino safely control a higher-power DC motor.
3
12V DC gear motorRotates the turntable that the dosa pan sits on.
4
Servo motor #1 (batter valve)Opens and closes a small gate to release batter.
5
Servo motor #2 (spreader arm)Sweeps a flat arm across the pan to spread the batter thin.
6
Servo motor #3 (flipper arm)Lifts and turns the dosa over once one side is cooked.
7
Turntable bearing + panA smooth rotating platform for the non-stick dosa pan (tawa).
8
12V power adapter/batteryPowers the motor driver and DC motor separately from the Arduino.
9
Batter containerHolds the batter and feeds it to the dispenser valve.
10
Frame/chassis (wood or acrylic)Holds all the motors and arms in the right position above the pan.

Wiring Guide

Circuit connections

The DC gear motor connects through the L298N driver, while all three servos connect directly to the Arduino's signal pins.

ComponentArduino UNO PinPurpose
L298N — IN1Pin 8Motor direction control
L298N — IN2Pin 7Motor direction control
L298N — ENAPin 10 (PWM)Motor speed control
Servo 1 — Batter valvePin 5 (PWM)Opens/closes batter gate
Servo 2 — Spreader armPin 6 (PWM)Sweeps batter into a circle
Servo 3 — Flipper armPin 9 (PWM)Flips the dosa
Arduino UNO Pin 8, 7 → L298N IN1/IN2 Pin 10 → L298N ENA Pin 5 → Servo 1 (Valve) Pin 6 → Servo 2 (Spreader) Pin 9 → Servo 3 (Flipper) GND shared with driver & servos L298N Driver → 12V DC Gear Motor (rotates the pan) 3 Servo Motors Valve · Spreader · Flipper Powered from separate 5-6V supply (not Arduino 5V) 12V Adapter Powers L298N + motor

Servos and the motor driver share ground with the Arduino, but the DC motor and servos should be powered from a separate supply to avoid overloading the Arduino's 5V pin.

Build Log

Step-by-step build instructions

Build the turntable base

Mount the DC gear motor under a bearing plate so it can spin the dosa pan smoothly and evenly.

Add the batter dispenser

Fix the batter container above the pan with a small valve controlled by Servo 1, positioned to drip batter near the center.

Mount the spreader arm

Attach a thin, flat arm to Servo 2 so it can sweep from the center of the pan outward, spreading the batter into a circle as the pan turns.

Mount the flipper arm

Position Servo 3 with a thin lifting arm at the edge of the pan, angled so it can slide under the dosa and flip it over.

Wire everything up

Connect the L298N driver and all three servos to the Arduino following the wiring table, using a separate power supply for the motors.

Upload the code

Copy the sketch from the next section into the Arduino IDE and upload it to your Arduino UNO over USB.

Do a dry run first

Test the full sequence with water instead of batter and with the pan cold, to check timing before adding real heat and batter.

Code Room

Arduino code for the dosa-making sequence

This sketch runs through the full cooking sequence once: dispense, spread, cook, and flip.

dosa_bot.ino
// Automatic Dosa Maker — Arduino UNO
// Controls: 1 DC gear motor (via L298N) + 3 servo motors

#include <Servo.h>

// ---- L298N motor driver pins ----
#define IN1  8
#define IN2  7
#define ENA  10

// ---- Servo objects ----
Servo valveServo;     // releases batter
Servo spreaderServo;  // spreads batter into a circle
Servo flipperServo;   // flips the dosa

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENA, OUTPUT);

  valveServo.attach(5);
  spreaderServo.attach(6);
  flipperServo.attach(9);

  valveServo.write(0);      // valve closed
  spreaderServo.write(0);   // arm parked
  flipperServo.write(0);     // arm parked

  delay(2000); // small pause before starting
  runDosaSequence();
}

void rotatePan(int speed, int durationMs) {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, speed);   // 0-255
  delay(durationMs);
}

void stopPan() {
  analogWrite(ENA, 0);
}

void runDosaSequence() {
  // 1. Dispense batter
  valveServo.write(90);       // open valve
  delay(1200);
  valveServo.write(0);        // close valve

  // 2. Rotate pan while spreading batter
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 120);      // gentle spin

  for (int i = 0; i < 3; i++) {
    spreaderServo.write(120);
    delay(500);
    spreaderServo.write(20);
    delay(500);
  }
  spreaderServo.write(0); // park the arm

  // 3. Let it cook while turning gently
  delay(6000);

  // 4. Flip the dosa
  stopPan();
  flipperServo.write(160);
  delay(800);
  flipperServo.write(0);

  // 5. Cook the other side briefly, then stop
  rotatePan(100, 4000);
  stopPan();
}

void loop() {
  // The sequence runs once in setup().
  // Add a push-button here later to trigger runDosaSequence()
  // again for the next dosa!
}

This version uses simple delay() timing so it's easy to follow — once it works, try adding a push-button so a new dosa sequence starts each time someone presses it, instead of only running once at power-on.

Important Notes

Safety and good practice

Adult supervision is mandatory for this project. It involves a heated cooking surface and mains-powered heating element, which are burn and shock hazards. A parent, teacher, or mentor must handle the heating setup and supervise every test and demo.

For the science expo demo, consider skipping real heat. Many expo teams demonstrate just the robotics (dispensing, spreading, flipping) using water or cold batter on an unheated pan — it shows the engineering just as well, without any burn risk.

Keep electronics away from batter and water. Shield the Arduino, driver, and wiring from spills, and make sure hands are dry before touching any powered circuit.

Power the motors separately. Run the DC motor and servos from their own 6-12V supply rather than the Arduino's onboard regulator, to avoid overheating or resetting the board.

Quick Answers

Frequently asked questions

What's the difference between a DC gear motor and a servo motor?

A DC gear motor spins continuously in one direction, which is perfect for rotating the pan. A servo motor moves to an exact angle and holds it, which is ideal for precise actions like opening a valve or sweeping an arm.

Is this a good project for a school science expo?

Yes — it combines mechanical design, electronics, and coding in one visual, easy-to-explain demo, which judges tend to love. Just make sure the heating part is handled safely, as noted above.

Do I need to add a heating element myself?

Heating is a separate system from the robotics controller described here, and should only be added and wired by an adult using a proper thermostatically controlled hot plate, kept well away from any batter spills or bare wiring.

Can I control the timing more precisely?

Yes — once the basic delay()-based version works, you can upgrade to using millis() for non-blocking timing, or add sensors (like a light sensor to detect when the batter has set) to trigger the next step automatically.

What else can I build using DC gear motors and servos together?

The same combination powers projects like automatic paint mixers, rotating plant-watering rigs, small conveyor sorters, and turntable-based camera rigs.

Built for curious young makers 🛠️ — Kids' Robotics Lab
Always build and test with an adult, especially around heat and mains power. Have fun and stay safe!

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