Micro shawarma

An old AC oven motor and a solder iron converted into a wifi enabled tiny Shawarma machine

Public Chat
Similar projects worth following
Wired section Most Dangerous Object in the Office was the starting point. What if this danger is not physical but subtle, hypnotic and… aromatic? I’ve had an old slow rotation AC oven motor waiting in a drawer for some time and the idea of making a tiny but still functional Shawarma machine came along.

What is a Shawarma Machine

A Shawarma machine has 2 main parts: a slow rotation base and a heat source. For the rotation base, an old AC spiedo oven motor is used but it can still be obtained new from places like this one

For the heat source I’ve considered several options but a solder iron was enough and it also works with 220 AC as the motor. To replicate a standard Shawarma machine 2 switches could be used but that is not fun, so I’ve decided to include a web server and control the machine through WiFi.

At this point a 2 channel relay and Arduino MKR WiFi 1010 were included into the project. Basically, the machine will announce a SSID named Micro Shawarma with a password and the management page will be served at local IP. There 2 buttons are provided for the heat and the motor.  

3d parts

Using Fusion 360 I’ve designed the case using just 3 simple parts: the enclosure, the cover and the rotating base.  

You should use thick Aluminium foil to cover the wall if the machine will be turned on for several minutes.  

Using the Micro Shawarma Machine

After turning on the machine with back switch wait for a minute or so, then connect to Micro Shawarma SSID with your Smartphone, Tablet or Computer. Now enter with a browser and you will reach the management utility page. There you can turn on the heat, turn on the rotation wheel and turn off everything.

Code details

Here you can change your SSID name and credentials

char ssid[] = "Micro Shawarma";         
char pass[] = "1234567890";  

 Here you can change D6 and D7 relay pins

int relayPin1=6; 
int relayPin2=7; 

 Web page buttons are presented according to current machine state

 if (wheel==0){
                client.println("<p><a href=\"/WHEEL/on\"><button class=\"button\">Wheel ON</button></a></p>");              
            if (heat==0){
                client.println("<p><a href=\"/HEAT/on\"><button class=\"button\">Heat ON</button></a></p>");  

            if (wheel==1 or heat==1){
                client.println("<p><a href=\"/ALL/off\"><button class=\"button button2\">OFF</button></a></p>");              

Relay on/off is just a matter of sending HIGH or LOW to the relay pin

void wheelOn(){
    digitalWrite(relayPin1, LOW);    
    Serial.println("Wheel on");

Demo video

Turn on English subtitles.

  • 1 × Arduino MKR Wifi 1010
  • 1 × 2 channel relay module
  • 1 × Slow rotation AC motor
  • 1 × Solder iron point
  • 1 × Switch Development Kits, Boards and Systems / Development Kits and Boards

View all 6 components

  • 1

    Circuit is really easy: Relay module is connected to Arduino D6 and D7 pins. External 5V is connected to VIN and Ground. AC is connected to heat and motor but with the Relay is in the middle so it can be controlled from Wifi through the Arduino MKR.

  • 2
    3d parts

    Print with PLA. Support is only required for the enclosure base.

    The link to get the 3d parts is

  • 3
    Source code

    Download shawarmax.ino file from

    Connect a microUSB cable and upload to the Arduino MKR Wifi 1010

View all 3 instructions

Enjoy this project?



tormozedison wrote 07/21/2022 at 19:42 point

Whu don't the 3D printed parts melt?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates