Skip to content

Welcome to Flutter ESP8266 IoT Starter Kit Documentation

For updated documentation please visit the Documentation Site.

General Information

ESP IoT Starter Kit Version: 2.0.x
Documentation Version: 2.0
Created: 25/11/2020
Updated: 30/07/2021
Created by: Orison Technologies
  • Need Advice? Send us a message through Contact Form
  • Thank you for purchasing our project. If you have any questions that are beyond the scope of this documentation, please feel free to leave your comment on product page.

Get It From CodeCanyon

You can buy the complete source code of Flutter and Arduino projects from following link:

https://codecanyon.net/item/flutter-esp8266-iot-starter-kit/29599018

Project Overview

Cover Image

Flutter ESP8266 IoT Starter Kit is a starter project for freelancers, indie developers, hobbyists and professionals. This project includes source code for a simple Flutter application which can target Android, iOS as well as other platforms which are supported by Flutter, and a robust C++ based firmware for Arduino/ESP8266/ESP32 devices.

The aim of this project is to enable the developers to quickly launch their IoT project with custom branded apps for themselves or their customers. The codebase for the app and firmware can be used as a starting point (A starter Template) for your own project, as you can add more functionality to the main app and the device without having to worry about core features like App Settings, Multilingual Support, light and dark themes, and MQTT Communication.

Same is true for the ESP firmware. This firmware is a time-tested codebase, which we have used in our own commercial-grade projects for years, and this can be used as a base project for adding functionality without tangling yourself in features like Easy Wi-Fi Onboarding, Device Settings, Retry-to-Connect logic as well as MQTT Communications.

Watch Flutter ESP8266 IoT Starter Kit Video Demo YouTube Image

The app and the firmware by default use a public MQTT broker (as a demo) without any authentication to send commands to the device and receive command responses and data. The MQTT broker settings and credentials can easily be updated in the app as well as the ESP device without having to compile the app or the firmware.

Mobile App Features

  • Designed in Flutter, one of the best cross-platform mobile development framework backed by Google and a great open-source community
  • Flutter app can be natively complied to target all major platforms including: Android, iOS, Windows Linux, MacOS and Raspberry Pi
  • Clean code which can be easily customized and branded for your own projects
  • Dark and Light mode support
  • Streamlined multilingual implementation and selection through Settings page
  • Settings screen with save and load implementation
  • App can used as a Flutter Project Starter Template (Settings, Splash, Dark Theme, Multilingual etc.)
  • The source code is now adopted to Flutter v2 and Dart v2.12.0 with sound null-safety for better runtime safety and performance
  • With sound null-safety, we have also replaced with outdated and discontinued packages with new and improved packages. For example "preferences" package is replaced with "pref" package.

Dark Theme

The Screens Included with apps are:

  • Splash Screen
  • Main Screen with Data Graphs, Event Log, and Drawer Menu
  • About Screen with all necessary sub screens (Readme, License, Privacy Policy, Contact)
  • Settings Screen with additional dialogs for MQTT Settings
  • Help Screen driven by Markdown based content to easily compose app documentation

Light Theme

ESP Firmware Features

  • Commercial grade and time-tested firmware, ready to deploy for your personal and commercial projects
  • Wi-Fi and MQTT Broker Configuration Pages through AP Mode and Captive Portal
  • MQTT Protocol for 2-way communications for Remote Control and Telemetry
  • Dedicated LED Light with blinking behaviors to let you know the device state (Booting, Connecting, Looking for MQTT, Ready State)
  • Highly resilient firmware with persisting configuration and auto-retry logic
  • Clean Code with comments and documentation for easy customization and modifications for your own projects

We have included a separate version of firmware optimized for ESP32 based boards in the folder "ESP32-IoT-Starter-Kit-Firmware". Please check the pin configurations in the ESP32 firmware in separate diagram and source code when designing your ESP32 based projects.

Firmware

Firmware

Firmware Features

Extended Licence Guideline

As per Envato rules, you must purchase this app under and EXTENDED LICENCE in either one of the following case:

  1. You plan to publish your own version of this project as a PAID app on the App Store or Google Store
  2. You Plan to add In-App purchase to your own version of this app - which means your user will still get charged of money even if your app is available for free on the App/Play Store.
  3. You plan to sell the LIVE version of your app on Envato, or similar market-places. Please Note that you are not allowed to resell the original source code you bought here on Envato. What mentioned above is only for the LIVE app on the App/Play Store.

Project Layout

File Name: ESP-IoT-Starter-Kit-v2.0.1.zip

iot_starter_kit_app/                # This folder contains the code for Flutter App.
ESP-IoT-Starter-Kit-Firmware/       # This folder contains the code for ESP8266 Firmware.
ESP32-IoT-Starter-Kit-Firmware/     # This folder contains the code for ESP32 Firmware.
ESP-IoT-Starter-Kit-Documentation/  # This documentation folder
    index.html                      # The documentation homepage.
    ...                             # Other HTML pages, images and other files.

Changelog & Update History

Version 2.0.1 - 29-Jul-2021

  • Flutter app: Updated for Flutter v2 Stable with Null safety
  • Flutter app: Packages updated to newer versions with Null safety
  • Flutter app: Discontinued preferences package replaced with updated pref package
  • Flutter app: MQTT Device ID in app settings with translations
  • Firmware: Separate firmware for ESP32 boards with compatible libraries
  • Firmware: MQTT Device ID in Wi-Fi settings
  • Firmware: Added sendInitialData() on startup with MQTT retain messages
  • Docs: Updated for changes in firmware and app

Version 1.0.5 - 22-Mar-2021

  • Flutter app: Updated for Flutter v2 Stable
  • Flutter app: Packages updated to newer versions
  • Firmware: Auto generate unique MQTT client ID per device
  • Docs: Updated for changes in firmware and app

Version 1.0.4 - 30-Jan-2021

  • Firmware: Signal level on output pins set to LOW by default
  • Firmware: Added defines to easily reverse default signal levels on output pins

Version 1.0.3 - 21-Dec-2020

  • Flutter app: Bug fix in multi-language support library

Version 1.0.2 - 18-Dec-2020

  • Flutter app: Fix for Double-Back to exit app
  • Flutter app: Code comments for future breaking change in Flutter SDK and how to resolve it

Version 1.0.1 - 2-Dec-2020

  • Initial release