On hot days at home, whenever my family turns on the Air-Conditioning Unit(AC) for the night, my mother would make the effort to wake up at 3am, to turn it off and turn on our room fans. In doing so, she hopes to reduce the cost of operating the AC, especially since electricity bills have soared over couple of months. The constant disturbance of her sleep has dire consequences on the quality of sleep she has each night, which often leaves her lethargic in the morning.

As such, my project teammate and I, have decided to take advantage of and integrate existing projects to remove the need for her to have an interrupted sleep on hot days.

What it does

Breaking down my mother's night routine, there are two problems that need to be addressed:

  1. Turn off the AC unit.
  2. Turn on the room fan

How we built it

Equipment used:

  1. Raspberry Pi 3B+
  2. Recycled laptop display with controller board/power
  3. Arduino Uno
  4. Infrared LED
  5. Breadboard
  6. NPN Transistor
  7. Smart Plug

The project involves integration of two projects; MagicMirror and Arduino controlled AC remote based on room temperature. MagicMirror is an open source modular smart mirror platform, that has active contributions from various people in the development of add-on third-party widgets. Instead of designing a smart mirror, the reflective portion was omitted for it to become a display screen with customizable widgets.

The Arduino controlled AC remote is a project based of the usage of a temperature sensor to adjust the temperature of the AC accordingly, and was modified to suit our project needs.

All links to the projects and add-ons are at the bottom of the summary.

Key Features

  1. The Raspberry Pi would be connected to an Arduino Remote, which will be used to turn off the AC using preprogrammed signals. The Raspberry Pi will also be connected to a touchscreen display, equipped with "smart widgets", that can be customized to suit the user's preference.

  2. Fan speed would be programmed using the mechanical button, and can be switched on using the smart plug. The smart plug is currently being supported by a "Smart Life" application, which allows users to access different functionalities while being connected to the local internet.

Mode of Operation

  1. User would program the time to turn on the room fan, using the "Smart Life" application.
  2. Ideally, the Raspberry Pi would turn off the AC based on a preprogrammed timing. However, due to the complexity of getting it to work, it has been simplified to turn off the AC after 3 hours of inactivity on the Smart Display.

Challenges we ran into

  1. It was a rushed out project due to time constraints.
  2. Re-engineering developed modules to suit our needs.

Accomplishments that we're proud of

  1. Managed to install various modules and integrate them together on the display.
  2. Managed to solve the problem statement, although further testing would be needed to verify whether it is a feasible solution.

What we learned

  1. There are no shortcuts to developing a project that addresses a realistic problem.
  2. Hardware is really hard T.T

What's next for Pi Home

  1. Remove dependence on "Smart Life" application for the programming of the smart plug alarm
  2. Include other devices such as an automatic blinds powered by servo motors and a camera to act as a "mirror" by displaying the feed as a widget.
  3. Design a proper housing for the components.
  4. Probably total up the cost and see if it can be sold as a customized plug-and-play system for others.


MagicMirror: Arduino controlled AC remote based on room temperature:

Magic Mirror third-party modules: [link] (To turn off AC using Arduino) [link] (To display a picture) [link] (For the touchscreen)

Smart Life application on Apple Store: [link]

Share this project: