Arduino IoT ESP32 MQTT: ZenAir

5K+
Downloads
Content rating
Everyone
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

ZenAir is a tool for communication with microcontrollers (Arduino or ESP in particular), websites/servers or other devices via USB, WiFi, MQTT or Bluetooth using JavaScript.

Advantages of app:
— No Ads and paid features
— No telemetry, works completely local
— JavaScript runtime engine to modify data
— Grid Terminal that gives ability to place items as you want
— Import and Export by Text (Base85) or Image (Data Matrix) between users
— Locator with SSDP: to search your IoT devices in local Wi-Fi & get embedded Terminals
— Autosave with adjustable rate
— Auto Connecting (at App start)
— Auto Reconnecting (at unexpected disconnect)
— Working in Background
— Keep-screen-on (preventing device from sleeping)
— Line-keeping: In moving console, keeps the line which you stay on
— Most unique Linear Chart item

All using entered devices are on the screen called Terminals. There is 2 view Terminal types: CLASSIC and GRID. GRID one provides you possibility to place items/panels on screen and configure it with editor mode.

Here is main items of CLASSIC Terminal:

History — records an actions related to the interaction between devices. It is possible to remember data that was sent by user and/or received from device. The size of the history is determined in the settings with maximum of 9999 lines.

Slider — supports joystick mode, automatically sends 0 (with prefix if it exist) at the end of usage. It is possible to set any prefixes. Minimum —2^31, maximum 2^31 — 1. The count of sliders is limited to 16.

Button — it is possible to send commands as long/complex as possible. Pressable button mode with configurable sending rate is supported. Auto—clicker is supported like click at a certain interval (at least every 15 minutes) or once a day at a certain time, this is an experimental function that doesn't necessarily to work as it should. The number of buttons is limited to 60.

Input field — just a single line field. By default, all data is sent with the ";" terminator (can be changed on settings).

Console — all incoming data displays here, previous line can be stacked with next. Maximum size is 9999 lines.
Updated on
Feb 21, 2026

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
No data shared with third parties
Learn more about how developers declare sharing
No data collected
Learn more about how developers declare collection

What’s new

- Significantly improved Linear Chart performance
- Placeholder Resolver expanded with new powerful commands
- Added search ability to the History and Icon Picker
- Added Terminal Import/Export via encrypted text file
And 9 improvements, 18 fixes