Pulsync

Pulsync is an ESP32 IoT platform built around a non-blocking task scheduler plus real-time cloud sync, OTA updates, and remote config. Write firmware the way you’d write JavaScript — setInterval, setTimeout, event handlers — without ever blocking your main loop.

What you get

  • Non-blocking scheduler — run many tasks concurrently, JavaScript-style, with no delay() stalls.
  • Real-time cloud transport — MQTT for the live link (TLS to the hosted platform), HTTP(S) for enrollment and OTA.
  • OTA firmware updates — signed, versioned, with rollback. Triggered from the server.
  • Remote config — push key-value settings to devices; register typed callbacks.
  • Zero-friction enrollment — a pairing code in firmware; the device claims a token on first boot.

Works everywhere

The same library compiles on both Arduino (via PlatformIO or the Arduino IDE) and native ESP-IDF. The same wire protocol talks to our hosted platform at pulsync.in or to a server you self-host — the device can’t tell the difference.

#include <Pulsync.h>

void setup() {
  Pulsync.setWiFi("SSID", "password");
  Pulsync.begin("PUL-A7K9X2");

  Pulsync.setInterval([]() {
    Pulsync.send("temperature", analogRead(34) * 0.1f);
  }, 5000);
}

void loop() {
  Pulsync.loop();
}

Head to the Quick Start to flash your first device.