MaxineMuster ff0941016b Pinalias as arg (#1948)
* Add int HAL_PIN_Find(const char *name) for all platforms
add simple selftest (and added some alias strings to windows pins)

* fix ESP

* fix second occurence of isdigit for ESP by casting to unsigned char

* Moved code for HAL_PIN_Find to "src/hal/generic/hal_pins_generic.c" and removed it from the (few) platforms aleady implemented it.
Added some "complex" pin alias descriptions for windows to test

made function case insensitive - introducing "char *wal_stristr(const char *haystack, const char *needle);" as a case insensitiver version of "strstr" in new_common.c

* Try fix windows (by including src\hal\generic\hal_pins_generic.c)
Enable ENABLE_TEST_COMMANDS for all platforms to do some testing

* comment out weak functions for Windows

* including "../hal/hal_pins.h" in cmd_test.c to clear warning about HAL_PIN_Find()

* comment out StackOverflow test for ESP - it won't compile

* fix

* Moved code from hal_pins_generic.c to new_pins.c
reverted usage of hal_pins_generic.c in Windows build
changed Tokenizer_GetPin()

* Changed driver commands to use Tokenizer_GetPin() instead of Tokenizer_GetArgIntegerDefault() to get drivers pins

* Fix typo in drv_pinMutex.c

* Fix cmd_test.c and ds1820_full.c
Added debug output to Tokenizer_GetPin()

* Removed tesing and debugging code

* Also allow pin alias in SetPinRole command

* Fix typo
2026-01-20 14:38:40 +01:00
2026-01-20 01:13:10 +01:00
2025-03-05 19:27:51 +01:00
2025-06-18 23:36:57 +02:00
2026-01-20 01:13:10 +01:00
2025-08-09 11:49:03 +02:00
2025-10-21 09:08:48 +02:00
2026-01-20 01:13:10 +01:00
2024-12-24 15:17:47 +01:00
2024-09-19 22:18:24 +02:00
2024-12-24 15:17:47 +01:00
2026-01-20 01:13:10 +01:00
2026-01-20 14:38:40 +01:00
2025-10-26 05:06:53 +01:00
2026-01-20 01:13:10 +01:00
2026-01-20 01:13:10 +01:00
2023-03-06 13:48:00 +01:00
2025-06-20 09:35:00 +02:00
2024-03-08 09:53:46 +01:00
2026-01-20 01:13:10 +01:00
2022-10-11 20:04:45 -05:00
2022-11-21 18:39:33 +00:00
2026-01-20 01:13:10 +01:00

Introduction

OpenBK7231T/OpenBeken is a Tasmota/ESPHome alternative for modern Tuya-based modules, offering MQTT and Home Assistant compatibility. Although this repository is named OpenBK7231T_App, it has evolved into a multi-platform application, supporting builds for multiple chipsets from various vendors, including ESWIN, Transa Semi, Lightning Semi, Espressif, Beken, WinnerMicro, Xradiotech/Allwinner, Realtek, and Bouffalo Lab.

Please use automatically compiled binaries from the Releases tab. To build OpenBeken yourself for any supported platform, fork our version of the submodule SDK first, and then check out this app repository alongside it. Details further down. Alternatively consider using the easier override method.

See our guides in Russian: BK7231N/T34, and BL602 RGB, and Youtube guide for BK7231/T34

For general information about the BK7231 family, available datasheets, pinout, peripherals, consult our docs topic.

TXW81X Camera Sensor Support

OpenTXW81x camera sensor support is defined at build time (see project_config.h).

Supported sensors (enabled in the current config):

  • GalaxyCore: GC0308, GC0309, GC0311, GC0312, GC0328, GC0329
  • OmniVision: OV2640, OV7660, OV7670, OV7725
  • BYD: BF3A03, BF30A2, BF2013, BF3703, BF3720
  • Hynix: HI704
  • SuperPix: SP0A19, SP0828, SP0A20, SP0718
  • Other: XC7011_GC1054, XC7011_H63, XC7016_H63, XCG532

In Progress

To varying degrees, support for the following is in development.

Supported Devices/Templates List Now with 800+ entries! (Get 🏆free SD Card🏆 for submitting new one!)

We have our own interactive devices database that is maintained by users. The database is also accessible from inside our firmware (but requires internet connection to fetch). Have device not yet listed? HELP US, submit a teardown here and 🏆get free SD card and gadgets set🏆 ! Thanks to cooperation with Elektroda.com, if you submit a detailed teardown/article/review, we can send you this set of gadgets for free (🚚shipping with normal letter🚚). NOTE: Obviously almost any device with supported chip (BK7231, BL602, W600, etc is potentially supported and it's not possible to list all available devices in the market, so feel free to try, even if your device is not listed - we are here to help and guide you step-by-step!)

Our Youtube Channel (See step-by-step guides for flashing and setup)

We have our own Youtube channel with OBK-related guides. Please see our playlists:

You can help us by giving like, a comment and subscribe!

Features

OpenBeken features:

There is also a bit more outdated WIKI

Building

OpenBeken supports online builds for all platforms (BK7231T, BK7231N, BK7238, XR809, BL602, W600, W800, ESP32, RTL8710A, RTL8710B, RTL87X0C, RTL8720D/CS, TR6260, ECR6600, LN882H), but if you want to compile it yourself, see BUILDING.md

Developer Guides

Flashing

See our GUI easy flash tool for BK7231N, BK7231T, BK7231M, BK7238, BK7252N, BK7252U, BL2028N, T34, BL602, ECR6600, LN882H, RDA5981, RTL8710B, RTL8710C, RTL8720D / RTL8720CS, W800, and W600 (write-only). Also see FLASHING.md

Repository of flash tools for all other supported platforms

TXW81X requires either CK-Link or STM32F103 (64kb flash or more). See flashing guide

Docs - MQTT topics, Console Commands, Flags, Constants, Pin Roles, Channel Types, FAQ, autoexec.bat examples

Further Reading

For technical insights and generic SDK information related to Beken, WinnerMicro, Bouffalo Lab and Xradio modules, please refer to:

https://www.elektroda.com/rtvforum/topic3850712.html

https://www.elektroda.com/rtvforum/topic3866123.html

https://www.elektroda.com/rtvforum/topic3806769.html

Support Project

❤️ Love the project? Please consider supporting it with a donation: https://www.paypal.com/paypalme/openshwprojects ❤️

Special thanks to all open-source contributors whose work has served as a valuable reference and inspiration for the development of this project.

Languages
C 56.3%
C++ 41.1%
Makefile 1.3%
JavaScript 0.7%
CMake 0.3%
Other 0.2%