RisalDash RisalDash

Живое демо

Пара строк C++ → живой дашборд

Опиши виджеты в скетче — RisalDash сгенерит HTML, CSS, JS и WebSocket-протокол, которые ESP отдаёт сам, офлайн. Вот код и результат, вживую.

живой рендер — тот же UI, что отдаёт ESP

Галерея проектов

Реальные проекты, по паре строк каждый

Десять дашбордов для ESP32 / ESP8266 — теплица, монитор энергии, датчик газа, метеостанция, солнце и не только. Фильтруй по категории, открывай живое демо, бери исходник или смотри справочник виджетов.

🛰️
Готово к прошивке

GPS-трекер

DIY

Живая карта, скорость и спутники на своём веб-дашборде — геозона дома с тревогой, посуточные логи трека и экспорт GPX в один тап. NEO-6M на ESP32/ESP8266, без облака, OTA-обновления.

3hВремя
$9Цена
1Сенсоры
13Виджеты
Live map + trailGeofence circleSpeed gaugeSatellites / HDOPAltitude chartDistance to homeGPX / CSV exportVibration alarmOTA update
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP8266 / ESP32
NEO-6M TX D5 / GPIO16
NEO-6M RX D6 / GPIO17
NEO-6M VCC 3V3
NEO-6M GND GND
Vibration motor IN D1 / GPIO25
🌱
Готово к прошивке

Умная теплица

Агро

Климат, влажность почвы и свет на одном экране — управление вентилятором, насосом и лампой с уставкой.

2hВремя
$18Цена
3Сенсоры
9Виджеты
Air temp gaugeHumidity gaugeTrend chartSoil moistureLight (lux)Fan / Pump / LampTarget setpoint
Показать скетч
dash.gauge("Air temp", &airT, 0, 50, "C");
dash.gauge("Humidity", &airH, 0, 100, "%");
dash.stat ("Light", &lux, "lux");
dash.toggle("Fan", &fan);
dash.toggle("Pump", &pump);
Подключение 11 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
BME280 SDA GPIO21
BME280 SCL GPIO22
BME280 VCC 3V3
BME280 GND GND
Capacitive soil AOUT GPIO34
Capacitive soil VCC 3V3
Capacitive soil GND GND
BH1750 (lux) SDA GPIO21
BH1750 (lux) SCL GPIO22
Pump relay IN GPIO26
Fan relay IN GPIO27
🤖

Мобильный робот

Робототехника

Управляй из браузера: живая карта с треком, 3D-куб курса по IMU, анимированное лицо робота и экранные кнопки.

4hВремя
$35Цена
3Сенсоры
6Виджеты
Speed gaugeGPS map + trailIMU heading cubeRobot faceDrive buttonsBattery %
Показать скетч
dash.gauge("Speed", &kmh, 0, 30, "km/h");
dash.map ("Position", &lat, &lon);
dash.cube("Heading", &pitch, &roll, &yaw);
dash.face("Mood", &mood);
dash.button("Forward", "GO", []{ drive(1); });
Готово к прошивке

Монитор энергии

Энергия

Напряжение сети, ток и мощность вживую — график нагрузки, кВт·ч за день, оценка стоимости и реле сети.

2hВремя
$15Цена
1Сенсоры
8Виджеты
Power gaugeVoltage gaugeCurrent gaugeLoad chartToday kWhCost estimateMains relay
Показать скетч
dash.gauge("Power", &watts, 0, 3000, "W");
dash.gauge("Voltage", &volts, 180, 260, "V");
dash.chart("Load", &watts, "W");
dash.stat ("Today", &kwh, "kWh");
dash.toggle("Mains", &mains);
Подключение 6 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
PZEM-004T TX GPIO16
PZEM-004T RX GPIO17
PZEM-004T 5V 5V
PZEM-004T GND GND
CT clamp around live wire into PZEM
Main relay IN GPIO26
🔥
Готово к прошивке

Газовая безопасность

Промышленность

Датчик дыма/LPG и CO: gauge + тренд по каждому газу с фиксируемыми LED-тревогами — пресет подключает в одну строку.

