Home
Softono

Home Fi

Open source MIT Dart
169
Stars
65
Forks
6
Issues
6
Watchers
1 year
Last Commit

 About Home Fi

Home Automation App using Flutter, Adafruit IO & Esp32 dev board.

Platforms

Web Self-hosted iOS Android

Languages

Dart

Links

Need Help Installing Home Fi?

We provide expert installation service for this software. Our team will install, configure, and secure Home Fi on your server. plans start at just $30.

Home-Fi: Smart Home Automation System

Home-Fi Logo

Flutter ESP32 Adafruit IO

A modern home automation solution combining Flutter's beautiful UI with ESP32's powerful capabilities and Adafruit IO's reliable cloud infrastructure.

✨ Features

  • 🏠 Control multiple home appliances remotely
  • πŸ’‘ RGB light control with color picker
  • πŸ“Š Real-time device status monitoring
  • 🌑️ Temperature and humidity sensing
  • πŸ” Secure communication with Adafruit IO
  • πŸ“± Beautiful, responsive Flutter UI
  • ⚑ Low-latency ESP32 control

🎯 System Architecture

Mobile App (Flutter) <-> Adafruit IO Cloud <-> ESP32 Device <-> Home Appliances
  • Flutter App: Handles user interface and cloud communication
  • Adafruit IO: Manages device state and real-time data
  • ESP32: Controls physical devices and sensors

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (2.0 or higher)
  • Arduino IDE
  • ESP32 Development Board
  • Adafruit IO Account
  • Basic electronic components (relays, RGB LED, sensors)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/home-fi.git
    cd home-fi
    
  2. Set up Flutter app

    flutter pub get
    
  3. Configure Adafruit IO

    • Create an Adafruit IO account
    • Set up required feeds (switches, RGB values, sensor data)
    • Copy your AIO Key
  4. ESP32 Setup

    • Install required libraries in Arduino IDE
    • Update credentials in ESP32 code
    #define IO_USERNAME  "your_username"
    #define IO_KEY       "your_aio_key"
    
  5. Run the app

    flutter run
    

πŸ“± User Interface

Splash Screen Dashboard RGB Control
Splash Screen Dashboard RGB Control

πŸ› οΈ Hardware Setup

Components Required

  • ESP32 Development Board
  • Relay Module (for appliance control)
  • RGB LED Strip
  • DHT11/DHT22 Sensor (optional)
  • Power Supply
  • Connecting Wires

πŸ“‘ Communication Protocol

The system uses MQTT protocol for communication:

  • Topics: Organized by device type (switches/rgb/sensors)
  • Message Format: JSON payloads for complex data
  • Update Frequency: Real-time for switches, 1s for sensor data

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Adafruit for their reliable IoT platform
  • ESP32 community for their extensive documentation

β˜• Support

Buy Me A Coffee