
Dashboard ESPHome dirancang untuk berjalan di laptop atau server Home Assistant, dan tombol “Install”-nya mengasumsikan koneksi serial USB berkabel ke mesin pengembang. Hal itu membuat banyak pengguna yang hanya punya Android bertanya-tanya apakah mereka bisa mem-flash ESP32 untuk menjalankan ESPHome tanpa meminjam komputer. Di 2026 jawabannya ya untuk sebagian besar pekerjaan, tidak untuk langkah terakhir, dan pilihan di bawah ini mencakup setiap kasus yang mungkin Anda temui.
Daftar aplikasi pendamping Android untuk papan ESP32 dan ESP8266 secara lebih luas ada di rangkuman kami tujuh aplikasi ESPHome dan mikrokontroler terbaik untuk Android. Panduan ini fokus pada satu pekerjaan yang dilewati aplikasi pendamping: memasang firmware ESPHome ke papan baru untuk pertama kalinya.
Tiga rute yang bekerja dari Android
Tiga metode flashing yang benar-benar bekerja tanpa laptop, dalam urutan yang sebaiknya Anda coba:
- Improv Wi-Fi lewat Bluetooth — papan yang sudah di-flash dengan Improv datang siap, ponsel memberikan kredensial Wi-Fi lewat BLE, dashboard ESPHome di server mengambil alih untuk OTA. Tanpa kabel, tanpa terminal.
- Add-on Home Assistant plus OTA — Anda sudah menjalankan Home Assistant di mini PC atau Raspberry Pi. Flash pertama memakai laptop atau single-board computer apa pun; setiap flash berikutnya lewat udara dari ponsel.
- Serial USB-OTG — ponsel Android dengan USB-C OTG plus aplikasi serial-terminal plus binary factory ESPHome. Bekerja untuk flash awal. Ribet, tapi laptop tidak diperlukan.
Metode 1 adalah arah industri di 2026 dan tempat Anda sebaiknya mulai. Metode 2 adalah cadangan bagi siapa pun yang papan tidak datang dengan Improv terpasang. Metode 3 untuk kasus sudut: papan ESP32-C3 atau ESP32-S3 baru yang perlu di-bootstrap dari flash yang benar-benar kosong.
Metode 1: Improv Wi-Fi dari aplikasi Home Assistant Android
Paket Google Play: io.homeassistant.companion.android — Home Assistant di Aptoide
Improv Wi-Fi adalah protokol terbuka yang dirawat tim Home Assistant / ESPHome. Papan yang sudah di-flash — colokan pintar Athom, perangkat Shelly yang beralih ke ESPHome, sensor Everything Presence, sebagian besar perangkat keras siap ESPHome sejak 2025 — mengumumkan dirinya lewat Bluetooth Low Energy. Ponsel terhubung, mengirim SSID dan kata sandi Wi-Fi, lalu menyerahkan ke dashboard ESPHome untuk instalasi firmware OTA selanjutnya.
Yang Anda butuhkan
- ESP32 atau ESP8266 yang datang dengan Improv terpasang, atau papan yang sudah pernah Anda flash sekali dengan komponen ESPHome Improv diaktifkan.
- Home Assistant berjalan di jaringan Anda dengan Add-on ESPHome terpasang.
- Aplikasi Home Assistant Android (tautan di atas) masuk ke instance Anda.
- Bluetooth aktif di ponsel. Improv memakai BLE, bukan pairing Bluetooth klasik.
Langkah-langkah
- Nyalakan ESP32. Papan dengan firmware pabrik Improv mengumumkan diri beberapa menit pertama setiap boot.
- Buka aplikasi Home Assistant Android. Aplikasi mendengarkan iklan Improv secara otomatis di segmen jaringan yang sama dan menampilkan notifikasi berlabel Set up nearby device. Jika tidak muncul, tarik ke bawah untuk menyegarkan dashboard atau periksa bahwa pemindaian Bluetooth diaktifkan di pengaturan Bluetooth Android.
- Ketuk notifikasi. Ponsel terhubung lewat BLE, meminta jaringan Wi-Fi yang akan diikuti, dan mengirim kredensial ke papan. ESP berkedip LED onboard saat mengasosiasikan ke Wi-Fi Anda.
- Dashboard ESPHome di Home Assistant menampilkan perangkat baru di bawah Discovered. Dari sana, adopsi, pilih atau tulis konfigurasi YAML, lalu tekan Install > Wirelessly. Kompilasi dan push OTA keduanya terjadi di server; ponsel hanya menonton.
Satu hal yang perlu dipastikan: ESP berada di subnet yang sama dengan instance Home Assistant Anda. Jaringan Wi-Fi tamu dan SSID perusahaan dengan isolasi klien memutus hand-off OTA. Pasang ESP di jaringan utama untuk flash pertama, lalu pindahkan jika perlu.
Metode 2: OTA setelah flash sekali di sisi server
Jika papan tidak datang dengan Improv, Anda tetap tidak perlu laptop untuk mem-flash ulang setelah pertama kali. Installer OTA dashboard ESPHome bekerja lewat Wi-Fi setelah firmware ESPHome apa pun — seberapa pun dasarnya — ada di papan.
Masalahnya flash pertama harus terjadi di suatu tempat. Tiga cara praktis:
- Jalankan ESPHome langsung di Raspberry Pi dengan papan tercolok. SSH dari Termius di Android ke Pi, colokkan ESP32 ke port USB Pi, jalankan
esphome run initial.yamldari shell. Pi menjadi stasiun flashing sekali pakai Anda. - Gunakan port USB perangkat Home Assistant Green / Yellow / OS. Home Assistant OS mengekspos perangkat serial USB yang terpasang ke Add-on ESPHome. Colokkan ESP ke kotak HA, buka dashboard ESPHome di browser mobile, tekan Install > Plug into the computer running ESPHome Dashboard. Add-on mem-flash lewat koneksi serial USB lokal tanpa laptop.
- Pinjam laptop teman sepuluh menit hanya untuk flash pertama, lalu kembalikan dan lakukan semua pembaruan berikutnya OTA dari aplikasi Android. Ini default yang pragmatis.
Setelah papan punya build ESPHome apa pun, opsi Install > Wirelessly di dashboard ESPHome tersedia dan Anda tidak menyentuh USB lagi — sampai OTA rusak dan Anda harus memulihkan papan.
Metode 3: Serial USB-OTG dari Android
Cari ini di Google Play: Serial USB Terminal, DroidTerm, USB Serial Console
Flashing serial langsung dari Android adalah jalur kasus sudut. Android tidak menjalankan toolchain Python ESPHome secara native, jadi metode ini bukan tentang menjalankan esphome-flasher di ponsel — ini tentang memasang binary factory yang sudah dibangun ke ESP lewat aplikasi serial-terminal.
Perangkat keras yang Anda butuhkan
- Ponsel dengan dukungan host USB-C OTG. Hampir setiap ponsel Android 2020 ke atas punya ini; ponsel lama perlu kabel OTG USB-C-to-USB-A.
- Kabel data USB-C-to-USB-C, atau USB-C-to-Micro-USB tergantung papan dev ESP Anda.
- Papan ESP32 atau ESP8266 itu sendiri dengan jembatan USB-to-serial onboard (CP2102, CH340, CP210x — sebagian besar papan dev punya).
Perangkat lunak
- Aplikasi serial-terminal yang berbicara USB-CDC ke chipset CP2102 / CH340. Serial USB Terminal oleh Kai Morich adalah opsi gratis paling andal di Google Play; DroidTerm alternatif yang lebih ringan.
- File factory
binyang sudah dibangun, diunduh dari langkah kompilasi dashboard ESPHome di laptop apa pun, atau dari unduhan factory siap ESPHome Athom / Shelly. - Termux plus
esptool.pybagi yang nyaman dengan shell.
Langkah secara singkat
- Colokkan ponsel ke ESP32 lewat kabel OTG. Android seharusnya meminta membuka aplikasi terminal; berikan izin USB.
- Hubungkan ke papan di 115200 baud di terminal untuk memverifikasi komunikasi.
- Jika menjalankan Termux, instal Python dan
esptool(pkg install python && pip install esptool) dan gunakanesptool.py --port /dev/bus/usb/... write_flash 0x0 firmware-factory.bin. Termux perlu driver serial USB terhubung ke/dev/bus/usb, yang biasanya langsung bekerja di Android modern setelah izin diberikan. - Jika tidak memakai Termux, beberapa aplikasi GUI flashing Android (cari di Google Play varian ESP Flash Tool) bisa mendorong factory
.binlangsung lewat jembatan CP2102 / CH340.
Keandalan bervariasi menurut ponsel. Perangkat Samsung dan Pixel dengan Android terbaru menangani CP2102 dan CH340 out of the box; build Xiaomi dan Realme lama kadang perlu izin OTG-USB diberikan dua kali. Seluruh metode jauh kurang nyaman daripada Improv Wi-Fi; anggap ini cadangan terakhir.
Apa yang Home Assistant di Android bisa dan tidak bisa lakukan
Aplikasi Home Assistant Companion Android adalah tempat ketiga metode akhirnya bermuara — dashboard ESPHome hidup di dalam Home Assistant, jadi setelah perangkat di jaringan, perangkat muncul di aplikasi untuk pemantauan dan pembaruan OTA. Yang aplikasi sendiri tidak bisa:
- Mengompilasi firmware ESPHome secara lokal di ponsel. Kompilator ESPHome berjalan di server, bukan ponsel. Ponsel Anda adalah permukaan kontrol untuk kompilasi jarak jauh.
- Mendorong flash serial USB tanpa server. Aplikasi Companion tidak punya fitur flashing USB-OTG langsung. Jika Anda ingin ponsel menjadi kompilator, Anda di luar alur kerja yang didukung.
- Provisioning Improv-over-Serial. Varian Improv Wi-Fi bekerja dari Android; varian Improv Serial membutuhkan koneksi berkabel ke host dashboard ESPHome.
Aplikasi sangat baik untuk yang dilakukannya: provisioning Improv BLE, melihat data sensor, memicu otomatisasi, menerima notifikasi dari ESP32 Anda setelah online. Aplikasi menggantikan laptop untuk operasi sehari-hari. Aplikasi tidak menggantikan laptop untuk bootstrap pertama papan yang benar-benar kosong kecuali papan datang siap Improv.
Kesalahan umum saat mem-flash ESPHome dari Android
- Papan di Wi-Fi captive portal. Improv mengirim kredensial, tapi jaringan Wi-Fi yang memerlukan login captive portal berbasis browser (jaringan tamu, Wi-Fi kafe) tidak akan mengasosiasikan ESP32 tanpa interaksi. Pindahkan papan ke SSID normal untuk provisioning.
- Home Assistant di VLAN berbeda. ESPHome OTA memerlukan penemuan mDNS di domain broadcast yang sama. Jika ESP di VLAN IoT dan Home Assistant di LAN utama, aktifkan refleksi mDNS di router atau provision ESP di VLAN yang sama dengan HA lalu pindahkan setelahnya.
- Izin pemindaian BLE hilang. Android 12+ memisahkan Bluetooth menjadi Nearby devices (scan) dan Bluetooth Connect. Improv membutuhkan izin scan — berikan keduanya ke aplikasi Home Assistant.
- Kabel USB-OTG hanya untuk mengisi daya. Kabel USB-C-to-USB-C murah yang datang dengan charger dinding sering tidak punya pasangan data. Gejala: ponsel mengenali ESP menarik daya tapi perangkat serial tidak pernah ter-enumerate. Gunakan kabel ber-rating data.
- Papan menahan mode boot salah. ESP32-C3 dan ESP32-S3 kadang perlu tombol
BOOTditekan saat daya dinyalakan sebelum flashing serial. Kabel USB-OTG yang juga memberi daya ke papan membuat ini awkward. Gunakan kabel Y atau sumber daya terpisah jika Anda kena ini.
Di mana setiap metode cocok
| Metode | Flash pertama papan kosong | Flash ulang setelah setup pertama | Memerlukan laptop |
|---|---|---|---|
| Improv Wi-Fi dari aplikasi HA Android | Hanya jika papan datang siap Improv | Ya (lewat Wi-Fi) | Tidak |
| ESPHome OTA setelah flash pertama di server | Tidak (butuh server atau laptop teman sekali) | Ya (lewat Wi-Fi) | Sekali |
| Serial USB-OTG dari Android | Ya | Ya | Tidak |
Urutan mencobanya tetap sama: Improv dulu, OTA setelah bootstrap di server kedua, serial USB-OTG hanya ketika dua pertama tidak tersedia.
FAQ
Bisakah saya menjalankan dashboard ESPHome penuh di ponsel Android?
Tidak secara native. Dashboard ESPHome adalah aplikasi web Python yang berjalan di Home Assistant OS, container Docker, atau instalasi Linux. Anda bisa mengaksesnya di browser mobile dan mengontrol semuanya dari ponsel, tapi toolchain kompilasi sendiri berjalan di sisi server.
Apakah saya perlu Home Assistant untuk memakai ESPHome dari Android?
Provisioning Improv Wi-Fi dan flashing OTA keduanya mengasumsikan dashboard ESPHome dapat dijangkau dari ESP. Dashboard itu biasanya hidup di dalam Home Assistant. Anda bisa menjalankan image Docker ESPHome tanpa Home Assistant, tapi sisi Android alur kerja dirancang sekitar integrasi Improv aplikasi Home Assistant Companion.
Bagaimana jika papan ESP32 saya tidak punya jembatan USB-to-serial?
Beberapa modul ESP32-S3 dan ESP32-C3 baru mengekspos USB langsung tanpa jembatan CP2102 atau CH340. Kadang muncul sebagai perangkat USB CDC native yang bisa diajak bicara aplikasi terminal Android, tapi keanehan switching mode bervariasi menurut vendor papan dev. Improv Wi-Fi atau flash pertama di sisi server sepenuhnya menghindari masalah ini.
Apakah Improv Wi-Fi aman?
Improv mengenkripsi kredensial Wi-Fi saat transit lewat BLE memakai kunci sesi. Improv tidak mengautentikasi ESP — penyerang di dekatnya secara teknis bisa menyamar sebagai perangkat yang mengiklankan Improv. Dalam praktik ini hanya penting saat momen provisioning pertama. Setelah itu, ESP di Wi-Fi Anda dan berkomunikasi dengan Home Assistant lewat LAN.
Bisakah saya mem-flash ESPHome dari iPhone dengan cara yang sama?
Improv Wi-Fi bekerja dari iOS lewat dukungan Web Bluetooth Safari, dan aplikasi Home Assistant iOS mendukung provisioning Improv. Flashing serial USB-OTG jauh lebih terbatas di iOS karena adaptor Lightning-to-USB dan USB-C-to-USB Apple tidak mengekspos lapisan serial CDC ke aplikasi pihak ketiga seperti Android.