1hВремя
$8Цена
2Сенсоры
4Виджеты
Smoke gauge + chartCO gauge + chartSmoke alarm LEDCO alarm LED
Показать скетч
dash.sensor("mq2", &smoke).chart();
dash.led ("Smoke alarm", &smokeAlarm);
dash.sensor("mq7", &co).chart();
dash.led ("CO alarm", &coAlarm);
Подключение 9 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
MQ-2 (smoke/LPG) AOUT GPIO34
MQ-2 (smoke/LPG) VCC 5V
MQ-2 (smoke/LPG) GND GND
MQ-7 (CO) AOUT GPIO35
MQ-7 (CO) VCC 5V
MQ-7 (CO) GND GND
Buzzer + GPIO25
Fan relay IN GPIO26
Valve relay IN GPIO27
🌤️
Готово к прошивке

Метеостанция

Образование

Ветер, порывы, направление и осадки плюс UV-индекс и BME280 темп/влажность/давление с графиками.

3hВремя
$25Цена
4Сенсоры
7Виджеты
Wind gaugeGust + directionRain totalUV index gaugeTemp / humidity / pressureTrend charts
Показать скетч
dash.sensor("weather", &wind, &gust, &dir, &rain);
dash.gauge ("UV index", &uv, 0, 12);
dash.sensor("bme280", &temp, &hum, &pres).chart();
Подключение 8 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
Anemometer pulse (interrupt) GPIO27
Anemometer GND GND
Wind vane AOUT GPIO35
Rain bucket pulse (interrupt) GPIO14
LTR390 (UV) SDA GPIO21
LTR390 (UV) SCL GPIO22
BME280 SDA GPIO21
BME280 SCL GPIO22
☀️
Готово к прошивке

Монитор солнечной энергии

Энергия

Заряд батареи, напряжение пакета и ток из BMS-пресета, плюс напряжение панели и мощность нагрузки — собрано из BatteryBMS + PowerMeter.

3hВремя
$28Цена
3Сенсоры
7Виджеты
Battery SoC gaugePack voltageCharge current chartPV voltageLoad powerCharging LED
Показать скетч
dash.sensor("bms", &soc, &packV, &amps, &temp).chart();
dash.gauge("PV voltage", &pv, 0, 60, "V");
dash.chart("Charge", &charge, "W");
dash.led ("Charging", &charging);
Подключение 6 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
INA226 (solar) SDA GPIO21
INA226 (solar) SCL GPIO22
INA226 (solar) VCC 3V3
BMS UART TX GPIO16
BMS UART RX GPIO17
Load relay IN GPIO26
🐠
Готово к прошивке

Контроллер аквариума

Лаборатория

В планах: температура воды, pH и TDS/EC с нагревателем, помпой и расписанием света.

4hВремя
$30Цена
4Сенсоры
8Виджеты
Water temp (DS18B20)pH gaugeTDS / ECWater levelHeater togglePump toggleLight schedule
Показать скетч
dash.gauge("Water temp", &t, 0, 40, "C");
dash.gauge("pH", &ph, 0, 14);
dash.metric("TDS", &tds, "ppm");
dash.toggle("Heater", &heater);
dash.toggle("Pump", &pump);
Подключение 11 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
DS18B20 DATA (+4.7k pull-up to 3V3) GPIO4
DS18B20 VCC 3V3
DS18B20 GND GND
pH board Po GPIO34
TDS AOUT GPIO35
Float switch signal GPIO14
Pump relay IN GPIO25
Filter relay IN GPIO26
Heater relay IN GPIO32
Light relay IN GPIO33
Feeder servo signal GPIO13
🏠
Готово к прошивке

Умный дом

Дом

В планах: присутствие по mmWave, климат комнат и освещение по комнатам с диммингом и сценами.

6hВремя
$60Цена
5Сенсоры
12Виджеты
Presence (LD2410)Room temp / humidityLights per roomDimmer sliderClimateScenes
Показать скетч
dash.badge ("Presence", &occupied);
dash.gauge ("Room temp", &t, 0, 40, "C");
dash.toggle("Living light", &l1);
dash.slider("Dim", &dim, 0, 255);
Подключение 10 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
LD2410 (mmWave) TX GPIO16
LD2410 (mmWave) RX GPIO17
AHT20 SDA GPIO21
AHT20 SCL GPIO22
INA219 SDA GPIO21
INA219 SCL GPIO22
Living relay IN GPIO25
Kitchen relay IN GPIO26
Curtain motor driver IN GPIO27
Door reed (INPUT_PULLUP) signal GPIO14
🛠️
Готово к прошивке

