I'm really interested in automation and intelligent home controlling systems, so I decided to build a complete home automation system from the ground. After sketching up the plans and ideas, I immediately knew that this will be a huge project, thus I quickly engaged in a team. I designed & built the central unit of the system and I also participated in the development of the external units as well. The purpose of this project was to develop confident skills in ARM Cortex-M core microcontrollers, various communication interfaces (RS-485, 2.4GHz radio, Bluetooth, Ethernet, USB), the handling of graphical processors & touch screens (5" resistive LCD touch screen with FT800 graphical co-processor), and how to design a safe and effective 230V AC power supply. I also learned how to lead and manage such a large project in a team, set up and complete milestones, and synchronize our workflow.


The whole system consists of a central unit and three external units. The central unit is responsible for controlling the whole system, while the external units serve measurement and control purposes.

Central Unit

The central unit of the Home Automation System comprises two PCBs: the Supply board and the Main board. On the supply board the 230V AC input is transformed into stabilized 30V, 5V and 3V3 DC voltages required by the components on the main board. The other components, including the ARM microcontroller, the communication interfaces and the LCD touch screen are placed on the main board. The whole central unit is designed to fit into a nice and ergonomic aluminum enclosure.

Supply board features:

  • 230V AC input
  • Two 3VA transformers
  • Graetz bridges to establish DC
  • 12V DC auxiliary input for development purposes
  • Two LM2576 (adjustable) step-down converters with filtering circuit to establish stabilized 30V and 5V DC
  • A LM2596 (adjustable) step-down converter with filtering circuit to establish stabilized 3V3 DC
  • Carefully designed PCB for maximum safety to avoid electric shock

Main board features:

  • STM32F407VG ARM Cortex-M4 core microcontroller with 168MHz core clock frequency
  • FTDI FT800 EVE controller
  • 5" resistive LCD touch screen with MIC2289 backlight controller
  • RFM73P 2.4GHz Radio module
  • BTM511 Bluetooth module
  • MAX3485CSA RS-485 interface module
  • E981-03 KNX module
  • DP83848CVV Ethernet controller
  • USB (Standard B) connector
  • microSD card slot
  • PT-3110W Piezo with TC4425A MOSFET driver
  • Six programmable LEDs

External Units

The external units can measure temperature and humidity values, as well as various gas concentration values. Analog circuits are designed to amplify and adjust the analog signals for the microcontroller. Each external unit features two relays which can control electrical devices connected to the units. The external units can communicate with the central unit via 2.4GHz radio, RS-485 and KNX. Since the external modules can be also supplied from the KNX bus, an auto-switching power supply multiplexer is responsible for choosing between the power sources. The external units also have a nice and ergonomic aluminum enclosure.

External units features:

  • LM2594 and MCP1755S step-down converters
  • TPS21114A auto-switching power multiplexer
  • STM32F107VC ARM Cortex-M3 core microcontroller
  • RFM73P 2.4GHz radio module
  • MAX3485CSA RS-485 interface module
  • E981-03 KNX module
  • HIH6130 Temperature & Humidity sensor
  • Two gas sensor connection port
  • HFD23/005 relays
  • Programmable LEDs


The central unit can communicate with the external units via 2.4GHz radio and RS-485. Due to the universality of communication, mixed simultaneous communication is also available. For example one external unit can communicate via RS-485 while the others can communicate via radio.

Beside the LCD touch screen, the user can control and interact with the system via Bluetooth, Ethernet and USB. The configuration file stored on the microSD card can be read and modified on a computer, because the central unit can handle FAT32 formatted microSD cards.


Please note that the file size of full report is approximately 8MB, thus it may take some time to download.