Skip to content

Releases: plexus-oss/plexus-c

v0.1.1 — Test fix

12 Apr 19:10

Choose a tag to compare

Patch release. Fixes CI — test_core's init_valid_source_ids case was asserting that uppercase source IDs were accepted, but plexus_init correctly enforces the gateway's slug regex (^[a-z0-9][a-z0-9._-]*$). Updated the test to match actual SDK behavior (lowercase accepted, uppercase rejected).

v0.1.0 — Initial release

12 Apr 19:08

Choose a tag to compare

First release of plexus-c — minimal C SDK for embedded telemetry.

Quick start

#include "plexus.h"

plexus_client_t* px = plexus_init("plx_your_api_key", "device-001");
plexus_send(px, "temperature", 72.5);
plexus_flush(px);

What's here

  • HTTP ingest to https://plexus-gateway.fly.dev/ingest
  • Platform HALs: ESP32 (ESP-IDF), Arduino, STM32 (FreeRTOS + LwIP)
  • Optional WebSocket transport (PLEXUS_ENABLE_WEBSOCKET=1)
  • Static allocation path for MISRA-C environments
  • Footprint: ~1.5 KB RAM minimal, ~17 KB default
  • Zero dependencies

v0.8.0

28 Mar 21:13

Choose a tag to compare

ci: grant write permissions for release upload

v0.7.0

27 Mar 14:10

Choose a tag to compare

What's New

Browser Flash & Serial Config

  • Browser-flashable firmware — flash ESP32 from Chrome/Edge via USB, no toolchain needed
  • Serial config modePLEXUS:READY protocol for configuring WiFi + API key over UART
  • Plain-text flash partition — alternative config method via raw flash at 0x11000

Sensor Auto-Detection

  • I2C scanning — auto-detects BME280, MPU6050, BH1750, SHT3x, INA219
  • ADC sampling — 6 channels on GPIO 32-37 with calibration (mV output)

Security & Reliability

  • TLS certificate bundle for ESP32 HTTPS connections
  • Arduino HAL — proper cert verification with ISRG Root X1 CA
  • STM32 HAL — compile-time warning when TLS unavailable
  • API key validationplexus_init rejects keys not starting with plx_

Full changelog

  • Serial config: PLEXUS:READYPLEXUS:key=valuePLEXUS:COMMITPLEXUS:SAVED
  • 5s config window on boot (send PLEXUS:PING to enter config mode)
  • Config partition read before NVS init to prevent data loss
  • 12KB main task stack for I2C + ADC + telemetry

v0.6.0 — Browser-Flashable Firmware

14 Mar 17:54

Choose a tag to compare

What's New

  • Browser-flashable ESP32 firmware — Pre-built binaries that can be flashed directly from the Plexus web UI via Web Serial API
  • NVS config reader — Reads API key, source ID, WiFi credentials from a dedicated NVS partition
  • CI build workflow — Automatically builds firmware binaries and uploads to releases

Firmware binaries

The release includes pre-built ESP32 firmware:

  • bootloader.bin — ESP32 bootloader
  • partition-table.bin — Custom partition table with plexus_cfg NVS partition
  • firmware.bin — Plexus telemetry firmware (reads config from NVS, connects WiFi, streams telemetry)

These binaries are consumed by the Plexus web platform for one-click browser flashing.

v0.5.6

28 Feb 14:28

Choose a tag to compare

Fix Arduino lint warnings: rename sketch to match folder, remove space from library name.

v0.5.5 — Arduino Library Manager

28 Feb 14:23

Choose a tag to compare

What's New

Arduino Library Manager Support

  • 4 new example sketches: BasicTelemetry, BME280_Dashboard, WiFiReconnect, SessionRecording
  • keywords.txt for Arduino IDE syntax highlighting
  • Updated library metadata with improved descriptions and SEO keywords

Fixes

  • Corrected RAM footprint documentation (default ~17KB, not ~5KB)

Full Changelog

v0.5.4...v0.5.5

v0.5.4

26 Feb 19:50

Choose a tag to compare

See CHANGELOG.md for details.

v0.5.3

26 Feb 17:43

Choose a tag to compare

location of files changes

v0.5.2

26 Feb 17:01

Choose a tag to compare

location of files changes