Smart Doorbell

Architecture and implementation of AP-MCU communication bridge for embedded system

Smart Doorbell

Project Details

  • Task : Middleware implementation
  • Completion : November 2015

Client

Polish Smart Home device manufacturer

Challenge

Creating reliable and high-performance data exchange in a heterogeneous system, consisting of an application processor (AP) running Linux and a microcontroller (MCU) executing real-time tasks. The key was to offload the main processor from sensor handling and heating control, and provide the main application with transparent access to MCU data.

Solution

I designed and implemented the communication layer on the application processor side (host-side). I created a set of user-space drivers in C/C++ that managed transactions on I2C and SPI buses.

My responsibilities included:

  • Implementation of a robust communication protocol for data and command exchange between AP and MCU.

  • Creation of a clean, asynchronous API for user-space applications that abstracted the complexity of I/O operations.

  • Data buffering management and implementation of transmission error detection and handling mechanisms, ensuring data integrity.

Technologies Used:

  • Languages: C, C++

  • System: Embedded Linux

  • Architecture: User-space drivers, Inter-process communication (IPC)

  • Buses: I2C, SPI