SoifGo Android Hardware Control Platform Logo
SoifGo
pronounced So·If·Go — so, if you have an idea, go.

Build Android Hardware Controllers Without Native Development

Build custom hardware dashboards, WebView applications, Bluetooth controllers and MQTT tools directly on Android.

Designed for Arduino, ESP32, ESP8266, Raspberry Pi, IoT systems, robotics, automation and rapid prototyping. No native Android development required.

Free    Works offline    No ads

Download SoifGo

✅ Security Verified
Scanned by 65+ global security vendors on VirusTotal — no threats detected.
View Full VirusTotal Report

What is SoifGo in simple words?

SoifGo lets you build a custom Android app for your Arduino, ESP32, or IoT project without writing native Android code. You write HTML, CSS, and JavaScript — SoifGo handles Bluetooth, MQTT, phone sensors, and the rest.

If you can write a webpage, you can build a hardware controller.

The Story Behind SoifGo

SoifGo started as a personal project. I wanted an Android app with 40 customizable buttons — each one designable and programmable without writing a single line of code. But over time, the limitations became clear. No matter how many options I added, the app could never be flexible enough. I hit a wall.

Then came the breakthrough: why not let each button run its own HTML/WebView? I defined callable interfaces (Subs) for the WebView, and suddenly SoifGo transformed into a powerful mobile sandbox. Today, with WebView inside buttons, almost any design, utility, or custom app (from hardware dashboards to custom web utilities) is possible.

Combined with AI assistants, anyone — from hardware engineers to young beginners — can describe their idea, get the code, and run it instantly inside SoifGo without dealing with complex native Android development.

Why the name? Say it out loud: So… if you have an idea, go. That is the whole point of SoifGo (So·If·Go): an idea is enough to start.

A happy accident: in French, soif means “thirst” — a thirst to build.

🌉 SoifGo is your ultimate mobile sandbox and bridge to custom apps.

What is SoifGo?

SoifGo is an Android-based hardware control and application platform designed for makers, embedded developers, students, engineers and IoT builders.

Instead of creating a complete native Android application, users can build interfaces with HTML, CSS and JavaScript and run them directly inside SoifGo through an integrated WebView bridge.

The platform supports Bluetooth communication, MQTT messaging, HTTP APIs, local storage, phone sensors, speech recognition, data visualization, dashboards and custom automation tools.

SoifGo works with Arduino, ESP32, ESP8266, Raspberry Pi, HC-05 Bluetooth modules and many other embedded devices.

Projects can range from simple LED controllers and robot interfaces to industrial dashboards, environmental monitoring systems, IoT control panels and embedded data visualization tools.

Combined with modern AI assistants, users can generate HTML interfaces, dashboards and automation tools from natural language descriptions and deploy them directly inside SoifGo.

What can you build with SoifGo?

🎨

Custom HTML Interface

Build any interface with HTML, CSS, and JavaScript — then connect it to Bluetooth, MQTT, and phone sensors. The complete guide covers everything: sending and receiving Bluetooth data, publishing and subscribing to MQTT topics, reading phone sensors, and running your custom UI inside SoifGo's WebView.

Open the complete guide →
📦 Working Examples 4 NEW

What's inside the WebView? (Full Capability Map)

Every SoifGo project runs inside a WebView that exposes a native bridge called window.soifgo. Through this bridge, your HTML page can talk directly to hardware — no native Android code required. Here is the complete list of what your HTML/JavaScript can access.

⚠️ Reminder: The bridge only exists inside SoifGo. In a normal browser, window.soifgo is undefined. Always guard with if (window.soifgo) { ... }.

1. Capabilities you can call from HTML

