GitHub

Fox Red Labs / Builds / Smart home and radio

Build a Thread border router from two chips, with no Linux

Thread devices reaching the home network through two small chips and no Linux computer.

Hardnot a repeatable route

No recorded steps

Some pieces of it have run. There are no recorded steps for this project, so this page does not give any.

What exists:

  • LP-EM-CC2340R5: As the radio: a TI RCP image on the CC2340R5, driven by a Mac running OpenThread, joined a Thread leader over the air; pings 42 to 44 ms median, 20 of 20
  • LP-CC1354P10-1: As the host with the CC2340R5 as its radio: leader in 16 s on a fresh network; joined an existing network, and an hour of pings through the network's own border router lost 0.44 percent, median 28.5 ms. Traffic from the host out to the home network did not get through. No Wi-Fi side. Radio used under this host: the CC2340R5. The CC2755P10 runs OpenThread as a full Thread device on its own (leader 6 to 8 s after start).

You would need the board, plus CC1354P10-1 LaunchPad development kit, CC2340R5 LaunchPad development kit and ELEGOO jumper wires.

Errors and fixes: LP-EM-CC2340R5.

What to build next

Every build. The code for all of them is in the GitHub repository.

Evidence and limitsA CC1354P10 hosts OpenThread with a CC2340R5 as its radio over 3 wires and joins a Thread network; the Wi-Fi side is not built, so this is not a border router. Ran on 2 boards. Results, sources, timing and limits.

Which boards ran it

  • Could work LP-EM-CC2340R5: As the radio: a TI RCP image on the CC2340R5, driven by a Mac running OpenThread, joined a Thread leader over the air; pings 42 to 44 ms median, 20 of 20
  • Could work LP-CC1354P10-1: As the host with the CC2340R5 as its radio: leader in 16 s on a fresh network; joined an existing network, and an hour of pings through the network's own border router lost 0.44 percent, median 28.5 ms. Traffic from the host out to the home network did not get through. No Wi-Fi side. Radio used under this host: the CC2340R5. The CC2755P10 runs OpenThread as a full Thread device on its own (leader 6 to 8 s after start).

Source files

  • README for the CC1354P10-1 (CC2340R5): setup and build steps

Demos with wiring

LP-CC1354P10-1 and LP-EM-CC2340R5 side by side with three wires between their headers; the host is drawn as TI's LP-EM-CC1354P10-1, which has the same header but no onboard probe section

Pins are drawn on TI's board drawing; the source is in the repo next to the README. Open full size

Two boards, three wires: a Thread border router host and its radio

You need

  • LP-CC1354P10-1 LaunchPad development kit: TI's sub-1 GHz plus 2.4 GHz radio board: Zigbee, Thread, Bluetooth and long-range sub-1 GHz.
  • LP-EM-CC2340R5 LaunchPad development kit: TI's Bluetooth Low Energy and Zigbee board (CC2340R52 chip). Needs a separate XDS110 debugger to program it.
  • ELEGOO jumper wires (120-piece pack): Male and female breadboard wires for connecting anything to anything.

Wiring

  1. Host CC1354P10-1 pin 2, DIO23, UART1 TX, to radio CC2340R5 pin 14, DIO12, UART0 RX
  2. Radio pin 7, DIO18, UART0 TX, to host pin 5, DIO22, UART1 RX
  3. Host pin 20 GND to radio pin 22 GND
  4. Both boards run 3.3 V, so no level shifter. Leave each board's debugger UART pins alone: host pins 3 and 4, radio pins 3 and 4

What was measured

  • The host runs OpenThread with the CC2340R5 as its radio over the wire. It forms a network and is leader within 16 s of a fresh dataset (one check), 37 to 39 s after a restart
  • The host image is 437.8 kB of code, 456.7 kB of flash with its initialized data. It needs 125.9 kB of RAM with logging compiled in. The wire runs at 921,600 baud
  • Both signal wires were checked by driving each from one chip and reading it on the other through the two debuggers. A wire-less pin was the negative control. The ground wire was not driven, so shared ground is assumed
  • Standby had to be turned off on the host or the link froze. Whether the radio link or the console dropped first is not known

Versions: SimpleLink F2 SDK 8.32 and F3 SDK 9.21.00.36, ot-ti, TI Arm Clang 5.1.1 and GCC 12.2; measured 2026-10-07.

Next: A second Thread radio so a device can join through the host and be pinged; then Wi-Fi on the host board with the CC35X1.

How to repeat it: border router host CC1354 notes. Errors and fixes: FAQ. Numbers from border router notes.

Get the code and tell us how it wentThe clone command, the board folder with its AGENTS.md, reports from others, and the three report forms.

Get the code

Clone the repository and open the board's folder below. AGENTS.md is a plain text file of notes for AI coding assistants, and llms.txt at the root indexes the site for one.

git clone https://github.com/Fox-Red-Labs/fox-red-labs.git

Code is BSD-3-Clause, writing is CC BY 4.0; third-party folders keep their own licenses.

Built it? Tell us

Built this, or got stuck? Report it on GitHub with a few short answers. Your report shows here in your words, marked as yours. A failure that repeats on the bench gets its fix here.