Repository navigation
v0.2.0
First substantive release of the Pulsync ESP32 Arduino library.
Features
- Non-blocking scheduler —
setTimeout/setInterval/clearTimeout/clearInterval. - WiFi manager — up to 3 networks, persistent priority list, auto-reconnect with backoff.
- Cloud transport — WSS → MQTTS → HTTPS fallback chain.
- Enrollment + heartbeat — pairing-code enrollment, token in NVS, credential rotation.
- OTA — ESP-IDF OTA with rollback; numeric version ordering; per-device force-attach.
- Captive portal — first-boot enroll form + a config menu (add/remove/reorder WiFi, change server).
- Server discovery — zero-config cloud (
pulsync.in) → local (pulsync.localvia mDNS) failover.
New in this release
- Config-portal password gate — once enrolled, the on-device config menu requires a server-issued password (offline SHA-256 check, session cookie). Fresh/unenrolled devices stay open (pairing code is the gate).
- Re-pair action — move a device to a new pairing code from the config menu; clears the token and re-enrolls for a fresh token + config password.
- Portal AP bring-up hardening + DNS-task lifecycle fixes.
Install (PlatformIO)
```ini
lib_deps = https://github.com/Pulsync/pulsync-arduino.git
```
Install (Arduino IDE)
Sketch → Include Library → Add .ZIP Library → select `pulsync-0.2.0.zip`.