ЧПУ-станок

Промышленность

В планах: обороты шпинделя, подача и позиция осей с графиком нагрузки и кнопкой аварийной остановки.

8hВремя
$90Цена
4Сенсоры
10Виджеты
Spindle RPM gaugeFeed rateAxis position X/Y/ZLoad chartE-stop buttonTemp
Показать скетч
dash.gauge("Spindle", &rpm, 0, 24000, "RPM");
dash.metric("Feed", &feed, "mm/min");
dash.chart("Load", &load, "%");
dash.button("E-STOP", "STOP", []{ estop(); });
Подключение 6 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
Tacho (opto/hall) OUT (interrupt) GPIO27
ACS712 OUT GPIO34
MAX6675 thermocouple SCK GPIO18
MAX6675 thermocouple CS GPIO5
MAX6675 thermocouple SO GPIO19
E-stop (INPUT_PULLUP) signal GPIO14
🖨️
Готово к прошивке

3D-принтер

DIY

В планах: температура сопла и стола, прогресс печати, слайдер вентилятора и пауза/продолжение.

6hВремя
$70Цена
4Сенсоры
9Виджеты
Hotend temp gaugeBed temp gaugePrint progressFan sliderPause / resumeJog controls
Показать скетч
dash.gauge("Hotend", &hotend, 0, 260, "C");
dash.gauge("Bed", &bed, 0, 120, "C");
dash.progress("Progress", &pct, "%");
dash.slider("Fan", &fan, 0, 255);
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
Hotend thermistor (100k NTC divider) signal GPIO34
Bed thermistor signal GPIO35
Part-cooling fan (MOSFET gate) gate GPIO25
E-stop (INPUT_PULLUP) signal GPIO14
Printer serial (optional) TX GPIO16
🌡️
Готово к прошивке

Умный термостат

Дом

WiFi-термостат в телефоне — температура и влажность в реальном времени, уставка и гистерезис, переключающий реле обогревателя. Готов под DS18B20 / DHT.

1hВремя
$6Цена
1Сенсоры
6Виджеты
Room temp gaugeHumidity gaugeTrend chartSetpointHeating LEDHold toggle
Показать скетч
dash.gauge("Room temp", &roomT, 0, 40, "C");
dash.number("Setpoint", &setpoint, 5, 35, 1);
dash.led  ("Heating", &heating);
dash.toggle("Hold", &hold);
Подключение 7 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
DS18B20 DATA GPIO4
DS18B20 VCC 3V3
DS18B20 GND GND
4.7k pull-up DATA–VCC
Heater relay IN GPIO26
Heater relay VCC 5V
Heater relay GND GND
💡
Готово к прошивке

Контроллер LED-ленты

Дом

Веб-контроллер в стиле WLED для лент WS2812 / SK6812 — палитра, яркость, эффекты и живой расчёт потребления тока, чтобы не перегрузить блок питания.

1hВремя
$5Цена
0Сенсоры
7Виджеты
Power toggleColour pickerBrightness sliderEffect selectLED countCurrent-draw gauge
Показать скетч
dash.color ("Color", &color);
dash.slider("Brightness", &brightness, 0, 255);
dash.select("Effect", "Solid,Rainbow,Breathe,Chase", &effect);
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
WS2812B DIN GPIO5
470Ω inline DIN
WS2812B 5V 5V
WS2812B GND GND
1000µF cap 5V–GND
🚰
Готово к прошивке

Монитор бака воды

Дом

Уровень воды в баке по ультразвуку в вебе — процент, литры, тренд и авто-насос, доливающий ниже 25 %. Готов под HC-SR04 / JSN-SR04T.

1hВремя
$7Цена
1Сенсоры
6Виджеты
Level gaugeVolumeTrend chartAir-gap distanceLow-level LEDPump toggle
Показать скетч
dash.gauge ("Level", &levelPct, 0, 100, "%");
dash.stat  ("Volume", &liters, "L");
dash.toggle("Pump", &pump);
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
HC-SR04 TRIG GPIO5
HC-SR04 ECHO GPIO18
HC-SR04 VCC 5V
HC-SR04 GND GND
Pump relay IN GPIO26
🚶
Готово к прошивке

Охранная сигнализация

