Introduction: Robotoyaki

This project is done by a group of students from Singapore Polytechnic. The members are: Goh Jian Xun, Ho Yan Hua, Crystal Ng and See Toh Kai Long. Our supervisor for this project is Mr. Teo Shin Jen.

The concept of our prototype is to have an automated BBQ so that the cooking of the food would be unmanned as the smoke from the barbeque is unhealthy if inhaled excessively.

The skill level for our project is to know basic drilling, soldering, and C++ programming skill.

Things you need:

1 PIC18F4550

1 Breadboard (at least 10x10 cm)


1 Buzzer

2 2N2222 transistor

2 470 Ohms resistor

1 2.2k Ohms resistor

1 1N4001 diode

4-Pin header (male and female), 3-Pin header (2 female) not necessary

1 BOSCH 12V Relay

1 Car wiper motor


Timing gears and Timing belt

Tin can

Step 1: Building of the Design

My team was inspired by a DIY video we saw on youtube

As my team feels that 3 skewer is too little, we decided to make a bigger scale of it using spare parts from a car so that more skewer can be placed. Our final design is similar to the one shown in the video but instead of placing the gears at the pit, we decided to mount everything on a piece of wood so that the tin can will be able to serve other purposes when not in use for barbequing.

Step 2: Soldering of the Breadboard

As our project is partly funded by the school, we were not required to do much soldering as they gave us an interfacing board which separates the pins into different 3 pin header. For my team convenience, we use port A for the output of the buzzer and the motor.

The image above is the schematic diagram for my breadboard, the first circle consists of VCC, motor, buzzer, and ground, the wires in the second circle is used to power on the relay so that the car wiper motor would turn on and rotate the skewer. For the relay we use, the two wire is connected to pin 85 and 86 of the relay BOSCH 9280050013. For the connection to the car battery, the positive would be at the top wire of the second circle and the negative would be at the ground of the first circle.

Step 3: Programming

The file below is the source code that my team use. For the motor, we use PORTAbits.RA1 and buzzer use PORTAbits.RA2. The timing and the number of option can vary to the users need by adding more delay to the option and adding more if-else statement respectively.

Step 4: Demo Video