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

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