Hardware / Bluetooth, Zigbee and Thread / Step 2 of 2
LP-EM-CC2755P10 (CC2755P10)
The CC2755P10 is a wireless microcontroller in TI's CC27xx family: 96 MHz Arm Cortex-M33, 1 MB of flash, 162 kB of RAM, BLE 6.0, Zigbee 3.0, Thread, Matter.
Quick facts
| Board | LP-EM-CC2755P10 |
|---|---|
| Chip | CC2755P10 |
| Core | Cortex-M33 + FPU, TrustZone-M |
| Clock | 96 MHz |
| Flash | 1 MB |
| RAM | 162 kB |
| Radio | BLE 6.0 (qualified, Channel Sounding), Zigbee 3.0 (certified), Thread, Matter, proprietary 2.4 GHz, multi-protocol |
| Notable peripherals | HSM (AES-256, ECC-521, RSA-3072, SHA-2-512); 96 kB flash reserved for HSM firmware; CDE + APU math accelerator; +20 dBm PA (143 mA at +20 dBm); 12-bit ADC 1.2 Msps, 8 inputs; 2 UART, 2 SPI, I2C, I2S |
| On-board debug probe | Sold separately (LP-XDS110ET at TI.com) |
| Where to buy | TI.com |
| Toolchains that ran | TI compilers, FreeRTOS, ESPHome, CCStudio |
Get it running
First blink: 41 s from plug-in to a changed blink (terminal).
Clip the LP-XDS110ET probe onto the board and plug the probe's USB cable into your computer.
In Chrome or Edge, open the browser bench and click Connect.
Pick Bluetooth light: set its colors from this page, no cable and click Flash. The page writes it to the board.
You should see: The LEDs change a moment after you tap a color or a pattern.
The board needs the light program on it once: the button below puts it there.
Copy TI's empty example.
cp -R <SDK>/examples/nortos/LP_EM_CC2755P10/drivers/empty .Build it.
make -C empty/ticlang SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR=<SDK> SYSCONFIG_TOOL=/Applications/ti/sysconfig_1.26.3/sysconfig_cli.sh TICLANG_ARMCOMPILER=/Applications/ti/ccs2101/ccs/tools/compiler/ti-cgt-armllvm_5.1.1.LTSFlash the .hex with UniFlash. Leave out -v and any chip erase.
/Applications/ti/uniflash_9.6.0/dslite.sh --mode flash -c cc2755p10/CC2755P10.ccxml -e -f -u empty/ticlang/empty.hex
Replace the parts in angle brackets. Run it from the terminal in VS Code, CCStudio or any IDE.
You should see: the red LED (DIO16) toggles once a second. Change the sleep time in empty/empty.c, build and flash again.
What works
- CoreMark: 426.31 (4.44 per MHz) (TI Arm Clang, bare metal, -O3; 96 MHz; 3 runs)
- Flash to Bluetooth advertising: 0.90 s
- Bluetooth connect and discover services: 0.55 s (Mac as central through bleak; connect and discover services; 3 runs)
- Boot to joined network: 5.7 s (2 runs)
- Radio command to state change, median: 87 ms
- RAM left after linking the radio stack: 137.1 kB (same build; 162 kB SRAM; link only, not flashed)
- Interrupt latency, pend to first handler line: 21 cycles (bare metal; 96 MHz; 3 runs)
- GPIO toggle: 3.99 cycles (bare metal, -O3; 96 MHz; 3 runs)
- Blink image size: 7 kB of flash, 10.1 kB of RAM (bare metal)
- Room-occupancy AI model, one inference: 0.952 ms (-O2; 96 MHz; 3 runs)
Download every result for this board (CSV), or compare it on this board on the Benchmarks page.
Projects and ports that ran here
- Blink an LED: 41.0 s from the terminal, board plugged in, tools installed
- Run a small AI model on the chip: 0.95 ms per answer, fastest build on this chip
- Measure how fast a chip runs: 426 CoreMark score at the board's top clock
- Join a Thread network: Full Thread device became leader of a new network 12 s after start (one run)
- Build and flash from the terminal: 14 s TI examples built
- Configure a TI radio chip with ESPHome: Zigbee router: esphome compile 35 s, esphome upload 15 s, joins ZHA 5.7 to 6.3 s later (two flashes); switches the LED 32 of 32 times
- Post-quantum on every board: Both algorithms
- ESPHome Zigbee device on the LP-EM-CC2755P10 Works: An ESPHome YAML with cc27xx: builds and flashes a Zigbee device that joins Home Assistant on the CC2755P10.
- Matter smoke and CO alarm over Thread on the LP-EM-CC2755P10 Works: TI's Matter lighting app rebuilt as a smoke and CO alarm boots on the CC2755P10, exposes the smoke alarm cluster and changes state from a UART line 20 of 20 times.
- OpenOCD flash driver for the LP-EM-CC2340R5 and LP-EM-CC2755P10 Works: OpenOCD erases, writes, verifies and restarts a blink on the CC2340R5 over the XDS110, with no CCStudio or UniFlash.
Fixes
- If you see
FRL-E099 FAILED: KeyError: 'deviceid'fromfrl identify --board cc2755p10, usefrl identify --probe <serial>; it names the chip (CC2755P105E0WRHAR). - If you see the portable app on this board (TI Drivers), build with
portability/three-ways/tidrivers/build_cc2755p10.sh(SysConfig 1.28.0 here). - If you see
Error -2001right after a TI example such aszigbee/rf_testran, with debug authentication "not required", unplugging the probe's USB for ten seconds is not run;docs/remote-board-recovery.mdshows how to read the boot status. - If you see
undefined node label 'boosterpack_spi'fromwest build --shield ti_bp_cc140xp, build with no--shield; pass-DEXTRA_DTC_OVERLAY_FILE=ports/cc1407p-zephyr/boards/lp_em_cc2755p10.overlay. - If you see a CC1407P host image prints nothing, or stops after its first line, fit the radio (red LED jumper off, wire from header pin 23 to pin 10) or add your own timeout.
- If you see TI Drivers example from the CC2340R5 on this board, copy the CC2755P10 project and overwrite its
.cfiles; thelogexample needs 3,000,000 baud, every other UART example 115200. - If you see
sysconfig_cli.sh: not foundinot-ti'sscript/build, exportTI_SYSCONFIG_ROOT. - If you see
<cerrno>tried including<errno.h>but didn't find libc++'s<errno.h>, use-idirafteronsource/ti/posix/ticlangfor C++ files.
For AI assistants
Point your assistant at this board's AGENTS.md (build, flash and fix notes) and the repository's llms.txt (the index).
Sources: cc2755p10/README.md, cc2755p10/AGENTS.md, cc2755p10/FAQ.md, data/results/cc2755p10.csv, site/data/portfolio.json, site/data/projects.json, site/data/ports.json.