libretiny is a free, open source internet of things (iot) project written in C and released under MIT. It has 544 GitHub stars, 115 forks and 124 open issues, and was last pushed 3 months ago. On this registry it ranks #56 of 57 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available.

What is libretiny?

LibreTiny is a PlatformIO development platform for BK7231, RTL8710 and LN882H IoT chips, built for embedded developers who need a usable build environment and Arduino-compatible cores for IoT modules that lack official tooling.

What it is

LibreTiny, formerly known as LibreTuya, is an open-source development platform for IoT modules that lives in the PlatformIO ecosystem and reaches into both Arduino-style development and ESPHome. It takes the vendor SDKs for the BK7231, RTL8710 and LN882H chip families and packages them as PlatformIO cores, while the main development effort goes into working Arduino-compatible cores for those supported families. The Arduino cores are modelled on Espressif's official core for the ESP32, an explicit design choice intended to make it easier to port or run existing ESP applications on less-common, unsupported IoT modules. The project is licensed under MIT, is written primarily in C, and publishes its documentation at docs.libretiny.eu.

The concrete problem is that these modules ship without a comfortable development path. A developer working with a BK7231N, BK7231T, RTL8710BN or LN882H part would otherwise be left with bare vendor SDKs and no familiar, Arduino-style build environment to write application code in. LibreTiny replaces that situation by providing the vendor SDKs as PlatformIO cores and layering Arduino-compatible cores on top, so existing ESP-oriented code can be moved onto these chips instead of being rewritten for each vendor toolchain. That is also what makes the wider ecosystem possible: there is an ESPHome port based on LibreTiny that supports BK7231 and RTL8710B chips.

Key capabilities

  • A PlatformIO development platform, published in the PlatformIO Registry as kuba2k2/libretiny, covering BK7231, RTL8710 and LN882H IoT chips.
  • Vendor SDKs for the supported chip families packaged as PlatformIO cores.
  • Arduino-compatible cores for the supported families, inspired by Espressif's official core for the ESP32 to ease porting of existing ESP applications.
  • Support spanning BK7231 (including the bk7231n and bk7231t variants), RTL8710 (including rtl8710bn) and LN882H parts.
  • An ESPHome port built on LibreTiny for BK7231 and RTL8710B chips.
  • Online documentation at docs.libretiny.eu, including a dedicated getting-started guide.
  • An MIT-licensed codebase with enforced formatting conventions (clang-format for C, black for Python) and community support through a Discord server.

Who uses it and how

  • IoT developers targeting BK7231, RTL8710 and LN882H modules, who use PlatformIO as their build environment and write application code against the Arduino API rather than a vendor SDK directly.
  • Teams and individuals porting existing ESP code: because the cores are inspired by Espressif's official ESP32 core, applications already written for ESP targets are easier to move onto these less-common modules.
  • ESPHome users whose hardware is a BK7231 or RTL8710B device, using the LibreTiny-based ESPHome port to bring that hardware into an ESPHome configuration.
  • Contributors and maintainers: the project carries the hacktoberfest topic, has 115 forks and 124 open issues, and directs community support to its Discord server, which indicates an active contributor base working on cores and documentation alongside the maintainer.

Getting started

LibreTiny is distributed as a PlatformIO platform through the PlatformIO Registry under the name kuba2k2/libretiny, so getting started means installing that platform in a PlatformIO project. The project points to its getting-started guide at docs.libretiny.eu/docs/getting-started/ for the first steps.

How it compares

No list of paid or commercial products that LibreTiny replaces was provided, so the comparison stays within the tools named in the facts. Espressif's official ESP32 core is the model that LibreTiny's Arduino-compatible cores are inspired by, and LibreTiny's purpose is to serve the chip families that core does not cover. The ESPHome port sits on top of LibreTiny rather than competing with it, using the platform as the foundation for running ESPHome on BK7231 and RTL8710B hardware.

When to use it — and when not to

LibreTiny is the right choice when the target module is a BK7231, RTL8710 or LN882H part, when PlatformIO is already the build environment, and when Arduino-compatible code or an ESPHome configuration needs to run on hardware that has no official core. Because it is a build-time development platform rather than a hosted service, there is no database, object storage or mail server for a self-hoster to operate; the toolchain simply runs locally within PlatformIO. It should not be picked by teams that require vendor-certified, production-supported toolchains, and the README states plainly that the project is work-in-progress, with 124 open issues at the time of writing. The MIT licence covers the project itself, but parts of the code come from third parties and vendor SDKs under their own copyright and licence notices, so those files need separate review.

project readme (upstream, from github) — read inline

LibreTiny

(formerly LibreTuya)

GitHub Workflow Status GitHub last commit

Code style: clang-format Code style: black

Discord PlatformIO Registry

RTL8710BN BK7231 LN882H

PlatformIO development platform for BK7231, RTL8710 and LN882H IoT chips.

The main goal of this project is to provide a usable build environment for IoT developers. While also providing vendor SDKs as PlatformIO cores, the project focuses on developing working Arduino-compatible cores for supported families. The cores are inspired by Espressif's official core for ESP32, which should make it easier to port/run existing ESP apps on less-common, unsupported IoT modules.

There's an ESPHome port based on LibreTiny, which supports BK7231 and RTL8710B chips.

Note: this project is work-in-progress.

⭐ Getting started ⭐

License

See LICENSE. Project is licensed under MIT License.

Parts of the code may come from third parties, vendor SDKs or other open-source projects. Most of these files are marked with appropriate copyright/author/license notices.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Frequently asked questions

Is libretiny free to use?

libretiny is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does libretiny do?

PlatformIO development platform for IoT modules

What is libretiny written in?

libretiny is primarily written in C. Its source is publicly available at https://github.com/libretiny-eu/libretiny, and it has 544 GitHub stars.