Multi-layered IoT architecture integrating embedded systems, backend infrastructure, and mobile applications
Features • Architecture • Tech Stack • Team
Projecto-Messio is a distributed IoT system developed for Programming 1 and Digital Design university courses. The project demonstrates real-world integration of hardware control, server-side processing, and mobile interfaces through a multi-component architecture.
ESP32 microcontrollers manage physical hardware (servo motors, LEDs, buzzers, sensors), a C++ backend handles data processing and business logic, while a Flutter mobile application with Dart backend layer provides real-time monitoring and control capabilities.
|
|
|
|
┌─────────────────────────────────────────────────────────────────┐
│ PROJECTO-MESSIO SYSTEM ARCHITECTURE │
└─────────────────────────────────────────────────────────────────┘
HARDWARE LAYER (Physical Location A)
┌──────────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ ESP32 #1 │ │ ESP32 #2 │ │
│ │ (Controller) │ │ (Controller) │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ ├─ 🔴 LEDs ├─ 🔴 LEDs │
│ ├─ 🔊 Buzzer ├─ 🔊 Buzzer │
│ ├─ ⚙️ Servo Motors ├─ ⚙️ Servo Motors │
│ └─ 📡 Sensors └─ 📡 Sensors │
│ │
└──────────────────────────────────────────────────────────────────┘
│
│ REST API / HTTP Requests
│
▼
BACKEND LAYER (Physical Location B)
┌──────────────────────────────────────────────────────────────────┐
│ │
│ ┌──────────────────────┐ │
│ │ C++ Backend Server │ │
│ ├──────────────────────┤ │
│ │ • Business Logic │ │
│ │ • Data Processing │ │
│ │ • API Endpoints │ │
│ │ • Device Management │ │
│ └──────────┬───────────┘ │
│ │ │
└───────────────────────────────────────────────────────────────────┘
│
│ REST API / HTTP Requests
│
▼
MOBILE LAYER (Physical Location C)
┌──────────────────────────────────────────────────────────────────┐
│ │
│ ┌──────────────────────────────┐ │
│ │ Dart Backend Layer │ │
│ ├──────────────────────────────┤ │
│ │ • Mobile Business Logic │ │
│ │ • API Integration │ │
│ │ • Data Transformation │ │
│ └──────────┬───────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────┐ │
│ │ Flutter Mobile App │ │
│ ├──────────────────────────────┤ │
│ │ • User Interface │ │
│ │ • Control Dashboard │ │
│ │ • Real-time Monitoring │ │
│ │ • Device Controls │ │
│ └──────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘
ESP32 Devices → Control hardware (LEDs, servos, buzzers) and collect sensor data
C++ Backend → Process requests and manage business logic
Dart Backend → Handle mobile app logic and data transformation
Flutter App → Display interface for monitoring and control
ESP32 Microcontrollers (×2) → PlatformIO → C/C++ Firmware
C++ Core Server → RESTful APIs → Dart Backend Layer
Flutter Framework → Dart Language → Cross-Platform Apps
| Category | Technology |
|---|---|
| Embedded IDE | CLion, PlatformIO |
| Mobile IDE | Android Studio |
| Version Control | Git, GitHub |
Projecto-Messio/
│
├── 💡 .idea/ # CLion IDE configuration
│
├── 🖥️ C++ Backend/ # Core backend server
│ ├── ESP1/ # ESP32 Unit 1 firmware
│ ├── ESP2/ # ESP32 Unit 2 firmware
│ └── backend server/ # C++ server implementation
│
├── 📱 MobileApp/ # Flutter mobile application
│ ├── lib/ # Dart source code
│ ├── android/ # Android platform files
│ ├── ios/ # iOS platform files
│ └── pubspec.yaml
│
├── 📚 docs/ # Documentation & media
│ ├── images/
│ │ ├── home.jpg
│ │ └── app.jpg
│ └── videos/
│ └── demo.mp4
│
└── 📄 README.md
Flutter mobile app showing device control dashboard
ESP32 microcontrollers with connected hardware components
Mohamed Badawy |
Khaled Karam |
Omar Mustafa |
Mariam Mohamed |
Abdelrahman Waleed |
Integrated Two-Course University Project
This project was developed to fulfill requirements for two complementary university courses, demonstrating the practical application of theoretical concepts across hardware and software domains.
| Course | Focus |
|---|---|
| Programming 1 | Software development fundamentals, algorithms, and C++ programming |
| Digital Design | Digital logic circuits, Boolean algebra, sequential/combinational logic, and hardware design principles |
Suggestions and feedback are welcome!
Fork the repository → Create your feature branch → Submit a pull request
Educational project developed for university coursework.
Questions or collaboration? Reach out via GitHub Issues or connect with team members through their profiles.
Built by university students