Skip to content

zwx1995esp/esp-thread-br

 
 

Repository files navigation

ESP Thread Boarder Router SDK

ESP-THREAD-BR is the official ESP Thread Border Router SDK. It supports all fundamental network features to build a Thread Border Router and integrates rich product level features for quick productization.

Software Components

esp_br_solution

The SDK is built on top of ESP-IDF and OpenThread. The OpenThread port and ESP Border Router implementation is provided as pre-built library in ESP-IDF.

Hardware Platforms

Wi-Fi based Thread Border Router

The Wi-Fi based ESP Thread Border Router consists of two SoCs:

  • An ESP32 series Wi-Fi SoC (ESP32, ESP32-C, ESP32-S, etc) loaded with ESP Thread Border Router and OpenThread Stack.
  • An ESP32-H 802.15.4 SoC loaded with OpenThread RCP.

ESP Thread Border Router Board

The ESP Thread border router board provides an integrated module of an ESP32-S3 SoC and an ESP32-H2 RCP.

br_dev_kit

The two SoCs are connected with following interfaces:

  • UART and SPI for serial communication
  • RESET and BOOT pins for RCP Update
  • 3-Wires PTA for RF coexistence

Standalone Modules

The SDK also supports manually connecting an ESP32-H2 RCP to an ESP32 series Wi-Fi SoC.

ESP32 pin ESP32-H2 pin
GND G
GPIO17 (UART RX) TX
GPIO18 (UART TX) RX
GPIO7 RST
GPIO8 (SPI INTR) GPIO9 (BOOT)
GPIO10 (SPI CS) GPIO2
GPIO11 (SPI MOSI) GPIO3
GPIO12 (SPI CLK) GPIO0
GPIO13 (SPI MISO) GPIO1

Note that the SPI GPIOs are optional, if the UART is selected for communication.

The following image shows an example connection between ESP32 DevKitC and ESP32-H2 DevKitC:

br_standalone

In this setup, only UART interface is connected, so it doesn't support RCP Update or RF Coexistence features. You can refer to ot_br example in esp-idf as a quick start.

Ethernet based Thread Border Router

Similar to the previous Wi-Fi based Thread Border Router setup, but a device with Ethernet interface is required, such as ESP32-Ethernet-Kit.

Provided Features

These features are currently provided by the SDK:

  • Bi-directional IPv6 Connectivity: The devices on the backbone link (typically Wi-Fi) and the Thread network can reach each other.
  • Service Discovery Delegate: The nodes on the Thread network can find the mDNS services on the backbone link.
  • Service Registration Server: The nodes on the Thread network can register services to the border router for devices on the backbone link to discover.
  • Multicast Forwarding: The devices joining the same multicast group on the backbone link and the Thread network can be reached with one single multicast.
  • NAT64: The devices can access the IPv4 Internet via the border router.
  • RCP Update: The built border router image will contain an updatable RCP image and can automatically update the RCP on version mismatch or RCP failure.
  • Web GUI: The border router will enable a web server and provide some practical functions including Thread network discovery, network formation and status query.
  • RF Coexistence: The border router supports optional external coexistence, a feature that enhances the transmission performance when there are channel conflicts between the Wi-Fi and Thread networks.

Resources

About

Espressif Thread Border Router SDK

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 81.5%
  • JavaScript 8.9%
  • HTML 8.7%
  • CMake 0.9%