What is Inmalyze?
Inmalyze is a powerful IoT analytics library designed for microcontrollers like Arduino, ESP32, and ESP8266. It enables seamless data transmission, real-time monitoring, and intuitive dashboards for your embedded projects. Build connected devices with minimal configuration and maximum flexibility.
Inmalyze offers three communication methods to connect your devices:
- USB Serial — Direct USB connection for Arduino boards (Uno, Mega, Nano...)
- WiFi — Local network connection for microcontrollers (ESP32, ESP8266...)
- Cloud — Cloud-based connection that works even when you're offline
Dashboard Device Support
USB Dashboard
Devices: Computer / Laptop only
Browser: Google Chrome only
WiFi Dashboard
Devices: Computer / Laptop only
Browser: Google Chrome only
Cloud Dashboard
Devices: Phone, Tablet, Computer, Laptop — All devices!
Browser: All web browsers
How to Use the Library
Get started with Inmalyze in just a few steps
Download the Library
Go to the Download page and download the appropriate library for your board:
- Inmalyze.h — For USB connection
- InmalyzeWIFI.h — For WiFi connection
- InmalyzeAPI.h — For Cloud connection
Install the Library
In Arduino IDE: Go to Sketch → Include Library → Add .ZIP Library and select the downloaded file.
Include the Library
Add the include statement at the top of your sketch based on your connection type.
Start Sending Data
Use the send() and get() functions to communicate with the dashboard!
Library Dependencies
Make sure you have these libraries installed
InmalyzeAPI Dependencies
Required libraries for Cloud connection:
<ArduinoJson.h><HTTPClient.h><WiFi.h>
InmalyzeWIFI Dependencies
Required libraries for WiFi connection:
<WiFi.h><Arduino.h><WebServer.h><map>
In Arduino IDE: Go to Sketch → Include Library → Manage Libraries and search for each library name.
Core Functions
The main functions you need to know
For Inmalyze USB Library
When using the Inmalyze.h library for USB serial communication, use these simple functions:
Sending Data (TX)
Use the send() function to transmit a key-value pair to the dashboard:
send("KEY_NAME", value);Receiving Data (RX)
Use the get() function to read incoming values from the dashboard:
int value = get("KEY_NAME");The get() function returns -1 if no new value is available for that key.
For InmalyzeWIFI Library
When using the InmalyzeWIFI.h library for local WiFi connection, create the object:
Object Initialization
// ===== Objects =====
InmalyzeWIFI InmalyzeWIFI;Sending Data
Use the InmalyzeWIFI.send() method to transmit data:
InmalyzeWIFI.send("KEY_NAME", value);Receiving Data
Use the InmalyzeWIFI.get() method to read control values from the dashboard:
String value = InmalyzeWIFI.get("KEY_NAME");Loop Function
Call InmalyzeWIFI.loop() in your main loop to handle incoming requests:
void loop() {
InmalyzeWIFI.loop(); // Listen for dashboard requests
// Your code here...
}For InmalyzeAPI Library
When using the InmalyzeAPI.h library for cloud connection, create the object with your credentials:
Object Initialization
// ===== Objects =====
InmalyzeAPI inmalyzeAPI(authKey, deviceKey);Sending Data
Use the inmalyzeAPI.send() method to queue data for transmission:
inmalyzeAPI.send("KEY_NAME", value);Receiving Data
Use the inmalyzeAPI.get() method to read control values from the dashboard:
bool value = inmalyzeAPI.get("KEY_NAME");Update Function
Call inmalyzeAPI.update() to send all queued data and receive controls:
if (inmalyzeAPI.update()) {
// Data sent successfully, check for controls
bool ledState = inmalyzeAPI.get("LED");
}USB Functions
send("key", val)get("key")
WiFi Functions
InmalyzeWIFI.send("key", val)InmalyzeWIFI.get("key")InmalyzeWIFI.loop()
API Functions
inmalyzeAPI.send("key", val)inmalyzeAPI.get("key")inmalyzeAPI.update()
Authentication Keys
Configure your authentication keys for cloud connectivity
For Cloud projects, you need the Auth Key and Device Key from your dashboard to authenticate your device:
const char *authKey = "your-auth-key-from-dashboard";
const char *deviceKey = "your-device-key-from-dashboard";You can find these keys in your project's Cloud dashboard when you click connect button.
Example 1: USB Connection
Arduino USB Serial Communication
Connect your Arduino board via USB and start sending sensor data to the Inmalyze dashboard in minutes. This example demonstrates the basic setup required for USB serial communication.
Install the Arduino IDE and the Inmalyze library from the Download page.
#include <Inmalyze.h>
const int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
// send rendom number
float temperature = 25.5 + random(0, 50) / 10.0;
int humidity = random(40, 80);
// Send data to dashboard
send("TEMP", temperature);
send("HUM", humidity);
// Receive controls from dashboard
int ledState = get("LED");
if (ledState != -1) {
digitalWrite(ledPin, ledState ? HIGH : LOW);
}
delay(1000);
}Serial Configuration
Baud Rate by Board:
- Arduino Uno/Nano/Mega:
9600 - ESP32/ESP8266 (USB):
115200
Select the correct baud rate in the Inmalyze dashboard to receive data properly.
Dashboard Type
Create a USB project in Inmalyze and:
- Select the correct COM port
Example 2: WiFi Connection
ESP32/ESP8266 Local Network Communication
This example uses the InmalyzeWIFI library to create a two-way connection. Send sensor data to the dashboard and receive control commands for servos, LEDs, and more.
Your ESP32 and the device running the Inmalyze dashboard must be on the same Wi-Fi network.
#include <InmalyzeWIFI.h>
// ===== Configuration =====
const char *ssid = "Your_WiFi_Name";
const char *password = "Your_WiFi_Password";
// ===== Objects =====
InmalyzeWIFI InmalyzeWIFI;
// ===== Pins =====
#define LED_PIN 2
// ===== Variables =====
unsigned long lastUpdate = 0;
void setup() {
Serial.begin(115200);
// Setup Hardware
pinMode(LED_PIN, OUTPUT);
// Set Defaults (Initial dashboard values)
InmalyzeWIFI.send("LED", 0);
InmalyzeWIFI.send("TEMP", 25);
InmalyzeWIFI.send("HUM", 50);
// Start Connection
InmalyzeWIFI.begin(ssid, password);
}
void loop() {
// Listen for changes from Dashboard
InmalyzeWIFI.loop();
// GET LED (Dashboard → ESP32)
String ledStr = InmalyzeWIFI.get("LED");
if (ledStr != "") {
int newState = ledStr.toInt();
digitalWrite(LED_PIN, (newState == 1) ? HIGH : LOW);
}
// SEND TEMP + HUM every 2 seconds
if (millis() - lastUpdate >= 2000) {
lastUpdate = millis();
// Random TEMP
float temp = 20.0 + (random(0, 151) / 10.0);
// Random HUM
float hum = 30.0 + (random(0, 601) / 10.0);
InmalyzeWIFI.send("TEMP", temp);
InmalyzeWIFI.send("HUM", hum);
}
}Get Your Device IP
After uploading, open Serial Monitor to see your device's IP address (e.g., 192.168.1.50).
Dashboard Type
Create a WiFi project in Inmalyze and enter your device's IP address.
Example 3: Cloud Connection
Cloud-based Communication with InmalyzeAPI
The Cloud connection allows your device to communicate with the Inmalyze server even when you're offline.
You'll need the Auth Key and Device Key from your Cloud project dashboard.
#include <WiFi.h>
#include <InmalyzeAPI.h>
// WiFi Credentials
const char *ssid = "Your_WiFi_Name";
const char *password = "Your_WiFi_Password";
// Inmalyze API Configuration
const char *authKey = "your-auth-key";
const char *deviceKey = "your-device-key";
const int ledPin = 2;
// ===== Objects =====
InmalyzeAPI inmalyzeAPI(authKey, deviceKey);
void setup() {
pinMode(ledPin, OUTPUT);
// Connect to WiFi
WiFi.begin(ssid, password);
}
void loop() {
// Read sensor data
float temp = 25.0 + ((float)random(0, 50) / 10.0);
// to send
inmalyzeAPI.send("TEMP", temp);
// Send data and receive controls
if (inmalyzeAPI.update()) {
// Get control value from dashboard
bool ledOn = inmalyzeAPI.get("LED");
digitalWrite(ledPin, ledOn ? HIGH : LOW);
}
delay(2000);
}Wifi
Enter your WiFi name and password. it need internet connection to connect to the Inmalyze server.
Keys
Find your Auth Key and Device Key in the Cloud project dashboard settings.
Dashboard Setup for API Projects
Configure your Cloud dashboard and get your keys
Setting up your Inmalyze Cloud dashboard is quick and straightforward. Follow these steps to get your Cloud project running:
Create an Account
Sign up for a free Inmalyze account at the login page. No credit card required.
Create a New Project
Go to Projects and create a new project. Select "Cloud" as the connection type.
Get Your Keys
In your Cloud project dashboard, find the Key Connection section. Copy your Auth Key and Device Key.
// Copy these values from your dashboard
const char *authKey = "INMALYZE_AUTH_xxxxx";
const char *deviceKey = "INMALYZE_DEVICE_xxxxx";Enable the API
Add Widgets
Create widgets in your dashboard to display the data from your device. Match the widget key names with the keys you use in inmalyze.send().
Pro Tip
The Cloud connection works even when you close the Inmalyze dashboard page!