Start here
If you are starting from zero, follow this order: create a tenant account, set the admin password, install the crew app, then choose either the hardware path (hubs + nodes) or the manual equipment-only path.
Quick decision: If you want automated sensor logging and alerts, follow the hardware path. If you only need manual temperature entry on tablets, follow the manual equipment setup.
Using QR cards or stickers? Point them directly at this manual, or use
/qr to print a QR card that opens
/manual.
| Task | Where | When to use |
|---|
| Create your tenant account | /signup | New customer onboarding |
| Admin console | /admin | Logs, devices, equipment, restaurants, settings |
| Install crew app | / (Crew PWA) or /admin -> π± Crew App QR | Tablet/phone app for crew workflows |
| Order hardware | /admin -> π Hardware Shop | Add hubs/nodes/starter kits and start return/repair requests |
| Flash new hardware | /admin -> β‘οΈ Flasher | USB flashing + provisioning for new hubs/nodes |
| Reconfigure deployed hub | /admin -> β‘οΈ Flasher or hub maintenance AP | USB bench setup or AP-based Wi-Fi/local password recovery |
| Map a smart node to equipment | /admin -> π Manage Equipment (preferred) or hub dashboard -> /nodes | Attach new smart nodes, rename mapped equipment, move nodes between hubs, or recover locally if needed |
| Verify a smart node | Node PRG/BOOT menu + /admin -> π Node Status | Run the ice-bath verification routine only when drift needs follow-up |
| Add non-smart equipment | /admin -> π Manage Equipment | Manual fridges/freezers when not using sensors |
| Generate/rotate credentials | /admin -> π Device Secrets | Mint secrets for hubs or crew devices |
How Kitchen Toolkit works
Kitchen Toolkit has three layers that can be adopted together or in stages: the Crew app for daily work, the admin console for managers, and optional hub/node hardware for automatic temperature collection.
| Layer | What it does | Required? |
|---|
| Crew app | Runs restaurants/checklists, manual temperature logs, exports, notifications, and offline caching on phones/tablets. | Yes |
| Admin | Manages equipment, restaurants, logs, alerts, device secrets, and the hardware tools. | Yes |
| Hubs + nodes | Automatically collect readings, post heartbeats, and feed node/battery/drift alerts into admin. | No |
Hardware is optional: you can run the full software stack first with manual equipment entry, Cloud Sync, offline use, exports, restaurants, and manager dashboards. Add hubs/nodes later on the same tenant when you want automatic sensor logging.
1) Sign up and secure admin access
- Open /signup.
- Enter an Account ID (tenant slug) and contact email.
- Accept Terms of Service and Privacy Notice.
- If billing is enabled in your deployment, select a plan and auto-renewal, then complete Stripe checkout. In pilot mode, sign-up creates the account immediately.
- After account creation, open the secure setup link and set your admin password (minimum 8 characters).
- Sign in at /admin with tenant + password.
The sign-up flow can show deployment progress and a setup link. If deployment is delayed or finishes with issues, use the setup link manually and continue to admin.
Forgot password later? On
/admin, click
Forgot password? to email a reset link to the tenant contact. You can also use
/admin/reset with a valid token.
2) Install the crew app
The crew app is the main tablet/phone workflow for restaurants, equipment logs, and settings. It supports offline use once installed.
- Open / directly on the crew device, or open /admin and click π± Crew App QR to scan into the app.
- Install as a PWA:
- iPhone: Share β Add to Home Screen.
- Android/Desktop: use Install prompt/icon.
- Launch the app from the installed icon.
- On first run, enter Tenant ID and the short-lived enrollment token from /admin β π± Crew App QR, then tap Provision & Sync. This self-registers the device and stores Device ID + Device Secret for cloud sync.
- Confirm that restaurants load and Equipment/Settings tabs are available. On iOS, expect a short offline-prep spinner after first provisioning.
You can also provision or rotate from Crew app Settings later: Cloud Sync ON β paste a fresh enrollment token from /admin β π± Crew App QR β Redeem token or Rotate secret.
What happens if you skip provisioning? The Crew app still works offline and can save logs to the device or email them later, but live admin visibility depends on Cloud Sync being enabled with a valid tenant ID, device ID, and device secret.
3) Buy hubs and nodes
Hardware ordering lives inside admin so tenant defaults (contact and billing details) stay scoped to your account.
- In /admin, click π Hardware Shop (top button or floating bubble).
- On the Shop tab, add items to cart:
- Node (wireless temperature sensor)
- Smart Hub β Wi-Fi
- Smart Hub β Ethernet
- Starter Kit (1 hub + 2 nodes, choose Wi-Fi or Ethernet hub variant)
- Review tenant billing defaults or switch to custom billing fields for this cart.
- Use the Returns & repairs tab when needed, then click Request return / repair to open a prefilled email with tenant + billing context.
Current state: Cart and billing workflows are live, but checkout is marked coming soon in the shop UI.
4) Flash hubs/nodes with the guided flasher
Use β‘οΈ Flasher in admin for new devices or reflash scenarios. This path supports USB flashing and provisioning in one flow.
- Open /admin β β‘οΈ Flasher (or open /flasher directly).
- Use Chrome or Microsoft Edge on a computer. USB flashing generally does not work well from Safari or phones.
- Connect the board with USB-C, keep the antenna attached while it is powered, and if the board is not detected, hold BOOT and tap RST.
- Step 1: choose Hub or Node.
- Step 2: choose flash mode:
- Full flash for brand-new or wiped boards.
- App only for quicker firmware updates.
- For hubs, choose connection type:
- Wi-Fi hub path
- Ethernet hub path (DHCP, wired backhaul)
- For Ethernet hubs, attach the W5500 Ethernet module and cable before flashing.
- Step 3 (provisioning over serial):
- Connect serial from browser (Chrome/Edge recommended).
- Set Device ID and Tenant/Restaurant scope.
- For hubs: enter admin password and Wi-Fi fields when using Wi-Fi mode.
- Click Send to write provisioning payload.
- Steps 4 and 5: perform quick checks, then finish or set up another device.
Important: Hub provisioning can auto-mint a device secret. Nodes do not rely on their own cloud device secret; hubs are the devices that post signed telemetry to Kitchen Toolkit APIs.
5) Reconfigure deployed hubs with the maintenance AP
Use β‘οΈ Flasher for bench USB setup and the hubβs maintenance AP for in-field Wi-Fi or local password changes without a separate Bluetooth pairing tool.
- For brand-new or bench-prep hardware, open /admin β β‘οΈ Flasher (or /flasher) and send the initial hub setup over USB.
- For field recovery, join the hubβs maintenance Wi-Fi network Hub-<device-id> using the hub local / AP password.
- Wi-Fi hubs automatically bring up that AP when no SSID is saved or when the saved Wi-Fi network fails. Ethernet hubs keep the maintenance AP available for recovery and fallback Wi-Fi setup.
- If the setup page does not open automatically, browse to
http://192.168.4.1. The maintenance AP uses a temporary HTTP captive-style page so phones and laptops can auto-open it without certificate warnings. - Update Wi-Fi details, fallback Wi-Fi if needed, and the hub local / AP password, then save. The hub reboots and reconnects using the new settings.
- After the reboot, if your phone or laptop rejoins the same LAN successfully, the handoff page may take you to
https://<hub-device-id>.local for the full local dashboard.
This is the standard recovery path for Wi-Fi changes, fallback Wi-Fi on Ethernet hubs, or local password changes after the initial USB provisioning step.
Important: the maintenance AP setup page is temporary local HTTP on the hub AP only. The full hub dashboard remains on self-signed HTTPS, so the browser warning still applies when you open https://<hub-device-id>.local.
6) Map smart nodes to equipment
A node can be powered on and sending readings before it is actually useful in reports. After the hub first hears a node, use the web app to attach it to the right equipment record, choose the type, and decide which hub or hubs should accept that node.
- Power the hub and node. If you want the node to report right away, hold PRG / BOOT for about 800 ms to force an immediate send. A quick double-tap opens the node menu if you need calibration or turn-off instead.
- Open /admin and click π Manage Equipment. This is the preferred control plane because it shows all hubs and saved equipment together in one place.
- Use the smart equipment table like this:
- Hub sections show equipment already mapped to that hub.
- Heard But Unmapped shows new nodes the system has heard but is still ignoring.
- Saved But Detached shows equipment records you kept but that are not actively attached to a hub right now.
- For a brand-new smart device, find the row in Heard But Unmapped, enter the real equipment name, choose the type (fridge, freezer, or other), confirm the node and hub selection, then click Create & map.
- For an existing saved record, edit the name, type, selected node, or hub selection in its row and click Save. That one button applies the rename and mapping change together.
- Use the row actions carefully:
- Remove from this hub keeps the node on its other hubs.
- Detach node keeps the equipment record but removes the active node pairing.
- Delete record removes the stored equipment entry entirely.
- If you are on the same LAN and need local recovery, open the hub dashboard at
https://<hub-device-id>.local/nodes. If .local does not work on your network, use the hub IP address from the serial log or status screen. Browsers will warn because the hub uses a self-signed local certificate.
Once a node is mapped, that equipment is treated as a smart item and moves into the hub-based smart sections in the same modal instead of the normal manual-entry list.
If you skip this step: the node can keep showing up as heard, but it stays ignored until you attach it to equipment. Leaving nodes unmapped makes logs and alerts harder to trust later.
7) Verify smart nodes
Smart temperature nodes use factory-calibrated probes, so they are set-and-forget during initial setup and should not be put on a calendar-based recalibration schedule. Factory-fresh replacement probes are also pre-calibrated. Kitchen Toolkit watches for sustained drift automatically, so use the guided ice-bath routine only when Node Status shows Verification needed, after service work, or when a reading still looks wrong in context.
- In /admin, confirm the node is mapped to the right equipment. Use π Node Status to review the node name, equipment, and current verification state (Factory calibrated, Verified, or Needs verification).
- Prepare an ice water slurry for the probe.
- Wake the node if needed, then quick double-tap PRG / BOOT. The OLED opens Node Menu with Calibration highlighted first. Hold PRG / BOOT to select it.
- Keep the probe in the slurry while the node waits for stable near-zero readings. The routine gathers 12 valid samples; if readings move outside the expected ice-bath range, the counter resets and the screen prompts you to place the probe back in the ice water slurry.
- When the run succeeds, the OLED shows Offset saved and Ready to deploy. The node stores the new offset locally and sends a calibration report through the hub.
- Back in /admin, open π Node Status again and use the Certificate button for that node to print or save the latest verification record. You can also review manual runs and automatic drift events in π View Logs.
Drift-first policy: Kitchen Toolkit flags a node for follow-up only when it stays more than 0.7Β°C away from its rolling average for about 10 minutes. If the drift clears on its own, the node returns to an OK state; if it still looks wrong, run the ice-bath routine and keep the certificate.
Turn off from the same menu: quick double-tap PRG / BOOT, single-tap until Turn off is highlighted, then hold to select. That shuts down the OLED, radio, and scheduled transmissions until you press RST.
If calibration times out: the routine stops after about 60 seconds and the OLED shows No stable ice reading. Start over and keep the probe in a stable ice bath until the sample count completes.
Button timing matters: a quick double-tap PRG / BOOT opens the node menu, single tap cycles through it, and a hold selects the highlighted entry. Holding PRG / BOOT for about 800 ms outside the menu still forces an immediate send for pairing checks. The older power-on hold path still exists, but the menu is now the normal field workflow.
8) Manual equipment path (no sensors required)
If you are not using hubs/nodes yet, crews can still run fully manual temperature workflows from the app.
- In /admin, click π Manage Equipment.
- Add equipment entries (name + type: fridge/freezer/other).
- Edit or delete entries in the Manual Equipment table as operations change.
- Install and provision the Crew app on tablets/phones.
- In Crew app Equipment tab, enter temperatures and tap Save Temp.
- Use Crew Log Settings to choose output paths:
- Email Export
- Save to Device
- Cloud Sync
- Clear logs on export
When smart nodes are later mapped to equipment, those records move into the hub-grouped smart sections in the same modal.
Software-only rollout is fully supported: this path gives you the Crew app, offline use, Cloud Sync, manager dashboards, exports, restaurants, and settings without buying or flashing any hardware first.
9) Provision devices and mint secrets
Device credentials are tenant-scoped. The same tenant must be used consistently for admin login, provisioning, hub setup, and crew cloud sync.
Primary path: device secrets modal
- Go to /admin β π Device Secrets.
- Optionally enter the device name and device ID, then click Generate Secret.
- Copy the device ID and secret immediately (the secret is shown once).
- Save them to your target hub/device, then verify heartbeats/logs.
- Use Save to rename device labels later, or Delete to revoke credentials.
Other supported mint/provision paths
- Crew app self-service: Settings β Cloud Sync β short-lived enrollment token from /admin β π± Crew App QR β Redeem token/Rotate secret.
- Flasher auto-mint: during hub serial provisioning with admin password.
- Hub local UI refresh: the local dashboard can request or accept a new device secret after the hub is online.
Cross-tenant device reuse is blocked. If a device ID already belongs to another tenant, provisioning will fail until you use the correct tenant or rotate to a new device ID.
10) Daily operations
Crew routine
- Open installed Crew app from home screen icon.
- Pick restaurant in Restaurants tab.
- Enter temperatures in Equipment tab and save.
- Export/email based on your log settings.
- Leave Cloud Sync enabled for near-real-time admin visibility.
Manager routine
- In admin, use π View Logs for filters, CSV exports, and stats.
- Use π Node Status to confirm hub/node health, stale/low-battery counts, and drift-based verification follow-up.
- Use π§± Build and π₯ Manage Restaurants for content/location updates.
- Use π£ Send Push for urgent operational messages.
- Use βοΈ Settings for recipients, thresholds, retention, and optional 2FA requirements.
11) Troubleshooting
Cannot sign in to admin
Verify tenant slug and password, then use βForgot password?β on /admin if needed.
Crew app not syncing
In Crew Settings, check Cloud Sync + Tenant ID + Device ID + Device Secret. Rotate secret if unsure. If the device was never provisioned, logs stay local/email only and do not appear live in admin.
Flasher will not connect
Use Chrome or Edge on a computer over HTTPS, try a known-good USB cable, and if the board is still not detected, hold BOOT and tap RST before reconnecting.
Cannot reach the hub setup page
Join the Hub-<device-id> network first, then open http://192.168.4.1. If the hub stayed on a bad Wi-Fi network, hold BOOT for about 5 seconds to clear Wi-Fi so it reboots back into AP recovery mode.
Hub online but nodes missing
Hold the node PRG / BOOT button for about 800 ms to force a reading, then refresh /admin β π Manage Equipment. Look under Heard But Unmapped for new hardware or the correct hub section for existing mappings. If you are on the same LAN and still need a local view, check the hub /nodes page as a recovery fallback.
.local URL does not open
Some networks block mDNS. Use the IP address shown in the serial/hub status screens, or verify via admin Node Status/logs.
Node temperature looks off
Check whether Node Status already shows Verification needed. If the reading still looks off, quick double-tap PRG / BOOT, select Calibration from the node menu, then confirm the new run from Node Status or the calibration certificate view in admin.
Equipment disappeared from the manual list
If a hub mapped that item as a smart node, it moves out of the manual-entry list. Check /admin β π Manage Equipment, first under the relevant hub section and then under Saved But Detached if the record lost its active hub mapping.
Need help fast?