Server Mode
Server Mode
Server Mode is what you turn to when you need a system of devices working together, persistent state, and a project that runs 24/7.
Server Mode lives in the Maker Pro tab.
[image] Maker Pro tab with one server card « Home Server »
Everything in Server Mode runs through an InstantIoT Server you host yourself — on a Raspberry Pi, your personal computer, and more. The server is the hub: it relays commands between your phones and your devices, broadcasts state, and stores history. Your data lives there, on your machine, on your network.
Setting up the server itself is covered in the InstantIoT Server section. This page is about the app side — how you add a server, sign in, manage projects and devices.
What Maker Pro contains
The Maker Pro tab is a list of every server you’ve registered. Each card represents one server, with its name, address, current connection state, and stats — number of projects, number of devices, how many of those devices are online.
When the list is empty, the tab shows a Server mode hero card explaining the model and an Add server button.
[image] Maker Pro tab empty state
When you have servers, each card tells you in one glance:
- A status dot — Reachable, Unreachable — check the server, or Checking…
- An auth badge — Signed in as jeanloick, Tap to sign in, or Not signed in
- Stats — 2 Projects · 4 Devices · 3 / 4 online
- A More options menu (the three dots)
Reachability is polled in the background while you’re on the tab. A server that goes offline turns red on the next polling cycle.
[image] Server card showing Reachable state with stats
Add a server
Tap Add server. The bottom sheet opens with two tabs at the top: Discovery and Manual.
Discovery — let the network find it
The Discovery tab scans your local network and lists every InstantIoT Server it finds.
[image] Add Server sheet, Discovery tab scanning
After the scan, discovered servers appear with their hostname and port — for example, home.local · port 8080. Tap one. The Manual tab pre-fills with the host and port, and the sheet switches over.
[image] Add Server sheet, Discovery tab with one server found
Discovery only works if your phone and the server are on the same Wi-Fi network. If yours blocks mDNS or you’re connecting from outside the LAN, switch to Manual.
Manual — type the address
[image] Add Server sheet, Manual tab filled with Host, Port, Name
The Manual tab asks for:
- Name — optional, free-form, just for your reference (Home Server, Workshop Pi).
- IP address or hostname —
192.168.1.42orhome.local. - Port — defaults to
8080.
Find the IP in the server’s tray icon, in your router’s connected-devices list, or in the server logs.
Tap Check. The app validates the format locally, then probes the server.
What can go wrong
The probe surfaces errors in plain language so you know what to fix:
- Unreachable — check your network, IP and port. The server isn’t responding. Wrong IP, wrong port, server off, or firewall blocking it.
- Server is installed but not activated yet. The server’s there, but you haven’t completed its license activation. The dialog includes a link to open the server’s admin panel in a browser.
- Host not found. The hostname doesn’t resolve. Try the raw IP instead.
- Connection refused. The IP is right but nothing is listening on that port. Check the port and that the server is running.
Form values stay put when the probe fails — no retyping.
When the probe succeeds, the sheet closes and the server appears in your list, ready to sign in.
Sign in
Tap the server card. If you’re not signed in, the Sign in sheet opens.
[image] Auth sheet in Sign In mode
You enter your Username and Password, tap Sign in, and you’re in. The card now shows Signed in as jeanloick.
If the credentials don’t match, the sheet shows Invalid username or password — try again. Repeated failures trigger a rate-limit countdown that disables the button briefly; the sheet tells you when you can retry.
Create an account
If this is your first time on this server, tap No account? Create one at the bottom of the Sign In sheet. The form switches to Create account.
[image] Auth sheet in Register mode with hints
You enter:
- Username — 3 to 32 characters, letters, numbers, underscore.
- Password — at least 8 characters.
- Confirm password — must match.
Tap Create account. The server creates the account and signs you in.
If the username is taken, the sheet says so and you pick another.
Signing in to the admin account for the first time
The admin account on a fresh server uses your license ID as its initial password — the same string you used to activate the server, the one you received by email when you got your license. Sign in with the admin username and that license ID.
You can change the password later from the server menu (see Change password below).
Switching between servers
You can register as many servers as you want. Tap any card to switch context. If you’re already signed in to that server, the app jumps straight to its Projects screen. Otherwise, the Sign In sheet opens for that server.
Each server keeps its own session. Signing out of one doesn’t affect the others.
The server menu
Tap the More options menu on a server card. The menu offers:
[image] Server menu with four options
- Edit server — change the name, IP, or port. Saving re-probes the server first.
- Change password — for your account on that server. A small form asks for your current password, a new one, and a confirmation.
- Remove server — drop the server from your list (no data is deleted on the server itself; you can add it back later).
- Sign out — clear your session, keep the server in your list, status flips to Tap to sign in.
Remove with care
The Remove server dialog asks you to type the server name to enable the destructive button.
[image] Remove Server confirmation with typed-name field
The server is gone from your phone, but everything you stored on the server stays there. Re-add it any time.
Projects on the server
Tap a server card you’re signed in to. You land on its Projects screen.
[image] Server Projects list with one project « Workshop »
The header reads Projects with a subtitle On Home Server. Each project card shows the name, the device count, the online count, and when it was last updated.
Empty servers show a No projects yet state with a New project button.
Create a project
Tap New project. A small sheet asks for the project name (2 to 64 characters). Tap Create.
[image] Create Project sheet
The new project lands on top of the list, ready to open.
Rename or delete
Each project card has its own More options menu — Rename project or Delete project. Both open a confirmation form. Deletion is permanent on the server: the project, its dashboard, and any history go away.
[image] Project card menu with Rename / Delete
Devices on the server
Each project has a list of devices that report to it. Tap a project card, then open the Project Settings sheet — there’s a Devices section.
[image] Project Settings sheet, Devices section with one device
Each device shows:
- Its name (e.g. esp32-fan).
- A status dot — 🟢 Online or ⚫ Offline.
- A More options menu.
When the project has no devices yet, the section shows a Register device button.
Register a device
Tap Register device. The Register a device sheet opens.
[image] Register Device sheet
You give it a Device name — between 2 and 64 characters, something descriptive like esp32-fan or garage-sensor. Tap Register.
The server creates the device and generates a Device token — a unique secret string your sketch will use to authenticate to the server.
Token reveal — copy it now
[image] Token Reveal sheet with token, snippet, three buttons
The next screen is a one-time reveal. The warning is explicit: Copy this token now — it will not be shown again.
You have two ways to capture it:
- Copy token — copies the token alone to your clipboard.
- Copy snippet — copies an Arduino code snippet with the token already pasted into the right place, ready to drop into your sketch.
Both produce a Copied to clipboard toast.
When you’re done, tap Done. The sheet closes and the device appears in the Devices list.
If you lose the token, you can’t recover it from the server. You can renew it (see below), which generates a new one and lets you re-flash.
The device menu
[image] Device Menu sheet showing status, last seen, four actions
Tap More options on any device. The sheet shows the device’s name, current status (🟢 Online / âš« Offline), and Last seen 2 minutes ago (or Never connected if it hasn’t shown up yet).
Four actions:
- View code template — opens a read-only screen with the Arduino boilerplate, with the server address pre-filled and a placeholder where the token would go. Useful when you want a fresh starting point without renewing the token.
- Rename device — change the name; the token stays the same.
- Renew token — generate a new token; the old one stops working.
- Delete device — remove the device from the project.
Renew a token
Tap Renew token. A confirmation dialog spells out what’s about to happen:
[image] Renew Token confirmation dialog
The current token for esp32-fan will be revoked. You’ll need to reflash the device with the new token.
Tap Renew. The Token Reveal screen returns with the new token. Copy it, flash your firmware, and your device starts reporting under the new credentials.
Code template
[image] Code template view with full Arduino sketch
The View code template screen shows a complete Arduino sketch ready to paste, with home.local:8080 (or your server’s address) already filled in and PASTE_TOKEN_HERE marking where your token goes.
A Copy template button copies the whole thing.
Delete a device
Deleting a device removes it from the project and revokes its token. Any sketch still using that token can no longer connect to the server. The confirmation dialog makes that clear before you commit.
When your session expires
For security, signed-in sessions don’t last forever. If yours expires while you’re using the app, the next request fails with an authentication error.
The app reacts immediately:
- It pops you back to the Maker Pro tab.
- A toast appears at the bottom: Session expired. Please sign in again.
- The card for that server flips to Tap to sign in.
[image] Session expired toast at the bottom of Maker Pro tab
Sign back in. Your projects, your dashboards, your devices — they’re all where you left them on the server.
Reachability — what the colors mean
The status dot on each server card tells you whether your phone can reach the server right now:
- Checking… (neutral) — the app is probing the server.
- Reachable (green) — the server responded.
- Unreachable — check the server (red) — the server didn’t respond. Could be off, could be your network, could be the IP.
[image] Three server cards showing the three reachability states
Reachability is polled while the Maker Pro tab is visible and stops when you leave it, to save battery.
If a server flips to Unreachable while you’re working in it, the app keeps you on screen but won’t be able to push or pull state until the connection comes back.
Next
→ Dashboard — Build the canvas, configure widgets, generate Arduino code.
→ InstantIoT Server — Install your first server.
→ InstantIoT Library / Connecting to your InstantIoT Server — Flash a device with your token.