← Back to Academy
Fast Track · Startup

Launch an IoT Device in Under a Week

⏱ ~6 hours 🚀 Practical All Levels

The 7-Day IoT Launch Plan

Traditional IoT product development requires months of backend engineering: device management server, MQTT broker, user authentication, mobile app, analytics pipeline, and security infrastructure. FidesInnova replaces all of that with a single platform — and adds zero-knowledge proof verification that no DIY stack can match.

This course walks through every step of launching a production-ready IoT product in seven days. Each day has a specific deliverable. By Day 7, your product is live with real customers, real data, and cryptographic proof of data integrity.

Prerequisites: Basic familiarity with networking concepts (TCP/IP, HTTP). Some programming experience (JavaScript or C++) is helpful but not required — the Blockly visual editor covers no-code contract creation.

Day 1 — Hardware Selection & MQTT Integration

FidesInnova works with any MQTT-compatible IoT hardware. Your options:

🛒 FidesInnova Reference Hardware

E-card V2, zk-MultiSensor, or MiniSensor. Pre-configured for FidesInnova, ZKP SDK pre-installed, MQTT credentials auto-provisioned from the Node dashboard. Zero hardware integration work.

🔧 Existing Hardware

Any ESP32, Raspberry Pi, Arduino with WiFi, or Linux SBC running an MQTT client library. Add the FidesInnova ZKP SDK on Day 5. MQTT connection takes under an hour.

Day 1 deliverable: Device is publishing sensor readings to the MQTT broker on your FidesInnova Node. You can see live data in the MQTT inspector.

// Minimal ESP32 MQTT publisher — Day 1 starting point
#include <PubSubClient.h>
#include <WiFi.h>

client.publish("node001/device-001/sensor/temp",
  String(temperature).c_str());

Day 2 — Node Setup & Device Registration

Deploy the FidesInnova Node. Minimum server requirements: 2-core CPU, 4GB RAM, 40GB SSD. Runs on any Linux server (Ubuntu 22.04+ recommended).

  1. Install Docker and Docker Compose on your server
  2. Pull the FidesInnova Node image: docker pull fidesinnova/node:latest
  3. Run the setup wizard: docker run fidesinnova/node setup
  4. Access the web dashboard at your server IP on port 3000
  5. Register your device in Dashboard → Devices → Add Device
  6. Download the generated device token and TLS certificate

Day 2 deliverable: Node is running, device is registered, MQTT connection is secured with TLS on port 8883. Device data appears in the Node dashboard with device identity verified.

Day 3 — Service Contract

Write the Service Contract that defines what your product does with device data. Use the Blockly editor if you prefer no-code, or JavaScript for more control.

For a temperature monitoring product, a complete Day 3 contract:

async function onSensorData(deviceId, reading) {
  // Store reading with timestamp
  await node.storeReading(deviceId, reading);

  // Generate ZKP proof
  const proof = await node.generateProof(reading);
  await node.submitToBlockchain(proof);

  // Threshold alert
  if (reading.temp > 30) {
    await node.sendNotification("High temp alert");
  }
}

Day 3 deliverable: Service Contract is running on the Node, generating proofs, and sending alerts. Proofs are visible in the ZKP Explorer.

Day 4 — Mobile App & Customer Access

Your customers can start using your product today without waiting for you to build a custom app. Direct them to the FidesInnova Mobile App (iOS/Android) and share your Node's connection QR code.

  • Customers install the FidesInnova app and scan your Node QR code
  • They see their device in the device list with real-time readings
  • Alerts from your Service Contract appear as push notifications
  • They can view proof status — each reading shows as verified on-chain
  • Service Contracts you publish appear in their "Installed Contracts" section

Day 4 deliverable: At least one customer is using the mobile app to monitor their device. Feedback collected for contract improvements.

Day 5 — ZKP Firmware Integration

Add the FidesInnova ZKP SDK to your device firmware for on-device proof generation. If you are using FidesInnova reference hardware, this is already done — skip to validation.

For custom hardware using the C++ SDK:

  1. Clone the ZKP SDK: git clone https://github.com/FidesInnova/zkp-sdk-cpp
  2. Run the AI ZKP Integration Agent — point it at your firmware repo and it inserts the ZKP calls automatically
  3. Or manually: add zkp_generate_proof() call after each sensor reading, transmit the proof bytes with each MQTT message
  4. Flash updated firmware and verify proofs appear in the ZKP Explorer

Day 5 deliverable: Device firmware generates ZKP proofs on-device. Every sensor reading in the Explorer shows "Verified" status.

Day 6 — Service Market Publication

Publish your Service Contract to the Service Market to start generating revenue beyond direct customer installations:

  1. Navigate to Node Dashboard → Service Contracts → My Contracts
  2. Click "Publish to Market" on your tested contract
  3. Set pricing: choose per-execution, monthly subscription, or tiered model
  4. Define which data fields are shared with market subscribers vs. private
  5. Write a clear description of what the contract does and what data it shares
  6. Submit — contract appears in the Service Market within 30 minutes

Day 6 deliverable: Contract is live in the Service Market with a preview tier enabled. Share the Market listing link with potential data buyers.

Day 7 — Launch

Review the complete deployment checklist:

  • ✅ Device connects via MQTTS (port 8883, TLS verified)
  • ✅ Device firmware generates ZKP proofs (visible in Explorer)
  • ✅ Service Contract running on Node with all intended logic
  • ✅ Alerts tested and confirmed working on mobile app
  • ✅ At least one customer is live with mobile app access
  • ✅ Service Market listing is published with pricing set
  • ✅ Node backup configured (Node dashboard → Settings → Backup)
  • ✅ Monitoring alerts set for Node uptime and MQTT broker health
Congratulations. Your IoT product is live. Devices are connected, data is ZKP-verified, customers have app access, and revenue is flowing from the Service Market. What took months of backend engineering took one week with FidesInnova.

Industry-Specific Launch Notes

🌆 Smart Cities

Engage municipal technology departments early. ZKP-verified public infrastructure data supports open data mandates and removes the need for costly third-party data audits.

⚡ Energy

Check regional energy data regulations before publishing to the Service Market. Enable range proofs for sensitive consumption data that cannot be shared in raw form.

🏥 Healthcare

Patient data is heavily regulated. Use ZKP range proofs (e.g., "heart rate is within normal range") rather than raw readings. Consult legal counsel on HIPAA compliance before deployment.

🏗️ Industrial

Industrial clients often require on-premises deployment with no cloud dependency. FidesInnova Node runs fully local — the blockchain layer is the only external component and can be a private chain.

What You Will Learn

  • Set up a complete FidesInnova deployment stack from scratch
  • Connect MQTT-compatible hardware to the FidesInnova Node
  • Deploy a Service Contract for your device's core use case
  • Enable ZKP proof generation on your device firmware
  • Make your product available to end users via the mobile app
  • Publish your first Service Contract to the Service Market
🤖
AI Learning Assistant

Ask any question about this course topic

Ask AI ↗