Skip to content

retsimx/tlsr8266_mesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

335 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TLSR8266 BLE Mesh Firmware in Rust

CI

A 100% Rust BLE mesh firmware for TLSR8266-based smart lights (such as the TYBT1), with Python utilities for flashing, OTA updates, and mesh management. The firmware runs without any Telink proprietary library dependency, using a custom LLVM backend to generate TC32-compatible code from Rust source.

For the unmodified mesh SDK, see the project releases or the early commits of this repository.

Hardware

This project targets the following hardware:

  • TLSR8266-based devices — e.g. TYBT1 smart light bulbs
  • E104-BT05-TB — a TLSR8266 development board used for UART-based mesh management (product page)
  • Raspberry Pi Pico or Pico W — used as a SWire programmer for initial flashing (physical access required)

Includes

  • TC32 toolchain
  • 100% Rust BLE mesh firmware with Makefile (no libble or vendor library dependency)
  • Raspberry Pi Pico/W SWire interface for direct flash programming
  • Original TYBT1 firmware backup
  • BLE OTA updater (compatible with OEM firmware and this firmware)
  • UART OTA updater (requires this firmware on the E104-BT05-TB)
  • Mesh adoption and management utilities

References

Heavily inspired by Raphael Baron's reverse-engineering work on the M6 fitness band (GitHub), and trust1995's improved TC32 processor specification for Ghidra.

Documentation

See the full documentation here.

About

Collection of tools and code for reprogramming Tuya BLE smart lights (TYBT1) boards based on the TLSR8266 MCU with new Rust firmware.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages