A servo motor control app built with Flutter, featuring multiple communication methods (Wi-Fi, Bluetooth, USB Serial) to control 4 servo motors.
- Multi-Protocol Communication: Support for Wi-Fi, Bluetooth Low Energy (BLE), and USB Serial connections
- Real-Time Servo Control: Individual control of 4 servo motors with smooth slider interfaces
- Pose Management: Save, load, and delete servo positions for quick access
- Visual Feedback: Real-time angle display and responsive UI elements
- Cross-Platform: Compatible with Android devices
- Wi-Fi Control: Network-based control with HTTP API integration
- Bluetooth Control: Direct BLE connection for wireless operation
- USB Serial Control: Wired connection for stable communication
- Arduino Support: Complete Arduino sketch for servo control
- ESP32 Integration: Wi-Fi and Bluetooth communication handling
- Backend API: PHP-based server for pose storage and retrieval
- Flutter SDK (>=3.8.1)
- Android Studio or VS Code with Flutter extensions
- Arduino IDE
- PHP server (for Wi-Fi functionality)
- MySQL database (for pose storage)
dependencies:
flutter:
sdk: flutter
http: ^1.1.0 # HTTP requests for Wi-Fi communication
flutter_blue_plus: ^1.14.16 # Bluetooth Low Energy support
usb_serial: ^0.4.0 # USB Serial communication
cupertino_icons: ^1.0.8 # For icons
-
Clone the repository
git clone https://github.com/itsbaraa/Flutter-Control-Panel.git cd Flutter-Control-Panel
-
Install Flutter dependencies
flutter pub get
-
Hardware Setup
- Upload
Arduino/Arduino.ino
to your Arduino board - Upload
Arduino/ESP32.ino
to your ESP32 module - Connect servos to pins 10, 11, 12, 13 on Arduino
- Wire Arduino and ESP32 for serial communication
- Upload
-
Backend Setup (for Wi-Fi functionality)
- Deploy PHP files from
Backend/
to your web server - Import
database.sql
to create the required database schema - Configure
db_config.php
with your database credentials
- Deploy PHP files from
-
Run the application
flutter run



