Skip to content

Quick Start

This guide walks you through creating an account, adding your first device, and sending your first data point.

  1. Go to siliconwit.io/register
  2. Enter your email and a password (8+ characters, must include uppercase, lowercase, number, and special character - 4 of 5 required)
  3. Complete the CAPTCHA and accept the terms
  4. Check your email and click the verification link

You can also sign up with Google or GitHub for one-click registration.

After verifying your email, you will be asked to complete your profile before adding devices:

  • Legal name (required)
  • Phone number with country prefix (required)
  • Country (required)
  • Company/Organization (optional)
  1. Click Add Device on the dashboard (or the Add Your First Device button if this is your first)
  2. Optionally select a device template to pre-fill settings, or skip to start blank
  3. Fill in the device details:
    • Name - A descriptive name (e.g., “Office Temperature Sensor”)
    • Type - Sensor, actuator, controller, tracker, meter, or gateway
    • Connectivity - WiFi MQTT, HTTP, MQTT-SN, CoAP, etc.
    • Fields - Define the data fields your device will send (e.g., temperature, humidity)
  4. Click Create Device

After creating the device, you will see its detail page with connection information:

SettingValue
Brokermqtt.siliconwit.io
Port8883 (TLS)
UsernameYour device ID (e.g., dev_abc123def456)
PasswordYour device access token
Publish topicd/{device_id}/t
Command topicd/{device_id}/c (for bidirectional devices)

Use the copy buttons to copy each value to your clipboard.

Choose your preferred method:

MQTT is the fastest and most efficient protocol for IoT devices. The device detail page includes ready-to-use code snippets for:

Python:

import paho.mqtt.client as mqtt
import ssl, json, time
client = mqtt.Client()
client.username_pw_set("YOUR_DEVICE_ID", "YOUR_ACCESS_TOKEN")
client.tls_set(tls_version=ssl.PROTOCOL_TLS)
client.connect("mqtt.siliconwit.io", 8883)
client.loop_start()
payload = json.dumps({"temperature": 25.5, "humidity": 60})
client.publish("d/YOUR_DEVICE_ID/t", payload)

Arduino/ESP32:

#include <WiFiClientSecure.h>
#include <PubSubClient.h>
// Replace with your credentials
const char* mqtt_user = "YOUR_DEVICE_ID";
const char* mqtt_pass = "YOUR_ACCESS_TOKEN";
const char* topic = "d/YOUR_DEVICE_ID/t";
WiFiClientSecure espClient;
PubSubClient client(espClient);
void setup() {
WiFi.begin("YOUR_SSID", "YOUR_PASSWORD");
espClient.setInsecure();
client.setServer("mqtt.siliconwit.io", 8883);
client.connect("esp32", mqtt_user, mqtt_pass);
}
void loop() {
client.loop();
String payload = "{\"temperature\": 25.5}";
client.publish(topic, payload.c_str());
delay(5000);
}

Code snippets for MicroPython and Node.js are also available on the device detail page.

For devices that cannot use MQTT (e.g., behind strict firewalls or using simple HTTP clients):

Terminal window
curl -X POST https://siliconwit.io/api/devices/ingest \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"device_id": "YOUR_DEVICE_ID",
"data": {"temperature": 25.5, "humidity": 60}
}'

Once your device sends data, it appears on the device detail page within seconds:

  • Latest reading - Shows the most recent values
  • Charts - Interactive time-series charts with drag-to-zoom
  • Telemetry table - Raw data with timestamps
  • Real-time updates - Data streams live via WebSocket (MQTT devices)

Now that your device is sending data, explore these features: