Simple smart home control for ESP32 relay devices, BLE provisioning, MQTT cloud control, scenes and schedules.
Made for Indian homes and installers.
One app, one board, one backend — BLE, WiFi, and cloud MQTT unified.
Add ESP32 devices from the Android app without hardcoding WiFi credentials.
Add ESP32 devices from the Android app without hardcoding WiFi credentials.
Control devices remotely through your selected MQTT broker.
Control devices remotely through your selected MQTT broker.
Safe GPIO maps for 4-channel and 8-channel relay boards.
Safe GPIO maps for 4-channel and 8-channel relay boards.
Create one-tap scenes, timers and weekly schedules.
Create one-tap scenes, timers and weekly schedules.
From unboxing to controlling relays from anywhere — faster than you'd expect.
Install Yarana Smart Home on Android.
Install Yarana Smart Home on Android.
Scan nearby YARANA_ devices over BLE.
Scan nearby YARANA_ devices over BLE.
Send WiFi and MQTT settings securely to ESP32.
Send WiFi and MQTT settings securely to ESP32.
Use relays, scenes and schedules from anywhere.
Use relays, scenes and schedules from anywhere.
Safe, compile-time validated GPIO assignments via the YARANA_SET_RELAY_PIN macro.
| Relay | GPIO | Label |
|---|---|---|
| Relay 1 | GPIO 32 | Light / Switch 1 |
| Relay 2 | GPIO 26 | Fan / Switch 2 |
| Relay 3 | GPIO 27 | Plug / Switch 3 |
| Relay 4 | GPIO 14 | AC / Switch 4 |
| Status LED | GPIO 2 | System reserved |
| Relay | GPIO | Label |
|---|---|---|
| Relay 1–4 | 32, 26, 27, 14 | Same as 4-Ch |
| Relay 5 | GPIO 25 | Switch 5 |
| Relay 6 | GPIO 33 | Switch 6 |
| Relay 7 | GPIO 16 | Switch 7 |
| Relay 8 | GPIO 17 | Switch 8 |
YARANA_SET_RELAY_PIN macro at compile time.relayActiveLow = true in your config for standard active-low relay modules.Import the library, configure your relay pins, and call yarana.begin() — that's it.
In Arduino IDE go to Sketch → Include Library → Add .ZIP Library and select the downloaded ZIP.
Or use PlatformIO: add https://github.com/yaranaiotguru/YaranaSmartHome to your lib_deps.
#include <YaranaSmartHome.h>
YaranaSmartHome yarana;
void setup() {
YARANA_BEGIN_4CH(yarana, 32, 26, 27, 14);
}
void loop() { yarana.loop(); }
BLE works locally. MQTT is required for remote control.
BLE works locally. MQTT is required for remote control.
Yes. The Arduino library lets users define pins and blocks unsafe GPIO2 for relay use.
Yes. The Arduino library lets users define pins and blocks unsafe GPIO2 for relay use.
Mosquitto, EMQX, HiveMQ and custom MQTT brokers are supported.
Mosquitto and custom MQTT brokers are supported.
Have questions, need a demo, or want installer / dealer pricing? Drop us a message — we respond within 24 hours.