# SmingHub/Sming

Sming - powerful  open source framework simplifying the creation of embedded C++ applications.

Repository: https://github.com/SmingHub/Sming
Canonical: https://ross.abutalabs.com/products/sming
Homepage: https://sming.readthedocs.io
Language: C++
License: LGPL-3.0
License Family: copyleft
Topics: esp8266, espressif, iot, wifi, embedded, sming, ssl-support, arduino, async, rboot, c-plus-plus, internet-of-things, esp32, framework, rp2040, microcontroller, upnp, rp2350
Last push: 2026-07-20T08:21:00+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 93, release rhythm 30, longevity 100
- inputs: {"age_days": 4189, "days_push": 44, "days_rel": 252, "gap_med": 180.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1569, forks 346 (observed 2026-08-28T04:05:05.202805+00:00)

## What it is
Sming is an open-source asynchronous C++ framework for building embedded applications with strong networking support. It targets multiple architectures including ESP8266, ESP32, and Raspberry Pi Pico (RP2040/RP2350).

## Use cases
- build wifi-connected iot devices in c++
- create embedded web servers on esp8266 or esp32
- program raspberry pi pico with an async framework
- develop firmware with ssl/tls support for microcontrollers
- write asynchronous networked applications for embedded hardware
- prototype iot firmware without arduino
- run embedded c++ apps on multiple chip architectures

## When to choose
- you want a high-performance asynchronous C++ framework for ESP8266, ESP32, or RP2040/RP2350
- you need built-in networking features like HTTP, WebSockets, SSL, and UPnP in firmware
- you prefer a modular framework with extensive examples and documentation over raw SDKs
- you want to target multiple microcontroller architectures with one codebase

## When to avoid
- you need a simple Arduino-style synchronous sketch workflow with maximal library compatibility
- your target hardware is not among the supported architectures (ESP8266, ESP32, RP2040/RP2350, host emulator)
- you require a commercially permissive license, since Sming is LGPL-3.0
- you are building a non-networked bare-metal application where a full framework is overkill

## Facets
- artifact type: framework
- maturity: active
- function: web-framework, http-server, websocket, security, middleware
- domain: iot, embedded-systems, web-development, networking
- platform: embedded, iot, cpp
- tags: esp8266, esp32, rp2040, rp2350, raspberry-pi-pico, espressif, wifi, async, ssl, arduino, microcontroller, c-plus-plus, upnp, rboot

## Member repositories
- SmingHub/Sming (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:05.202805+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:58:35.370694+00:00, confidence not recorded.
  - readme: https://github.com/SmingHub/Sming (fetched 2026-08-28T04:05:05.202805+00:00, sha 21ccdb3df48b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