Дом

Дашборд сигнализации PIR / mmWave — индикатор движения, счётчик событий, постановка на охрану, состояние сирены и журнал. Готов под HC-SR501 / LD2410.

1hВремя
$4Цена
1Сенсоры
6Виджеты
Motion LEDEvents counterArmed toggleSiren LEDSince-last statEvent log
Показать скетч
dash.led  ("Motion now", &motion);
dash.badge("Events today", &events);
dash.toggle("Armed", &armed);
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
PIR HC-SR501 OUT GPIO14
PIR HC-SR501 VCC 5V
PIR HC-SR501 GND GND
Buzzer + GPIO27
Buzzer GND
🚗
Готово к прошивке

Гаражные ворота

Дом

Открывай гараж из веба — кнопка-импульс на реле, положение ворот, состояние геркона открыто/закрыто и журнал. ESP8266 или ESP32.

45mВремя
$5Цена
1Сенсоры
5Виджеты
Open LEDPosition statMoving LEDToggle buttonActivity log
Показать скетч
dash.led ("Open", &open);
dash.button("Toggle door", "Open / Close", trigger);
dash.stat("Position", &position, "%");
Подключение 5 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
Relay IN GPIO26
Relay VCC 5V
Relay GND GND
Reed switch A GPIO14
Reed switch B GND
📍
Готово к прошивке

GPS-трекер

Робототехника

Трекер на живой карте — движущийся маркер, скорость и курс от модуля NEO-6M (TinyGPS++). Использует встроенный виджет карты.

1.5hВремя
$9Цена
1Сенсоры
5Виджеты
Live mapSpeed statHeading statLatitudeSpeed trend
Показать скетч
dash.map ("Location", &lat, &lon);
dash.stat("Speed", &speed, "km/h");
dash.stat("Heading", &heading, "deg");
Подключение 4 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
NEO-6M TX GPIO16
NEO-6M RX GPIO17
NEO-6M VCC 3V3
NEO-6M GND GND
🔐
Готово к прошивке

RFID-контроль доступа

Дом

Дашборд RFID-замка — скан по белому списку, счётчики доступов/отказов, последняя карта, авто-запирание и журнал доступа. Готов под MFRC522 / PN532.

1.5hВремя
$8Цена
1Сенсоры
6Виджеты
Locked LEDGrants counterDenied counterLast cardUnlock buttonAccess log
Показать скетч
dash.led  ("Locked", &locked);
dash.badge("Grants today", &grants);
dash.button("Unlock", "Momentary unlock", unlock);
Подключение 7 связей

Референсное подключение — типовые соединения, сверяйте с вашей конкретной платой / модулем перед подачей питания. Это не проверенная на железе сборка.

Компонент Его пин ESP32
MFRC522 SDA GPIO5
MFRC522 SCK GPIO18
MFRC522 MOSI GPIO23
MFRC522 MISO GPIO19
MFRC522 RST GPIO22
MFRC522 3V3 3V3
Lock relay IN GPIO26

Сравнение

RisalDash рядом с ESPUI и Blynk

Только проверяемые, нейтральные факты. Это разные инструменты для разных задач — выбирай по потребности, а не по «табло».

Возможность RisalDashESPUIBlynk
On-device self-hosted UI YesYesLocal server or cloud
Works offline in AP mode YesYes (LAN)Cloud-first
Account required NoNoYes
License MITMITLibrary MIT · platform proprietary
Boards ESP32 · ESP8266ESP32 · ESP8266ESP32 · ESP8266 · many MCUs
Client Responsive webResponsive webNative mobile apps + web
OTA firmware update Yes (local, opt-in)NoYes (cloud)
Hosted cloud No (local only)NoYes
Transport WebSocketWebSocketBlynk protocol

Что добавляет RisalDash

Возможности, встроенные в сам RisalDash:

Built-in i18n + RTL (EN · RU · UZ · AR)MCP / AI-tool integrationZero-Waste linker — unused widgets compile to 0 bytesAnimated robot faceOffline captive-portal Wi-Fi provisioning

Blynk — полноценная облачная IoT-платформа с хостингом, нативными мобильными приложениями и OTA; RisalDash — локальный, без облака, UI на устройстве. ESPUI — ближайший аналог: веб-UI на устройстве. Разные инструменты для разных задач.