Prerequisites
- An ESP32 or ESP8266 board
- Arduino IDE or PlatformIO installed
- A firmngin.dev account (sign up here)
Step 1: Create a workspace
Sign up and create workspace
Sign up and create workspace
- Go to firmngin.dev/register and create your account.
- Once logged in, create a workspace from the dashboard.
- Give your workspace a name — this is your project’s home for devices, automations, and billing.
Step 2: Register a device
Add a device to your workspace
Add a device to your workspace
- In the dashboard, navigate to Devices and click Add Device.
- Select your board type (ESP32, ESP8266, etc.).
- Provide a device name and optional description.
- Once created, you will receive:
- Secret ID — your device identifier
- Secret Key — authentication key
- Download the
keys.hfile from your device page — this contains your mTLS credentials.
Step 3: Install the SDK
Arduino IDE
Arduino IDE
- Download the library from firmngin/Firmngin-Arduino.
- In Arduino IDE, go to Sketch → Include Library → Add .ZIP Library…
- Select the downloaded ZIP file.
- The library will be added to your Arduino libraries automatically.
PlatformIO
PlatformIO
[code:PlatformIO dependency entry for the Firmngin Arduino library]
Step 4: Connect your device
[code:minimal Arduino firmware sketch that connects Wi-Fi, authenticates with firmngin credentials, and publishes a temperature entity]Upload and verify
Upload and verify
- Select your board and port in Arduino IDE.
- Click Upload.
- Open the Serial Monitor at
115200baud. - You should see WiFi connection messages and device status.
- Go to your Dashboard — the device should appear as Online with live data.
Step 5: See it live
Real-time dashboard
Real-time dashboard
Once your device is connected:
- Status — Online/offline indicator updates in real-time via MQTT LWT
- Entities — GPIO states, sensor readings, and custom entities are synced via
pushEntity()
Entity objects to define typed keys for your data, and pushEntity() to send state updates to the dashboard.Next steps
Architecture
Understand the device, MQTT, API, Redis, WebSocket, payment, and automation service boundaries.
Devices
Learn how device identity, availability, entities, and public visibility work.
Monetization
Create service catalogs, integrated payments, sessions, and public pages for guests.
Firmware & OTA
Track firmware artifacts and plan controlled OTA rollouts for your fleet.
Monetization is currently only available for the Indonesia region.