Green Engineers

Mechatronics Studio

Contact Us

Mechatronics Learning Studio



Bar Bot

Andre Maurice, Terrence Phenix, Jory Seguin, Department of Mechanical Engineering, University of Ottawa


For this mechatronics project, an automated bartender system was devised and implemented. The concept behind the project was a system that could pour ounce drinks into shot glasses depending on user input. The system was built in order to require the least amount of user input possible. The main components of the bar bot consist of an Arduino Mega, three submersible pumps, an LCD display, a potentiometer, a stepper motor and a photoresistor circuit.

The building process began with the plywood housing around the electronic systems. A shelf was built near the top to store the three liquid reservoirs and a cut out was made in the front panel to allow for the rotation of a drink tray. A stepper motor was mounted to the base of the case and the drink tray was press fit to the shaft of the motor. A rear panel was fastened to the case to house the electrical components of the system. Two 6V power sources were installed on the back in order to power the Arduino and pumps from two separate circuits.

The user switches on a DPST switch located on the front panel in order to connect both power sources to their respective circuits. This illuminates the LCD display on the front panel and four blue LEDs located inside the case. Using a potentiometer, the user can make their drink selection from a preset library of three drinks. These choices are communicated to the user through the LCD display. Once a selection has been made, the user places the desired number of glasses into the drink tray, up to a maximum of three. The user will then press a momentary push button on the front panel to initiate the pouring sequence. This activates the stepper motor circuit and the drink tray begins to rotate around to the pouring nozzle. The photoresistor circuit is located beneath the pouring nozzle. An ambient light level measurement is taken from the four blue LEDs inside the case. The drink tray rotates the glasses above the photoresistor. The bottom of each glass has been blacked out in order to create a significant drop in the level of light reaching the photoresistor, if this resistance drops below a predetermined value; this indicates to the Arduino that a glass in present in the tray and the pumps are activated. If the resistance level does not drop, this means that no glass is present, the pumps are not activated and the tray is rotated to the next slot. Once all positions in the drink tray have been verified, the stepper motor returns to its initial position and presents the user the desired drinks.