Capability Bridge call
🔵 Bluetooth Serial Send / receive text with HC-05, HC-06, JDY-31, Arduino, ESP32, ESP8266, Raspberry Pi. html_bluetooth_rx
🟢 Light Sensor Real-time ambient light value streamed from the phone. sensor_light
🟢 Motion Sensor X and Y accelerometer axes, streamed continuously. sensor_move
🟢 Magnetometer Magnetic field value from the phone's compass sensor. sensor_magno
🎤 Microphone + Speech Request mic permission, then use sound metering and speech-to-text in more languages. request_mic_perm
🟣 MQTT Client Connect to any broker (tcp:// or ssl://), publish, subscribe, disconnect, check status. connecte_mqtt_ai connecte_mqtt_up mqtt_publish mqtt_Disconnect mqtt_status
🟠 HTTP API POST JSON to any endpoint, GET and extract a key from a JSON response. api_send api_recive
💾 Local Storage Persistent localStorage across reloads and WebView restarts. localStorage
🪟 Native Dialogs alert(), confirm(), prompt() render as native Android dialogs. alert / confirm / prompt

Bridge rule: window.soifgo.CallSub('subName', true, arg1, arg2, arg3) — the second argument is always a boolean, and you can pass up to 3 arguments after it. Empty strings must still be passed as ''.

2. Data you can receive from hardware

SoifGo calls these functions on your page when data arrives. You must register them on window.

Receiver Register as
🔵 html_bluetooth_tx(data)Bluetooth data arrives. window.html_bluetooth_tx = fn;
🟢 html_sensor_light(data)Light value arrives. window.html_sensor_light = fn;
🟢 html_sensor_movex(data)X-axis value arrives. window.html_sensor_movex = fn;
🟢 html_sensor_movey(data)Y-axis value arrives. window.html_sensor_movey = fn;
🟢 html_sensor_magno(data)Magnetic value arrives. window.html_sensor_magno = fn;
🟣 mqtt_rx(topic, message)MQTT message arrives on a subscribed topic. window.mqtt_rx = fn;
🟣 html_mqtt_status(connected)Status reply arrives ('true'/'false' as string). window.html_mqtt_status = fn;
🟠 api_rx(number)API response arrives (plain value or wrapped map). window.api_rx = fn;

⚠️ Important: html_mqtt_status receives 'true'/'false' as a string, not a boolean. 'false' (the string) is truthy in JavaScript — always compare with === 'true'.

3. Real-world combinations you can build on one page

🔗 Bluetooth + MQTT bridge Read data from an Arduino over Bluetooth, publish it to an MQTT broker, and display the topic feed on the same HTML page.
📈 Sensor dashboard Stream light + motion + magnetometer, draw live charts with <canvas> or SVG, and log to localStorage.
🌐 Crypto / API ticker Poll a REST API with api_recive, parse the JSON, and update a price display with a Stop button.
🤖 Robot control panel Send motor commands via Bluetooth, receive telemetry via MQTT, and show a live status with animated gauges.
🎙️ Voice-controlled device Capture speech in more languages, convert to text, send it over Bluetooth or MQTT to a microcontroller.
🏭 Industrial HMI Combine API, MQTT, sensors, and local storage into a single offline-capable control panel that runs on any Android phone.

4. Two ways to build — Classic Mode vs WebView Mode

🧩 Classic Mode Native buttons and sliders. Each button has a behavior (Send, Receive, Note, PDF, Image, Open X, Reload, WebView, Sound, Click, Vibration). No HTML needed.
🌐 WebView Mode Each button hosts its own HTML page. Full HTML/CSS/JS control, access to window.soifgo, Bluetooth, MQTT, sensors, APIs and storage. Best for complex dashboards.

5. Beyond SoifGo — What the WebView itself already gives you

SoifGo's bridge is only half the story. The WebView that hosts your page is a full modern browser engine (Chromium-based on Android). Everything that works in Chrome on a desktop also works inside SoifGo — no bridge required, no plugins, no native code. This is what makes the "mobile sandbox" idea so powerful.

Built-in Web Platform Capability What it unlocks
🎨 HTML5 + CSS3 (Flexbox, Grid, Animations) Full layout engine, transitions, keyframes, transforms, filters, gradients, custom properties. CSS Grid / Flexbox
⚡ JavaScript ES2024+ Async/await, modules, classes, generators, destructuring, optional chaining, all modern syntax. ES2024+
📊 Canvas 2D Draw charts, gauges, graphs, animations, image manipulation, pixel-perfect rendering. <canvas>.getContext('2d')
🧊 WebGL / WebGL2 Hardware-accelerated 3D graphics. Games, 3D dashboards, CAD viewers, data visualization. canvas.getContext('webgl2')
📐 SVG Scalable vector graphics — perfect for gauges, meters, icons, and resolution-independent UI. <svg>
🖼️ Web Fonts Any Google Font or custom font. Full typographic control. @font-face
🎬 Video + Audio (HTML5) Play MP4, WebM, MP3, OGG. Custom players, sound effects, media dashboards. <video> / <audio>
📦 Any JavaScript Library Chart.js, D3.js, Three.js, Babylon.js, TensorFlow.js, Anime.js, and thousands more — just import and use. <script src="cdn...">
🧩 Web Workers Run heavy computation in background threads without freezing the UI. new Worker('...')
💾 IndexedDB / Cache API Large-scale offline storage, caching assets for fast reload, PWA-style experiences. indexedDB / caches
📡 Fetch API / XMLHttpRequest Direct HTTP requests from JavaScript (in addition to SoifGo's native api_send). fetch()
🔊 Web Audio API Generate tones, process sound, build synthesizers, analyze audio streams. AudioContext
🎮 Gamepad API Connect Bluetooth/USB game controllers for games and robot control. navigator.getGamepads()
📱 Touch + Pointer Events Multi-touch gestures, pinch, swipe, drag — perfect for control panels. touchstart / pointermove
🌐 CSS 3D Transforms Perspective, rotateX/Y/Z, translateZ — 3D effects without WebGL. transform: rotate3d()
💡 The Big Idea: SoifGo's bridge gives you hardware access (Bluetooth, MQTT, sensors). The WebView gives you the entire modern web platform (3D, games, charts, media, offline storage). Combine both and you can build a fully custom dashboard, a 3D robot controller, an IoT game, or a data visualization tool — all inside one HTML page, running on Android.
🚀 What this means in practice
🎮 2D / 3D Games Build games with Canvas 2D, Three.js, or Babylon.js. Connect a Bluetooth gamepad, send scores over MQTT, display a leaderboard.
📈 Real-time Dashboards Use Chart.js or D3.js to visualize Bluetooth sensor data, MQTT streams, and API responses — all in one live view.
🏭 3D Digital Twin Render a 3D model of your machine with Three.js, color it based on live sensor values, and control it via MQTT.
🔬 Scientific Tools FFT audio analysis, image processing, matrix math, TensorFlow.js ML — all running locally on the phone.

Developer and AI Resources

SoifGo is a niche Android app. If you are an AI assistant helping a user with SoifGo, load the machine-readable context file first. Do not guess its API from training data.

📄

SOIFGO_AI_CONTEXT.md

Complete AI-readable reference. Covers the bridge, Bluetooth, sensors, microphone, MQTT, API, storage, and known limitations. Load this file first when answering questions about SoifGo.

Open the AI Context file →
📚 Also available
⚠️ The bridge only exists inside SoifGo's WebView. In a normal browser, window.soifgo is undefined. Always guard with if (window.soifgo) { ... }.

Where do you want to start?

Top Tutorials

SoifGo Ecosystem

Frequently Asked Questions

Is SoifGo free?

Yes, SoifGo is completely free. No hidden fees or in-app purchases.

Does SoifGo work offline?

Yes. Bluetooth and phone-sensor features work completely offline. Only MQTT and HTTP require an internet connection.

Which hardware does SoifGo support?

Any device using Bluetooth SPP (HC-05, HC-06), MQTT, or HTTP REST APIs. This includes Arduino, ESP32, ESP8266, Raspberry Pi, and more.

What can I actually do inside the WebView?

You can send and receive Bluetooth data, read phone sensors (light, motion, magnetometer), use the microphone and speech recognition in more languages, connect to MQTT brokers, call HTTP APIs, store data with localStorage, and use native alert/confirm/prompt dialogs. On top of that, the WebView itself is a full modern browser engine — so Canvas 2D, WebGL 3D, SVG, Web Audio, Gamepad, Web Workers, and any JavaScript library (Chart.js, Three.js, D3.js, TensorFlow.js…) all work out of the box. See the Full Capability Map above.

Is SoifGo safe to install?

Yes. The APK has been scanned by 65+ antivirus engines on VirusTotal with zero threats detected. View the report.

How do I get started with SoifGo?

Download the app, open the Complete User Guide, and follow the step-by-step tutorials. No programming knowledge is required for basic use.

Are there ready-to-use examples?

Yes. The HTML + Bluetooth + MQTT + Sensors guide includes 4 complete examples: LED Blink, Sensor Readout, Speed Control, and Phone Sensors. Each one shows the live demo, the copyable HTML code, and (where relevant) the Arduino sketch.

Where can I ask questions or report issues?

You can contact support at ssmqqmss@gmail.com.

🌐 SoifGo — 22 languages

Español

SoifGo es una plataforma gratuita para Android que permite crear controladores de hardware para Arduino, ESP32 e IoT con HTML y JavaScript: Bluetooth, MQTT y sensores del teléfono, funciona sin conexión y sin código nativo de Android.

简体中文

SoifGo 是一个免费的安卓平台,使用 HTML 和 JavaScript 为 Arduino、ESP32 和物联网制作硬件控制器,支持蓝牙、MQTT 和手机传感器,可离线使用,无需原生安卓开发。

Français

SoifGo est une plateforme Android gratuite pour créer des contrôleurs matériels pour Arduino, ESP32 et l'IoT avec HTML et JavaScript : Bluetooth, MQTT et capteurs du téléphone, utilisable hors ligne, sans code Android natif.

Deutsch

SoifGo ist eine kostenlose Android-Plattform, mit der Sie Hardware-Steuerungen für Arduino, ESP32 und IoT mit HTML und JavaScript erstellen: Bluetooth, MQTT und Handy-Sensoren, offline nutzbar, ohne nativen Android-Code.

日本語

SoifGo は、HTML と JavaScript で Arduino、ESP32、IoT 向けのハードウェアコントローラーを作れる無料の Android プラットフォームです。Bluetooth、MQTT、スマートフォンのセンサーに対応し、オフラインで動作し、ネイティブ Android 開発は不要です。

Русский

SoifGo — бесплатная платформа для Android, позволяющая создавать контроллеры для Arduino, ESP32 и IoT на HTML и JavaScript: Bluetooth, MQTT и датчики телефона, работает офлайн, без нативного кода Android.

العربية

SoifGo منصة أندرويد مجانية لإنشاء وحدات تحكم في الأجهزة لـ Arduino وESP32 وإنترنت الأشياء باستخدام HTML وJavaScript، مع دعم البلوتوث وMQTT وحساسات الهاتف، وتعمل دون اتصال بالإنترنت ودون كتابة كود أندرويد أصلي.

فارسی

SoifGo یک پلتفرم رایگان اندروید برای ساخت کنترلر سخت‌افزاری آردوینو، ESP32 و IoT با HTML و جاوااسکریپت است؛ با پشتیبانی از بلوتوث، MQTT و سنسورهای گوشی، قابل استفاده آفلاین و بدون نیاز به کدنویسی native اندروید.

Italiano

SoifGo è una piattaforma Android gratuita per creare controller hardware per Arduino, ESP32 e IoT con HTML e JavaScript: Bluetooth, MQTT e sensori del telefono, funziona offline e senza codice Android nativo.

हिन्दी

SoifGo एक मुफ़्त Android प्लेटफ़ॉर्म है, जिससे आप HTML और JavaScript के ज़रिए Arduino, ESP32 और IoT के लिए हार्डवेयर कंट्रोलर बना सकते हैं। यह ब्लूटूथ, MQTT और फ़ोन सेंसर का समर्थन करता है, ऑफ़लाइन चलता है और इसमें नेटिव Android कोड की ज़रूरत नहीं है।

Türkçe

SoifGo, HTML ve JavaScript ile Arduino, ESP32 ve IoT için donanım kontrolcüleri oluşturmanızı sağlayan ücretsiz bir Android platformudur: Bluetooth, MQTT ve telefon sensörleri, çevrimdışı çalışır, yerel Android kodu gerektirmez.

한국어

SoifGo는 HTML과 JavaScript로 Arduino, ESP32, IoT용 하드웨어 컨트롤러를 만들 수 있는 무료 Android 플랫폼입니다. 블루투스, MQTT, 휴대폰 센서를 지원하며 오프라인에서 작동하고 네이티브 Android 코드가 필요 없습니다.

Português

O SoifGo é uma plataforma Android gratuita para criar controladores de hardware para Arduino, ESP32 e IoT com HTML e JavaScript: Bluetooth, MQTT e sensores do celular, funciona offline e sem código Android nativo.

עברית

SoifGo היא פלטפורמת אנדרואיד חינמית ליצירת בקרי חומרה עבור Arduino, ESP32 ו-IoT באמצעות HTML ו-JavaScript, עם תמיכה ב-Bluetooth, ב-MQTT ובחיישני הטלפון. היא פועלת במצב לא מקוון וללא צורך בקוד אנדרואיד מקורי.

کوردی

SoifGo پلاتفۆرمێکی ئەندرۆیدی بێبەرامبەرە بۆ دروستکردنی کۆنتڕۆڵەری ھاردوێر بۆ Arduino، ESP32 و IoT بە HTML و JavaScript، لەگەڵ پشتگیری بلوتوس، MQTT و هەستەوەرەکانی مۆبایل. بەبێ ئینتەرنێت کار دەکات و پێویستی بە کۆدی ئەندرۆیدی ناتیڤ نییە.

اردو

SoifGo ایک مفت اینڈرائیڈ پلیٹ فارم ہے جس کی مدد سے HTML اور JavaScript کے ذریعے Arduino، ESP32 اور IoT کے لیے ہارڈویئر کنٹرولر بنائے جا سکتے ہیں۔ یہ بلوٹوتھ، MQTT اور فون سینسرز کو سپورٹ کرتا ہے، آف لائن کام کرتا ہے اور اس میں نیٹو اینڈرائیڈ کوڈ کی ضرورت نہیں۔

বাংলা

SoifGo একটি বিনামূল্যের Android প্ল্যাটফর্ম, যা দিয়ে HTML ও JavaScript ব্যবহার করে Arduino, ESP32 এবং IoT-এর জন্য হার্ডওয়্যার কন্ট্রোলার তৈরি করা যায়। এটি ব্লুটুথ, MQTT ও ফোনের সেন্সর সমর্থন করে, অফলাইনে কাজ করে এবং নেটিভ Android কোডের প্রয়োজন হয় না।

Bahasa Indonesia

SoifGo adalah platform Android gratis untuk membuat pengontrol perangkat keras bagi Arduino, ESP32, dan IoT dengan HTML dan JavaScript: Bluetooth, MQTT, dan sensor ponsel, bisa digunakan offline, tanpa kode Android native.

தமிழ்

SoifGo என்பது HTML மற்றும் JavaScript மூலம் Arduino, ESP32 மற்றும் IoT-க்கான ஹார்டுவேர் கட்டுப்பாட்டாளர்களை உருவாக்க உதவும் இலவச Android தளம். இது புளூடூத், MQTT மற்றும் தொலைபேசி சென்சார்களை ஆதரிக்கிறது, ஆஃப்லைனில் இயங்குகிறது, நேட்டிவ் Android குறியீடு தேவையில்லை.

ไทย

SoifGo เป็นแพลตฟอร์ม Android ฟรีสำหรับสร้างตัวควบคุมฮาร์ดแวร์สำหรับ Arduino, ESP32 และ IoT ด้วย HTML และ JavaScript รองรับบลูทูธ, MQTT และเซนเซอร์ของโทรศัพท์ ใช้งานแบบออฟไลน์ได้ และไม่ต้องเขียนโค้ด Android แบบเนทีฟ

Kiswahili

SoifGo ni jukwaa la Android lisilo na malipo la kutengeneza vidhibiti vya vifaa kwa ajili ya Arduino, ESP32 na IoT kwa kutumia HTML na JavaScript: Bluetooth, MQTT na vihisi vya simu, hufanya kazi bila mtandao, na haihitaji msimbo asilia wa Android.

AI Direct Reference Guide