The IoT (internet of things) breadmaker
Back to Projects

Modifying a bread maker home appliance with Arduino

Bread Online overview The Bread Online bread maker

Development: Panagiotis Ioannidis
Supervision: Dr. Minas Dasygenis from the Laboratory of Digital Systems and Computer Architecture.

Bread Online is a project developed as part of a thesis for the Department of Informatics & Telecommunications Engineering of the University of Western Macedonia, Greece.

Youtube Video


Bread Online is a home appliance management suite designed to control devices with specifically modified hardware. It constists of a website that provides the management interface and a modified bread maker that communicates with it. The purpose of this project is to provide an alternative solution to home appliances monitoring and management based on the philosophy of Internet of Things.



Bread Online Home Page The home page of the website

Device Management Page The device management page

An easy to use graphics interface is required in order to access the service. The website provides this interface along with the tools to register a new account and new devices. The database holds all the information regarding the users, the devices and their activity logs. Every user can create a new device, download the code to program it, or delete an existing one. Every device has its own management page where the user can start a new program, cancel the ongoing or just check the status of the device. The device is programmed to contact the server every 5 seconds for new commands and send its status.


The bread maker is controlled by an Arduino Uno R3, which communicates with the server via an Arduino Ethernet Shield R3. The sensitive functions of the bread maker are controlled by the TIMER1 of the Arduino, which checks the status of the thermostat, the relays and the buttons and refreshes the LCD every second. This timer also controls the frequency that the device contacts the server. The network functions are executed in the loop() function, as they are considered less inportant. The device is able to function offline as well. If no network connection is present, the device goes into offline mode. There is also an option to disable all network features completely, by commenting out the corresponding line in the Arduino code.


The modification procedure took place under great precaution measurements. Be sure to ALWAYS disconnect any device from mains before operation. Failure to do so may result in injury or death.

In order to change the factory controller installed by the manufacturer, we had to take apart the device. All the factory electronic circuits were removed. Thankfully, we were able to use the electric motor and the heating element with the Arduino. We also had to replace the thermistor in the thermostat, as the one the manufacturer installed had no distinct specifications.

Ethernet and USB ports The Ethernet and USB ports on the back of the device

Routing the cables Routing the cables

First, we had to drill the holes for the ethernet and USB ports on the back. Then we had to route the ethernet and USB cables under the mixing mechanism. After installing the Arduino Uno and the Ethernet Shield in the board of the previous circuit, we had to connect them to the relays, the LCD the buttons and the thermostat. We connected one relay in series with the electric motor and one with the heating element. We also had to install seperate power adapters, one to power the Arduino and another to power the relays. As another measure of precaution we installed a mains switch on the front of the device.

Device Buttons The buttons' circuit installed

Mains switch The mains switch on the front

Power adapters The power adapters for the Arduino and the relays

We had to use a pair of thermal fuses for the mains line and neutral. If, by any chance, the temperature in the oven rises above 160 degrees celcius the device is disabled automatically.

Thermostat and fuses The thermostat and the thermal fuses

Electrical components The electrical components of the device

In the end we were able to fit everything in the device chassis and the front cover closed perfectly.

Electronics All the electronics just before finish

Hardware Schematics

The schematics for this project are freely distributed under the Apache License 2.0. Download detailed schematics

Electical Schematics The electrical part schematics

Electronics Schematics The electronics part schematics

Website Source Sode

The website source code for this project is freely distributed under the Apache License 2.0. Download website source code

Arduino Source Code

The source code for the Arduino is freely distributed under the Apache License 2.0.

Download Arduino source code

Bill of Materials

ComponentQuantityUnit Cost
Arduino Uno R3 clone1€7.00
Arduino Ethernet Shield R3 clone1€5.80
Nokia 5110 LCD1€1.90
Beefcake Relay Kit2€7.00
5V AC/DC Adapter1€3.00
9V AC/DC Adapter1€3.00
Momentary Push Button6€0.22
65cm Ethernet Cable1€0.50
65cm USB Cable1€2.67
1kΩ Resistor2€0.03
150Ω Resistor1€0.03
330Ω Resistor1€0.03
680Ω Resistor1€0.03
3.6kΩ Resistor1€0.03
8cm x 2cm Perfboard2€0.80
7cm x 3cm Perfboard1€0.80
Mains Switch1€2.00
Break Away Female Headers9€0.04
Ethernet Cable Extender1€0.80
Total Cost€45.33
Back to Projects