GitHub

Fox Red Labs / Measured

Measured

One bench, one person, medians of three runs.
Every number has a method, a date and a CSV row. Your numbers will differ.

21 boards measured on one set of tests, side by side.

How the boards compare

The three tests that separate them most. Sort by any column; click a board, or pick it here, to follow it through every chart below.

CoreMark per MHz, higher is betterns, lower is betterµs, lower is better, log bars
CC35X1Cortex-M334.49not runnot run
LP-EM-CC2755P10Cortex-M334.44219 ns10.5 µs
LP-AM13E230Cortex-M334.36not run1.33 µs
LP-CC1354P10-1Cortex-M334.17479 ns21.4 µs
LP-AM263PCortex-R5F3.74488 nsnot run
LP-MSPM33C321ACortex-M333.40200 ns5.03 µs
FRDM-MCXA153 (NXP)Cortex-M33 · NXP2.94177 nsnot run
Raspberry Pi Pico 2 HCortex-M33 · Raspberry Pi2.92173 nsnot run
ESP32-C6-DevKitC-1-N8 (Espressif)RISC-V · Espressif2.731069 nsnot run
LP-MSPM0L1306Cortex-M0+2.45781 ns448 µs
LP-EM-CC2340R5Cortex-M0+2.31583 ns337 µs
LP-MSPM0G3507Cortex-M0+2.30362 ns88.5 µs
LP-MSPM0G5187Cortex-M0+2.29450 ns181 µs
LP-MSPM0G3519Cortex-M0+2.28388 ns89.3 µs
NUCLEO-U083RC (ST)Cortex-M0+ · ST1.96458 ns299 µs
LAUNCHXL-F2800137C28x1.18250 ns2.58 µs
LAUNCHXL-F28P65XC28x1.06150 nsnot run
LP-MSPM0C1104Cortex-M0+not run958 nsnot run

Bars scale to the best board in each column (control loop on a log scale, as in its chart). Boards with none of these three results are left out. Outlined bars are other vendors' boards; a muted value is an unofficial build, not ranked. Hover a value for the clock and build; each chart below has the rows behind it.

Two things to know before you start. At -O3, where GCC is built with -funroll-loops, TI Arm Clang scores 26% higher than GCC on the MSPM0 G3507. In float code, each chip on its own math unit, the LAUNCHXL-F2800137 runs the control loop 34 times faster than the MSPM0 G3507.

CPU speed

CoreMark per MHz by board

The Cortex-M33 boards score about 1.7 times the Cortex-M0+ boards per clock.

CoreMark per MHz: how much general code a core gets done each clock tick. The same source runs on every board at the clock shown in its hover, the board's top clock unless the chart note says otherwise. TI's compiler builds the TI boards and GCC the others, with no OS unless marked.

TI boardsother vendors' boardsyour board
LP-EM-CC35X1
4.49
LP-EM-CC2755P10
4.44
LP-AM13E230
4.36
LP-CC1354P10-1
4.17
LP-AM263P
3.74
LP-MSPM33C321A
3.40
FRDM-MCXA153 (NXP)
2.94
Raspberry Pi Pico 2 H
2.92
ESP32-C6-DevKitC-1-N8 (Espressif)
2.73
LP-MSPM0L1306
2.45
LP-EM-CC2340R5
2.31
LP-MSPM0G3507
2.30
LP-MSPM0G5187
2.29
LP-MSPM0G3519
2.28
NUCLEO-U083RC (ST)
1.96
LAUNCHXL-F2800137unofficial build, unranked
1.18
LAUNCHXL-F28P65Xunofficial build, unranked
1.06

Hover a score for the core, clock and build. GCC built FRDM-MCXA153 (NXP), Raspberry Pi Pico 2 H, ESP32-C6-DevKitC-1-N8 (Espressif), NUCLEO-U083RC (ST); TI's compilers built the rest. The C28x build has three source changes for its 16-bit byte, so its score is shown for scale only. Each board ran at the clock in its hover; NUCLEO-U083RC ran at 48 MHz, its maximum is 56 MHz.

All rows

CoreMark iter/s, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XIWRL6432BOOSTLP-AM263PSK-TDA4VMTMDS62LEVM (AM62L EVM)
armgnu14-bare-o2267.596 MHz
armgnu14-bare-o3275.396 MHz
armgnu14-bare-o3-48mhz137.648 MHz, 1 run
armgnu14-bare-os219.396 MHz
c28patch-ti-c2000-o2-flash97.1120 MHz, 1 run
c28patch-ti-c2000-o2-ram114.1120 MHz, 1 run
c28patch-ti-c2000-o4-flash107.3120 MHz, 1 run
c28patch-ti-c2000-o4-ram124.4120 MHz, 1 run
c28patch-ti-c2000-o4s0-flash106.5120 MHz, 1 run
c28patch-ti-c2000-o4s0-ram123.4120 MHz, 1 run
c28patch-ti-c2000-o4s5-flash141120 MHz, 1 run211.8200 MHz, 1 run
c28patch-ti-c2000-o4s5-ram155.3120 MHz, 1 run258.9200 MHz, 1 run
gcc-bare-o2140.580 MHz, 1 run263.596 MHz
gcc-bare-o2-48mhz92.148 MHz
gcc-bare-o2-m33419.9150 MHz
gcc-bare-o2-m33-gcc12407.9150 MHz
gcc-bare-o2-riscv503.1150 MHz443.8160 MHz
gcc-bare-o354.632 MHz282.296 MHz
gcc-bare-o3-48mhz141.248 MHz
gcc-bare-o3-m33434.1150 MHz
gcc-bare-o3-m33-gcc12437.6150 MHz
gcc-bare-o3-m33-gcc12-ram437.6150 MHz
gcc-bare-o3-m33-ram434.1150 MHz
gcc-bare-o3-riscv495.2150 MHz436.9160 MHz
gcc-bare-o3-riscv-ram493.8150 MHz
gcc-bare-o3-unroll145.480 MHz, 1 run
gcc-bare-o3-unroll-48mhz97.348 MHz
gcc-bare-o3-unroll-reset8.224 MHz
gcc-bare-o3unroll58.632 MHz
gcc-bare-o3x-m33511.6150 MHz
gcc-bare-o3x-riscv585.8150 MHz
gcc-bare-os99.680 MHz, 1 run233.696 MHz
gcc-bare-os-48mhz71.548 MHz
gcc-bare-os-m33339.3150 MHz
gcc-bare-os-m33-gcc12364.7150 MHz
gcc-bare-os-riscv379.9150 MHz341.2160 MHz
gcc-linux-o2-1t10,441 to 10,4622000 MHz
gcc-linux-o2-1t-oursrc10,466.3 to 10,467.42000 MHz
gcc-linux-o2-mcpu-1t10,450.4 to 10,471.22000 MHz
gcc-linux-o3-1t9,834.6 to 9,839.9
gcc-linux-o3-2t19,579.9 to 19,583.4
gcc-linux-o3-mcpu-1t10,333.8 to 10,338.12000 MHz
gcc-linux-o3-mcpu-unroll-1t10,781.7 to 10,783.42000 MHz
gcc-vendor-o3451.1160 MHz
gcc-zephyr-o2130.280 MHz, 1 run53.732 MHz, 1 run12680 MHz, 1 run74.148 MHz, 1 run88.148 MHz, 1 run251.496 MHz, 1 run
gcc-zephyr-o2unroll139.980 MHz, 1 run59.732 MHz, 1 run135.380 MHz, 1 run84.148 MHz, 1 run
gcc-zephyr-o3136.780 MHz, 1 run56.732 MHz, 1 run130.280 MHz, 1 run79.548 MHz, 1 run92.248 MHz, 1 run
gcc-zephyr-os9580 MHz, 1 run4232 MHz, 1 run9280 MHz, 1 run58.448 MHz, 1 run70.748 MHz, 1 run223.596 MHz, 1 run
gcc12.2-zephyr-core1-o2-ddr4,007 to 4,007.51250 MHz
gcc14.2-static-o2-1t-kvm-guest-alpine3,926 to 4,0151250 MHz
gcc14.2-static-o2-1t-kvm-host4,077 to 4,1531250 MHz
gcc15.3-linux-o2-1t4,255.61250 MHz, 1 run
gcc15.3-linux-o2-1t-recheck4,254.41250 MHz, 1 run
gcc15.3-linux-o2-1t-zephyr-running3,895.61250 MHz, 1 run
gcc15.3-linux-o2-2t8,428.21250 MHz, 1 run
r5f-ticlang-nortos
starmclang-bare-o3-48mhz87.948 MHz
starmclang-bare-omax-48mhz115.148 MHz
stgcc14-bare-o3-48mhz93.948 MHz
stgcc14-bare-o3-unroll-48mhz98.848 MHz
ti-port-o2612.5200 MHz
ti-port-o3871.6200 MHz
ti-port-o3-ocsram1,464.5400 MHz
ti-port-o3-ocsram-60k-beside-loop-core11,463400 MHz
ti-port-o3-ocsram-60k-beside-loop-core21,460.2400 MHz
ti-port-o3-ocsram-60k-beside-loop-core31,461.4400 MHz
ti-port-o3-ocsram-60k-cores1to3-alone-core11,463400 MHz
ti-port-o3-ocsram-60k-cores1to3-alone-core21,460.2400 MHz
ti-port-o3-ocsram-60k-cores1to3-alone-core31,461.4400 MHz
ti-port-o3-ocsram-all4-core01,462.1400 MHz
ti-port-o3-ocsram-all4-core11,464.1400 MHz
ti-port-o3-ocsram-all4-core21,463.7400 MHz
ti-port-o3-ocsram-all4-core31,464.1400 MHz
ti-port-o3-ocsram-all4-sum5,854400 MHz
ti-port-o3-ocsram-core0-alone-freertos1,463.3 to 1,463.4400 MHz
ti-port-o3-ocsram-core1-alone1,464.1400 MHz
ti-port-o3-ocsram-core2-alone1,463.7 to 1,463.8400 MHz
ti-port-o3-ocsram-core3-alone1,463.5400 MHz
ti-port-o3-ocsram-lockstep1,464.5400 MHz
ti-port-o3-xip1,394.5 to 1,394.6400 MHz
ti-port-o3-xip-l2-64k1,464.5400 MHz
ti-port-os476.7200 MHz
ti-port-oz438.3200 MHz
ticlang-bare-o2122.680 MHz, 1 run54.332 MHz, 1 run122.780 MHz122.680 MHz376.9160 MHz612.7200 MHz
ticlang-bare-o2-32mhz54.832 MHz54.832 MHz96.932 MHz
ticlang-bare-o2-ocsram1,026400 MHz
ticlang-bare-o2-tcm1,039.8400 MHz
ticlang-bare-o3183.680 MHz78.332 MHz, 1 runNot for this chip 4,330 short182.780 MHz182.880 MHz111.148 MHz, 1 run199.948 MHz544160 MHz872.4200 MHz426.396 MHz
ticlang-bare-o3-100mhz442.3100 MHz, 1 run
ticlang-bare-o3-32mhz78.832 MHz, 1 run78.832 MHz78.832 MHz140.332 MHz
ticlang-bare-o3-4mhz10.54 MHz, 1 run
ticlang-bare-o3-50mhz221.150 MHz, 1 run
ticlang-bare-o3-ocsram1,464.2400 MHz
ticlang-bare-o3-tcm1,497.8400 MHz
ticlang-bare-o3-tcm-core1-alone
ticlang-bare-o3-tcm-core2-alone
ticlang-bare-o3-tcm-core3-alone
ticlang-bare-o3-tcm-lockstep
ticlang-bare-o3-xip
ticlang-bare-o3-xip-sp
ticlang-bare-os114.580 MHz, 1 run47.432 MHz, 1 run112.980 MHz11080 MHz323.9160 MHz477.1200 MHz
ticlang-bare-os-32mhz49.432 MHz49.532 MHz76.432 MHz
ticlang-bare-os-400bNot for this chip
ticlang-bare-os-ocsram877.5400 MHz
ticlang-bare-os-tcm870.4400 MHz
ticlang-bare-oz102.280 MHz, 1 run41.632 MHz, 1 run100.880 MHz98.580 MHz57.548 MHz, 1 run94.748 MHz285.2160 MHz438.1200 MHz21196 MHz
ticlang-bare-oz-32mhz44.232 MHz44.332 MHz69.232 MHz
ticlang-bare-oz-4mhz5.984 MHz, 1 run
ticlang-bare-oz-ocsram850400 MHz
ticlang-bare-oz-tcm854.2400 MHz
ticlang-freertos-o3718.9160 MHz
ticlang-freertos-oz354.1160 MHz
unmodified-ticlang-c2000-o4Not for this chip
Sources

am13e230/bench/coremark/main.c, am13e230/bench/coremark/ti_printf.c, am13e230/tools/build_lowclk.sh, am62l-evm/README.md, cc1354p10/baremetal/README.md, cc2340r5/baremetal/README.md, mspm0l1306/zephyr/README.md

CoreMark per MHz iter/s/MHz, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263PTMDS62LEVM (AM62L EVM)
armgnu14-bare-o22.7996 MHz
armgnu14-bare-o32.8796 MHz
armgnu14-bare-o3-48mhz2.8748 MHz, 1 run
armgnu14-bare-os2.2896 MHz
c28patch-ti-c2000-o2-flash0.809120 MHz, 1 run
c28patch-ti-c2000-o2-ram0.951120 MHz, 1 run
c28patch-ti-c2000-o4-flash0.894120 MHz, 1 run
c28patch-ti-c2000-o4-ram1.04120 MHz, 1 run
c28patch-ti-c2000-o4s0-flash0.888120 MHz, 1 run
c28patch-ti-c2000-o4s0-ram1.03120 MHz, 1 run
c28patch-ti-c2000-o4s5-flash1.18120 MHz, 1 run1.06200 MHz, 1 run
c28patch-ti-c2000-o4s5-ram1.29120 MHz, 1 run1.29200 MHz, 1 run
gcc-bare-o21.7680 MHz, 1 run2.7596 MHz
gcc-bare-o2-48mhz1.9248 MHz
gcc-bare-o2-m332.8150 MHz, 1 run
gcc-bare-o2-m33-gcc122.72150 MHz, 1 run
gcc-bare-o2-riscv3.35150 MHz, 1 run2.77160 MHz
gcc-bare-o31.7132 MHz2.9496 MHz
gcc-bare-o3-48mhz2.9448 MHz
gcc-bare-o3-m332.89150 MHz, 1 run
gcc-bare-o3-m33-gcc122.92150 MHz, 1 run
gcc-bare-o3-m33-gcc12-ram2.92150 MHz, 1 run
gcc-bare-o3-m33-ram2.89150 MHz, 1 run
gcc-bare-o3-riscv3.3150 MHz, 1 run2.73160 MHz
gcc-bare-o3-riscv-ram3.29150 MHz, 1 run
gcc-bare-o3-unroll1.8280 MHz, 1 run
gcc-bare-o3-unroll-48mhz2.0348 MHz
gcc-bare-o3-unroll-reset2.054 MHz
gcc-bare-o3unroll1.8332 MHz
gcc-bare-o3x-m333.41150 MHz, 1 run
gcc-bare-o3x-riscv3.91150 MHz, 1 run
gcc-bare-os1.2480 MHz, 1 run2.4396 MHz
gcc-bare-os-48mhz1.4948 MHz
gcc-bare-os-m332.26150 MHz, 1 run
gcc-bare-os-m33-gcc122.43150 MHz, 1 run
gcc-bare-os-riscv2.53150 MHz, 1 run2.13160 MHz
gcc-vendor-o32.82160 MHz
gcc-zephyr-o21.6380 MHz, 1 run1.6832 MHz, 1 run1.5780 MHz, 1 run1.5448 MHz, 1 run1.8448 MHz, 1 run2.6296 MHz, 1 run
gcc-zephyr-o2unroll1.7580 MHz, 1 run1.8732 MHz, 1 run1.6980 MHz, 1 run1.7548 MHz, 1 run
gcc-zephyr-o31.7180 MHz, 1 run1.7732 MHz, 1 run1.6380 MHz, 1 run1.6648 MHz, 1 run1.9248 MHz, 1 run
gcc-zephyr-os1.1980 MHz, 1 run1.3132 MHz, 1 run1.1580 MHz, 1 run1.2248 MHz, 1 run1.4748 MHz, 1 run2.3396 MHz, 1 run
gcc12.2-zephyr-core1-o2-ddr3.211250 MHz, 1 run
gcc15.3-linux-o2-1t3.41250 MHz, 1 run
starmclang-bare-o3-48mhz1.8348 MHz
starmclang-bare-omax-48mhz2.448 MHz
stgcc14-bare-o3-48mhz1.9648 MHz
stgcc14-bare-o3-unroll-48mhz2.0648 MHz
ti-port-o3-ocsram3.66400 MHz
ticlang-bare-o21.5380 MHz, 1 run1.732 MHz, 1 run1.5380 MHz1.5380 MHz2.36160 MHz
ticlang-bare-o2-32mhz1.7132 MHz1.7132 MHz3.0332 MHz
ticlang-bare-o32.380 MHz2.4532 MHz, 1 runNot for this chip2.2880 MHz2.2980 MHz2.3148 MHz, 1 run4.1748 MHz3.4160 MHz4.36200 MHz4.4496 MHz
ticlang-bare-o3-100mhz4.42100 MHz, 1 run
ticlang-bare-o3-32mhz2.4632 MHz, 1 run2.4632 MHz2.4632 MHz4.3832 MHz
ticlang-bare-o3-4mhz2.634 MHz, 1 run
ticlang-bare-o3-ocsram3.66400 MHz
ticlang-bare-o3-tcm3.74400 MHz
ticlang-bare-os1.4380 MHz, 1 run1.4832 MHz, 1 run1.4180 MHz1.3880 MHz2.02160 MHz
ticlang-bare-os-32mhz1.5432 MHz1.5532 MHz2.3932 MHz
ticlang-bare-oz1.2880 MHz, 1 run1.332 MHz, 1 run1.2680 MHz1.2380 MHz1.248 MHz, 1 run1.9748 MHz1.78160 MHz2.296 MHz
ticlang-bare-oz-32mhz1.3832 MHz1.3932 MHz2.1632 MHz
ticlang-bare-oz-4mhz1.54 MHz, 1 run
ticlang-freertos-o34.49160 MHz
ticlang-freertos-oz2.21160 MHz
Sources

am13e230/bench/coremark/main.c, am13e230/tools/build_lowclk.sh, am62l-evm/README.md, cc1354p10/baremetal/README.md, cc2340r5/baremetal/README.md, mspm0l1306/zephyr/README.md

Dhrystone 2.1 DMIPS/MHz, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263PSK-TDA4VMTMDS62LEVM (AM62L EVM)
armgnu14-bare-o30.8496 MHz, 1 run
gcc-bare-o30.83596 MHz, 1 run
gcc-bare-o3-noinline-m331.32150 MHz
gcc-bare-o3-noinline-m33-gcc121.32150 MHz
gcc-bare-o3-noinline-riscv1.56150 MHz
gcc-linux-o2-noinline-mcpu4.61 to 4.622000 MHz
gcc-linux-o3-inline5.26 to 5.682000 MHz
gcc-linux-o3-noinline4.832000 MHz
gcc-linux-o3-noinline-mcpu4.682000 MHz
gcc-linux-os-noinline3.09 to 3.12000 MHz
gcc12-os0.47948 MHz
linux
ti-c2000-o3-inline-ram0.477120 MHz, 1 run
ti-c2000-o3-noinline-flash0.362120 MHz, 1 run0.279200 MHz, 1 run
ti-c2000-o3-noinline-ram0.442120 MHz, 1 run0.444200 MHz, 1 run
ti-example-o31.94400 MHz, 1 run
ticlang-bare-o3-inline0.86648 MHz1.4948 MHz1.08160 MHz1.34200 MHz, 1 run1.6296 MHz1.88400 MHz
ticlang-bare-o3-noinline0.65280 MHz0.65180 MHz0.60248 MHz1.248 MHz0.876160 MHz1.05200 MHz, 1 run1.3296 MHz1.5400 MHz
ticlang-bare-o3-noinline-32mhz1.2232 MHz
ticlang-bare-os-noinline0.87160 MHz1200 MHz, 1 run1.45400 MHz
ticlang-bare-os-noinline-32mhz1.2132 MHz
ticlang-bare-oz-noinline0.27548 MHz0.47848 MHz0.5696 MHz
ticlang-freertos-o3-inline1.65160 MHz
ticlang-freertos-o3-noinline1.34160 MHz
ticlang-freertos-os-noinline1.32160 MHz
(one way)0.73132 MHz, 1 runNot for this chip0.67248 MHz
Sources

am62l-evm/README.md, cc35x1/dhrystone/build.sh

Embench programs that fit and pass of 19, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1SK-TDA4VM
gcc-linux-a72
gcc-o2-m3319150 MHz
gcc-o2-riscv19150 MHz
gcc-os-m3319150 MHz
gcc-os-riscv19150 MHz
ti-c2000-o2-flash15120 MHz, 1 run
ticlang-freertos-o2Not for this chip
ticlang-freertos-o2-retry
ticlang-freertos-osNot for this chip
ticlang-o2724 MHz, 1 run1848 MHz1948 MHz19160 MHz19200 MHz1996 MHz, 1 run
ticlang-os624 MHz, 1 run1848 MHz1948 MHz19160 MHz19200 MHz1996 MHz, 1 run
(one way)1880 MHz, 1 run1332 MHz, 1 run924 MHz1880 MHz1880 MHz1948 MHz1996 MHz, 1 run
Sources

am13e230/data/logs/tb/, mspm0l1306/third-party/README.md

Reaction time

Interrupt latency, in time

Best case, every board here reaches its handler in under 1 µs except the ESP32-C6-DevKitC-1-N8 (Espressif).

Time from a pin or timer signal to the first line of your handler, no OS. Cycle counts flatter slow clocks, so the bars show time, calculated from measured cycles and the clock.

TI boardsother vendors' boardsyour board
LAUNCHXL-F28P65Xcode in RAM
150 ns
Raspberry Pi Pico 2 H
173 ns
FRDM-MCXA153 (NXP)
177 ns
LP-MSPM33C321A
200 ns
LP-EM-CC2755P10
219 ns
LAUNCHXL-F2800137
250 ns
LP-MSPM0G3507
362 ns
LP-MSPM0G3519
388 ns
LP-MSPM0G5187
450 ns
NUCLEO-U083RC (ST)
458 ns
LP-CC1354P10-1
479 ns
LP-AM263P
488 ns
LP-EM-CC2340R5
583 ns
LP-MSPM0L1306
781 ns
LP-MSPM0C1104
958 ns
ESP32-C6-DevKitC-1-N8 (Espressif)under FreeRTOS
1069 ns

Times are calculated from measured cycles and the clock; hover a time for both. No OS, code in flash unless marked (LAUNCHXL-F28P65X ran from RAM). Zephyr adds cycles on every board that ran it; see the rows below.

All rows

Interrupt pend to first line of handler cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263P
bare29 to 3680 MHz, 1 run25 to 2832 MHz, 1 run23 to 2524 MHz31 to 3480 MHz36 to 4080 MHz28 to 2948 MHz, 1 run23 to 2948 MHz30 to 32120 MHz22 to 2648 MHz17 to 2996 MHz, 1 run32160 MHz21 to 3596 MHz195 to 227400 MHz
bare-32mhz2032 MHz
bare-external-wire4
bare-fiq144 to 205400 MHz
bare-flash36200 MHz
bare-m3326150 MHz
bare-m33-gcc1226150 MHz
bare-ram30200 MHz
bare-riscv45150 MHz
freertos38 to 3932 MHz, 1 run39 to 20248 MHz2748 MHz171 to 175160 MHz
pend-sw7
zephyr163 to 18180 MHz, 1 run119 to 13732 MHz, 1 run157 to 18580 MHz, 1 run48 to 6048 MHz, 1 run108 to 12948 MHz, 1 run
Sources

cc1354p10/baremetal/README.md, cc2340r5/baremetal/README.md, mspm0l1306/freertos/README.md, mspm0l1306/zephyr/README.md

Control loops

Control loop: ADC trigger to new PWM value

From 1.33 µs to 448 µs across the boards, in float code: hardware math where the chip has it, software math where it does not, each bar says which. The Cortex-M0+ boards run floating point in software, so none gets under 88.5 µs even with a math accelerator for sine and cosine. TI's fixed-point IQmath library brings the MSPM0 G3507 to 12.3 µs.

One field-oriented control step, timed from the ADC finishing to the new PWM value.

hardware math unitsoftware mathyour board
0.1 µs1 µs10 µs100 µs1000 µs
LP-AM13E230
1.33 µs
LAUNCHXL-F2800137
2.58 µs
LP-MSPM33C321A
5.03 µs
LP-EM-CC2755P10
10.5 µs
LP-CC1354P10-1
21.4 µs
LP-MSPM0G3507
88.5 µs
LP-MSPM0G3519
89.3 µs
LP-MSPM0G5187
181 µs
NUCLEO-U083RC (ST)
299 µs
LP-EM-CC2340R5
337 µs
LP-MSPM0L1306
448 µs

One run per board: code in flash, timed from the ADC end-of-conversion interrupt, where the board has that run; otherwise its fastest plain run. Early-trigger, RAM-code, lockstep and IQmath runs are left out; IQmath is in the rows below. AM263P ran only with code in RAM, so it is not drawn. Log scale: each gridline is 10 times slower. Hover a time for the clock and build.

All rows

PWM or timer trigger to first line of ISR us, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
ctrl-systick-o2
early-flash0.402 to 0.433120 MHz
early-flash-ramfunc0.368 to 0.417120 MHz
early-ram0.392 to 0.408120 MHz
eoc-flash1.86 to 1.9732 MHz4.21 to 4.3148 MHz5.84 to 15.748 MHz0.555 to 0.592120 MHz1.6948 MHz0.538 to 0.55160 MHz3.77 to 3.7996 MHz
eoc-flash-o34.22 to 4.3148 MHz5.84 to 15.548 MHz1.6948 MHz0.713 to 0.725160 MHz
eoc-flash-os4.2 to 4.2548 MHz
eoc-flash-ramfunc0.535 to 0.583120 MHz
eoc-ram1.58 to 1.648 MHz
hw-tmu-eoc-flash0.365 to 0.38200 MHz, 1 run
hw-tmu-eoc-ocsram0.632400 MHz
hw-tmu-eoc-ocsram-200k-alone0.637 to 0.638400 MHz
hw-tmu-eoc-ocsram-200k-beside-bytecopy30.638400 MHz
hw-tmu-eoc-ocsram-200k-beside-coremark30.638400 MHz
hw-tmu-eoc-ocsram-200k-beside-nearcopy30.637 to 0.638400 MHz
hw-tmu-eoc-ocsram-200k-beside-wordcopy30.638400 MHz
hw-tmu-eoc-ocsram-lockstep0.631 to 0.632400 MHz
hw-tmu-eoc-tcm-200k-alone0.592400 MHz
hw-tmu-eoc-tcm-200k-beside-nearcopy30.593400 MHz
o32.69 to 2.7180 MHz
sdk-eoc-ocsram0.636 to 0.637400 MHz
sdk-eoc-ocsram-lockstep0.637400 MHz
sw-eoc-flash0.397 to 0.41200 MHz, 1 run
sw-eoc-ocsram0.654 to 0.655400 MHz
sw-eoc-ocsram-lockstep0.661 to 0.663400 MHz
ticlang-freertos-o2Not for this chip
ticlang-freertos-o3Not for this chip
(one way)0.86 to 0.9580 MHz, 1 run1.94 to 1.9732 MHz, 1 run1.11 to 1.2180 MHz2.7 to 2.7480 MHz0.55 to 0.58120 MHz
Sources

Run records are in the notebook, not this copy.

Trigger, ADC, control step, new PWM value (mean) us, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
ctrl-systick-o2
hw88.5 to 90.480 MHz, 1 runn/a89.3 to 9180 MHzn/a2.4120 MHzn/a
hw-early-flash2.45 to 2.49120 MHz
hw-early-flash-ramfunc2.15 to 2.2120 MHz
hw-early-ram2.21 to 2.23120 MHz
hw-eoc-flash2.58 to 2.62120 MHz
hw-eoc-flash-ramfunc2.32 to 2.37120 MHz
hw-tmu-eoc-flash1.33 to 1.69200 MHz, 1 run
hw-tmu-eoc-ocsram1.24400 MHz
hw-tmu-eoc-ocsram-200k-alone1.23400 MHz
hw-tmu-eoc-ocsram-200k-beside-bytecopy31.23400 MHz
hw-tmu-eoc-ocsram-200k-beside-coremark31.23400 MHz
hw-tmu-eoc-ocsram-200k-beside-nearcopy31.23400 MHz
hw-tmu-eoc-ocsram-200k-beside-wordcopy31.23400 MHz
hw-tmu-eoc-ocsram-lockstep1.24400 MHz
hw-tmu-eoc-tcm-200k-alone1.19400 MHz
hw-tmu-eoc-tcm-200k-beside-nearcopy31.19400 MHz
iq-hw12.3 to 12.680 MHz12.4 to 12.780 MHz
iq-sw24.3 to 24.680 MHz55.5 to 55.632 MHz, 1 run24.4 to 24.680 MHz26.3 to 26.480 MHz
microstep-sw1.23 to 1.77200 MHz, 1 run
microstep-tmu0.691 to 1.09200 MHz, 1 run
sdk-eoc-ocsram1.45400 MHz
sdk-eoc-ocsram-lockstep1.46400 MHz
sw171.9 to 177.780 MHz, 1 run401.6 to 413.132 MHz, 1 run179.8 to 182.480 MHz181.1 to 183.480 MHz3.7120 MHz
sw-early-ram3.46 to 3.51120 MHz
sw-eoc-flash448.1 to 54032 MHz336.6 to 403.448 MHz21.4 to 24.848 MHz4.1 to 4.18120 MHz298.8 to 319.648 MHz5.17 to 5.74160 MHz4.74 to 4.79200 MHz, 1 run10.5 to 1396 MHz
sw-eoc-flash-o3338.4 to 408.148 MHz21.4 to 24.348 MHz299.3 to 319.848 MHz5.03 to 5.47160 MHz10.5 to 12.996 MHz
sw-eoc-flash-os336.6 to 403.448 MHz10.5 to 12.996 MHz
sw-eoc-ocsram2.06400 MHz
sw-eoc-ocsram-lockstep2.07400 MHz
sw-eoc-ram272.3 to 289.148 MHz
sw-o3180.8 to 183.580 MHz
ticlang-freertos-o2Not for this chip
ticlang-freertos-o3Not for this chip
Sources

am13e230/stepper-uln2003/microstep/

One field-oriented control step cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
ctrl-systick-o2
fpu-flash308.4150 MHz
fpu-flash-gcc12314.2150 MHz
fpu-flash-o3308.4150 MHz
fpu-flash-o3-gcc12314.2150 MHz
fpu-flash-os306.1150 MHz
fpu-flash-os-gcc12313.6150 MHz
hw6.4k80 MHz, 1 runn/a6.5k80 MHz194.1120 MHzn/an/a
hw-flash220.6120 MHz
hw-flash-ramfunc195.3120 MHz
hw-tmu-flash117200 MHz
hw-tmu-ocsram160.3 to 833400 MHz
iq-hw918.280 MHz
iq-sw1.9k80 MHz1.7k32 MHz, 1 run
iq-sw-ram1.7k32 MHz
q15-rtcesl44896 MHz, 1 run
sdk-ocsram247.4 to 263400 MHz
sw14k80 MHz, 1 run13k32 MHz, 1 run14k80 MHz14k80 MHz348.9120 MHz
sw-flash13k32 MHz14k48 MHz671.448 MHz400.2120 MHz12k48 MHz5.4k96 MHz, 1 run531.1160 MHz, 1 run655.6200 MHz593.796 MHz
sw-flash-32mhz489.132 MHz, 1 run
sw-flash-o313k32 MHz14k48 MHz671.348 MHz12k48 MHz5.3k96 MHz, 1 run593.796 MHz
sw-flash-o3-riscv4.5k150 MHz
sw-flash-o3-stgcc1413k48 MHz
sw-flash-os13k32 MHz14k48 MHz600.796 MHz
sw-flash-os-riscv4.5k150 MHz
sw-flash-riscv4.5k150 MHz
sw-flash-stgcc1413k48 MHz
sw-ocsram412 to 789400 MHz
sw-ram13k32 MHz11k48 MHz
sw-ram-stgcc1412k48 MHz
ti-aci-chain555200 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Digital-power PID loop, trigger to duty write (mean) cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10
float-flash1.8k to 1.9k80 MHz, 1 run1.4k to 1.8k32 MHz1.8k to 1.9k80 MHz2k to 2.1k48 MHz396.3 to 42048 MHz194 to 198120 MHz, 1 run235.3 to 278160 MHz
float-flash-o3379.8 to 40148 MHz230.2 to 258160 MHz
q15-flash280 to 30080 MHz, 1 run227.7 to 24832 MHz301.3 to 32180 MHz410 to 43348 MHz382.1 to 40948 MHz258.4 to 263120 MHz, 1 run184.3 to 209160 MHz
q15-flash-o3369.9 to 39448 MHz174.2 to 194160 MHz
Sources

cc2755p10/RESULTS-cc2755p10.md

Loop rate with 20 percent of the period free (computed, superseded) kHz, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137
float-flash34 calc.14.4 calc.17.8 calc.460.8 calc.
q15-flash205 calc.99.3 calc.85 calc.351.9 calc.
Sources

Run records are in the notebook, not this copy.

Control loop worst case, trigger to new PWM value, as a percent of a 100 kHz period %, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
ctrl-systick-o2
hw903.180 MHz909.680 MHz24.2120 MHz
hw-early-flash24.9120 MHz
hw-early-flash-ramfunc22120 MHz
hw-early-ram22.2120 MHz
hw-eoc-flash26.2120 MHz
hw-eoc-flash-ramfunc23.7120 MHz
hw-o3912.580 MHz901.480 MHz
hw-tmu-eoc-flash16.9200 MHz, 1 run
hw-tmu-eoc-ocsram10.7400 MHz
hw-tmu-eoc-ocsram-200k-alone10.5400 MHz
hw-tmu-eoc-ocsram-200k-beside-bytecopy310.5400 MHz
hw-tmu-eoc-ocsram-200k-beside-coremark310.5400 MHz
hw-tmu-eoc-ocsram-200k-beside-nearcopy313.1 to 13.5400 MHz
hw-tmu-eoc-ocsram-200k-beside-wordcopy310.5400 MHz
hw-tmu-eoc-ocsram-lockstep10.7400 MHz
hw-tmu-eoc-tcm-200k-alone6.3400 MHz
hw-tmu-eoc-tcm-200k-beside-nearcopy36.3400 MHz
iq-hw125.580 MHz125.980 MHz
iq-sw245.680 MHz555.932 MHz, 1 run24680 MHz263.880 MHz
sdk-eoc-ocsram11.8400 MHz
sdk-eoc-ocsram-lockstep11.8400 MHz
sw2,318.980 MHz4,131.232 MHz, 1 run1,819.980 MHz2,330.580 MHz37.1120 MHz
sw-early-ram35.1120 MHz
sw-eoc-flash5,399.732 MHz4,033.548 MHz248.148 MHz41.8120 MHz3,192.548 MHz57.4160 MHz47.9200 MHz, 1 run12996 MHz
sw-eoc-flash-o34,081.548 MHz243.148 MHz3,197.748 MHz54.8160 MHz129.496 MHz
sw-eoc-flash-os4,033.548 MHz12996 MHz
sw-eoc-ocsram13.7 to 14400 MHz
sw-eoc-ocsram-lockstep14400 MHz
sw-eoc-ram2,890.448 MHz
sw-o32,322.180 MHz1,774.980 MHz2,324.880 MHz
Sources

Run records are in the notebook, not this copy.

Control loop jitter, worst minus best trigger to new PWM value us, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
ctrl-systick-o2
hw7.680 MHz7.1680 MHz0.092120 MHz
hw-early-flash0.108120 MHz
hw-early-flash-ramfunc0.083120 MHz
hw-early-ram0.067120 MHz
hw-eoc-flash0.108120 MHz
hw-eoc-flash-ramfunc0.083120 MHz
hw-o37.6780 MHz7.4680 MHz
hw-tmu-eoc-flash0.395200 MHz, 1 run
hw-tmu-eoc-ocsram0.93400 MHz
hw-tmu-eoc-ocsram-200k-alone0.905400 MHz
hw-tmu-eoc-ocsram-200k-beside-bytecopy30.905400 MHz
hw-tmu-eoc-ocsram-200k-beside-coremark30.905400 MHz
hw-tmu-eoc-ocsram-200k-beside-nearcopy31.41 to 1.5400 MHz
hw-tmu-eoc-ocsram-200k-beside-wordcopy30.905400 MHz
hw-tmu-eoc-ocsram-lockstep0.93400 MHz
hw-tmu-eoc-tcm-200k-alone0.09 to 0.095400 MHz
hw-tmu-eoc-tcm-200k-beside-nearcopy30.095 to 0.1400 MHz
iq-hw0.480 MHz0.3580 MHz
iq-sw0.31280 MHz0.34432 MHz, 1 run0.26380 MHz0.18880 MHz
sdk-eoc-ocsram0.91400 MHz
sdk-eoc-ocsram-lockstep0.91400 MHz
sw157.680 MHz246.232 MHz, 1 run106.780 MHz157.280 MHz0.458120 MHz
sw-early-ram0.483120 MHz
sw-eoc-flash370.932 MHz272.148 MHz3.7548 MHz0.55120 MHz176.248 MHz2.79160 MHz2.52200 MHz, 1 run3.9496 MHz
sw-eoc-flash-o3277.148 MHz3.2548 MHz177.348 MHz2.74160 MHz3.7596 MHz
sw-eoc-flash-os271.648 MHz3.8596 MHz
sw-eoc-ocsram0.89 to 0.95400 MHz
sw-eoc-ocsram-lockstep0.95 to 0.96400 MHz
sw-eoc-ram160.348 MHz
sw-o3157.880 MHz10280 MHz156.380 MHz
Sources

Run records are in the notebook, not this copy.

Highest control-loop trigger rate with no missed period in 1,000 kHz, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10LP-EM-CC35X1
ctrl-systick-o2
hw10.9 to 1180 MHz10.880 MHz336.1120 MHz
hw-early-flash297120 MHz
hw-early-flash-ramfunc336.1120 MHz
hw-early-ram334.3120 MHz
hw-eoc-flash301.5120 MHz
hw-eoc-flash-ramfunc336.1120 MHz
hw-o310.980 MHz10.980 MHz
iq-hw70.880 MHz70.380 MHz
iq-sw38.180 MHz16.932 MHz38 to 38.380 MHz37.280 MHz
sw4.26 to 4.3180 MHz1.83 to 1.8532 MHz4.2980 MHz4.2880 MHz231.7120 MHz
sw-early-ram231.7120 MHz
sw-eoc-flash2.42 to 2.4548 MHz46.248 MHz209.4120 MHz178160 MHz90.2 to 91.296 MHz
sw-eoc-flash-gcc14
sw-eoc-flash-o32.43 to 2.4548 MHz45.848 MHz93.896 MHz
sw-eoc-flash-os2.48 to 2.548 MHz90.9 to 91.196 MHz
sw-o34.26 to 4.380 MHz1.8332 MHz4.24 to 4.2880 MHz4.26 to 4.2980 MHz
Sources

Run records are in the notebook, not this copy.

Control-loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period %, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10LP-EM-CC35X1
ctrl-systick-o2
hw894.2 to 928.180 MHz900.2 to 934.580 MHz26.4 to 33.3120 MHz
hw-early-flash29.9 to 38.1120 MHz
hw-early-flash-ramfunc27.1 to 34.3120 MHz
hw-early-ram26.5 to 33.4120 MHz
hw-eoc-flash29.7 to 37.7120 MHz
hw-eoc-flash-ramfunc27 to 34.2120 MHz
hw-o3901.5 to 934.680 MHz892.4 to 927.580 MHz
iq-hw132.1 to 151.180 MHz133.3 to 153.880 MHz
iq-sw251.8 to 270.580 MHz573.5 to 611.932 MHz252.6 to 271.680 MHz254.8 to 272.680 MHz
sw1,949.8 to 2,337.580 MHz4,504.8 to 5,457.832 MHz1,952.3 to 2,343.280 MHz1,951.1 to 2,339.980 MHz39.6 to 46.8120 MHz
sw-early-ram39.5 to 46.8120 MHz
sw-eoc-flash3,380.3 to 4,09448 MHz180.4 to 211.548 MHz43.7 to 52.1120 MHz59.5 to 65.3160 MHz76.6 to 99.396 MHz
sw-eoc-flash-gcc14
sw-eoc-flash-o33,374.548 MHz180 to 203.848 MHz76.5 to 99.196 MHz
sw-eoc-flash-os3,326.8 to 4,009.248 MHz76.5 to 97.796 MHz
sw-o31,951.5 to 2,343.480 MHz4,517.6 to 5,470.932 MHz1,962.2 to 2,351.180 MHz1,931.6 to 2,336.480 MHz
Sources

Run records are in the notebook, not this copy.

Digital-power loop worst case, trigger to duty write, as a percent of a 100 kHz period %, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10
float-flash235.580 MHz554.432 MHz236.880 MHz437.348 MHz87.548 MHz16.5120 MHz, 1 run17.4160 MHz
float-flash-o383.548 MHz16.1160 MHz
q15-flash39.480 MHz77.532 MHz40.180 MHz88.548 MHz85.248 MHz21.9120 MHz, 1 run13.1160 MHz
q15-flash-o38248 MHz12.1160 MHz
Sources

cc2755p10/RESULTS-cc2755p10.md

Digital-power loop jitter, worst minus best trigger to duty write cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10
float-flash24780 MHz51132 MHz25880 MHz26848 MHz3048 MHz0.269160 MHz
float-flash-o32448 MHz0.175160 MHz
q15-flash2380 MHz2132 MHz2180 MHz2348 MHz3148 MHz0.156160 MHz
q15-flash-o32748 MHz0.125160 MHz
Sources

cc2755p10/RESULTS-cc2755p10.md

Highest digital-power loop rate with no missed period in 1,000 kHz, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10
float-flash39.7 to 4080 MHz17.332 MHz39.680 MHz21.8 to 2248 MHz117.148 MHz439.6120 MHz645.2160 MHz
float-flash-o322.2 to 22.448 MHz121.248 MHz655.7160 MHz
float-ram500120 MHz
q15-flash190.980 MHz92.832 MHz190.980 MHz97.448 MHz120.648 MHz367120 MHz680.9160 MHz
q15-flash-o3113.548 MHz123.148 MHz720.7160 MHz
q15-ram431.6120 MHz
Sources

cc2755p10/RESULTS-cc2755p10.md

Digital-power loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period %, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC2755P10
float-flash237.2 to 26180 MHz471.2 to 606.232 MHz236.8 to 260.980 MHz430.5 to 477.748 MHz48.5 to 70.648 MHz19.7 to 26.9120 MHz18.7 to 25.6160 MHz
float-flash-o3427.9 to 472.748 MHz47.2 to 7048 MHz18.2 to 24.9160 MHz
float-ram17.3 to 23.7120 MHz
q15-flash41.4 to 6180 MHz85.5 to 127.832 MHz41.5 to 61.480 MHz99.6 to 121.948 MHz42.9 to 64.448 MHz24.2 to 31.5120 MHz13.3 to 20.2160 MHz
q15-flash-o390.8 to 109.848 MHz41.6 to 62.148 MHz12.7 to 19.6160 MHz
q15-ram20.5 to 26.8120 MHz
Sources

cc2755p10/RESULTS-cc2755p10.md

Brushless motor speed at a duty, six-step from Hall sensors rpm, higher is better

VariantLP-AM13E230
no-meter-retry-6x-10pct0200 MHz, 1 run
rewired-6x-10pct-start0200 MHz, 1 run
sine-hall-20pct-fwd531 to 536200 MHz
sine-hall-30pct-fwd894 to 907200 MHz
sine-hall-30pct-rev892200 MHz, 1 run
six-step-hall-10pct-fwd405 to 411200 MHz
six-step-hall-10pct-rev376 to 391200 MHz
six-step-hall-20pct-fwd924 to 929200 MHz
six-step-hall-20pct-rev891 to 907200 MHz
six-step-hall-30pct-fwd1,561200 MHz
six-step-hall-30pct-rev1,446 to 1,457200 MHz
six-step-hall-40pct-fwd2,312 to 2,339200 MHz
six-step-hall-40pct-rev2,091200 MHz
six-step-hall-50pct-fwd3,067200 MHz
six-step-hall-50pct-rev2,728 to 2,805200 MHz
six-step-hall-60pct-fwd3,632 to 3,700200 MHz
six-step-hall-60pct-rev3,442200 MHz
speed-bench-firmware-trapezoid-retry0200 MHz, 1 run
Sources

am13e230/bldc-drv8376/README.md

Hall sensor misalignment: largest deviation of a sector's width from one sixth of an electrical turn %, lower is better

VariantLP-AM13E230
six-step-hall-30pct-fwd2200 MHz
six-step-hall-30pct-rev1.9200 MHz
Sources

am13e230/bldc-drv8376/README.md

Radio RAM

Radio stack RAM on the LP-EM-CC2340R5

6 of 11 builds fit, including every Bluetooth-only and Zigbee one. 5 do not link at 36 kB of RAM (Bluetooth + TI 15.4 at once; Thread end device, NCP build; Thread end device, CLI build; Thread router, CLI build; Thread router, NCP build). They link at 64 kB on the CC2340R53; none has run there.

Bar = RAM the stack needs. The chip has 36 kB.

RAM the stack needs, from the linker mapcalculated: what a build that did not link would need
Zigbee update client
36 kB, the chip's RAM
10.7 kB left
Thread radio only (RCP)
8.8 kB left
Zigbee end device
6.2 kB left
Bluetooth, TI's data stream
5.3 kB left
Bluetooth, TI's basic example
5.1 kB left
Zigbee router, logging on
799 B left
Bluetooth + TI 15.4 at once
2.1 kB over
Thread end device, NCP build
7.5 kB over
Thread end device, CLI build
10.0 kB over
Thread router, CLI build
16.0 kB over
Thread router, NCP build
20.7 kB over

Scale 0 to 58 kB; 1 kB = 1,024 bytes. These are TI's configurations as built here. No trimmed build was made, so none is a proven chip limit.

All rows

RAM left after linking a stack B, higher is better

VariantLP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
ble-basic-ble5.1 kB81 kB
ble-basic-ble-occ-8k8191 run
ble-basic-ble-text5.1 kB
ble-broadcasterNot for this chip
ble-central-b2b2.6 kB
ble-data-stream5.3 kB81.2 kB
ble-desk-oled3.4 kB1 run
ble-esphome-proxy262.1 kB160 MHz, 1 run
ble-hci-controller79.9 kB
ble-hid-remote5.1 kB1 run
ble-nimble-peripheral347.8 kB160 MHz, 1 run
ble-nordic-lbs-nus4 kB1 run
ble-oad-dual-image4.5 kB80.5 kB
ble-proxy-zigbee-ed247.4 kB160 MHz, 1 run
ble-simple-peripheral
ble-tooltag1.2 kB1 run76.8 kB1 run
ble-zephyr-ti-fork1.7 kB
dmm-ble-ti154Not for this chip 2.1 kB short57.4 kB
esphome-minimal-wifi303.3 kB160 MHz, 1 run
esphome-thread335 kB160 MHz, 1 run
esphome-zigbee-ed358.9 kB160 MHz, 1 run
nonen/a
proprietary-rftx22.4 kB
thread-cli-ftdNot for this chip 16 kB short163.3 kB66.5 kB1 run
thread-cli-mtdNot for this chip 10 kB short169.4 kB72.5 kB1 run
thread-ftd329 kB160 MHz, 1 run
thread-ncp-ftdNot for this chip 20.7 kB short
thread-ncp-mtdNot for this chip 7.5 kB short
thread-radio-cli10.2 kB191.4 kB93.1 kB1 run
thread-rcp8.8 kB190.1 kB91.7 kB1 run
ti154-collectorNot for this chip
ti154-sensor1.6 kB1 run127.2 kB1 run
wifi-esphome-api74 kB to 86.7 kB160 MHz, 1 run
wifi-ota-example-plus-voice-fe72.2 kB calc.
wisun-border-router
wisun-coap-node
wisun-routerNot for this chip
zigbee-ble-dmm-zr-light222.2 kB
zigbee-coordinator
zigbee-end-device6.2 kB132.1 kB
zigbee-ota-client10.7 kB136.4 kB
zigbee-ota-client-router5.3 kB
zigbee-router799360.1 kB160 MHz, 1 run126.5 kB
zigbee-router-esphomeNot for this chip 1.3 kB short124.4 kB1 run
zigbee-router-esphome-cc23xx6831 run
zigbee-router-esphome-cc27xx124.4 kB1 run
zigbee-router-ti-example126.7 kB1 run
zigbee-router-ti-nolog5.9 kB1 run131.7 kB1 run
zigbee-zed-esphome4 kB1 run129.8 kB1 run
zigbee-zed-esphome-cc23xx4 kB1 run
zigbee-zed-sleepy-temp210.5 kB
zigbee-zed-ti-example210.6 kB
zigbee-zed-ti-nolog11.3 kB1 run137.1 kB1 run
Sources

cc2340r5/thread/README.md, docs/experiments/2026-10-13-cc2340r5-esphome-fit.md, docs/experiments/2026-10-13-cc2755p10-esphome-fit.md, docs/experiments/2026-10-13-esphome-cc27xx-platform.md, docs/experiments/2026-10-13-esphome-cc35xx-platform.md, esp32c6/proxy/README.md, esp32c6/proxy/frl-ble-proxy-zigbee.yaml, esp32c6/proxy/frl-esphome-minimal.yaml, esp32c6/proxy/frl-esphome-thread.yaml, esp32c6/proxy/frl-esphome-zigbee.yaml, esp32c6/zigbee/README.md

Flash used by a stack and role, from the linker map B, lower is better

VariantLP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
ble-basic-ble187.4 kB205.3 kB
ble-basic-ble-occ-8k208.6 kB1 run
ble-basic-ble-text187.4 kB
ble-broadcasterNot for this chip
ble-central-b2b194 kB
ble-data-stream185.9 kB203.9 kB
ble-desk-oled190.5 kB1 run
ble-esphome-proxy1.4 MB160 MHz, 1 run
ble-hci-controller189.4 kB
ble-hid-remote186.5 kB1 run
ble-nimble-peripheral640.3 kB160 MHz, 1 run
ble-nordic-lbs-nus187.3 kB1 run
ble-oad-dual-image192 kB209.5 kB
ble-proxy-zigbee-ed1.6 MB160 MHz, 1 run
ble-simple-peripheral166 kB
ble-tooltag193.5 kB1 run211.9 kB1 run
dmm-ble-ti154253.8 kB
esphome-minimal-wifi816.2 kB160 MHz, 1 run
esphome-thread748.4 kB160 MHz, 1 run
esphome-zigbee-ed491.8 kB160 MHz, 1 run
nonen/a
proprietary-rftx32.5 kB32.2 kB
thread-cli-ftd417.5 kB397.9 kB432.2 kB1 run
thread-cli-mtd353.3 kB335.4 kB370.1 kB1 run
thread-ftd1.2 MB160 MHz, 1 run
thread-ncp-ftd404.4 kB
thread-ncp-mtd342.5 kB
thread-radio-cli96.1 kB75.4 kB118.2 kB1 run
thread-rcp107.1 kB86.6 kB128.7 kB1 run
ti154-collectorNot for this chip117 kB
ti154-sensor90.4 kB1 run111 kB90.9 kB1 run
wifi-ble-prov-mqtt-chained1.3 MB160 MHz, 1 run
wifi-esphome-api1.2 MB160 MHz, 1 run
wisun-border-router398.3 kB
wisun-coap-node338.3 kB
wisun-routerNot for this chip342.3 kB
zigbee-ble-dmm-zr-light458.9 kB
zigbee-coordinator219.9 kB
zigbee-end-device215.2 kB205.7 kB
zigbee-ota-client216.8 kB205.9 kB
zigbee-ota-client-router274.7 kB
zigbee-router275.7 kB223.3 kB512.9 kB160 MHz, 1 run274.2 kB
zigbee-router-esphome277.7 kB1 run263.1 kB1 run
zigbee-router-esphome-cc23xx277.8 kB1 run
zigbee-router-esphome-cc27xx262.7 kB1 run
zigbee-router-ti-example259.6 kB1 run
zigbee-router-ti-nolog268.8 kB1 run253.1 kB1 run
zigbee-zed-esphome219.8 kB1 run211.1 kB1 run
zigbee-zed-esphome-cc23xx219.9 kB1 run
zigbee-zed-sleepy-temp179.4 kB
zigbee-zed-ti-example178.9 kB
zigbee-zed-ti-nolog210.9 kB1 run201.4 kB1 run
(one way)
Sources

cc3200-launchxl/README.md, docs/experiments/2026-10-13-cc2340r5-esphome-fit.md, docs/experiments/2026-10-13-cc2755p10-esphome-fit.md, docs/experiments/2026-10-13-esphome-cc27xx-platform.md, docs/experiments/2026-10-13-esphome-cc35xx-platform.md, esp32c6/proxy/README.md, esp32c6/proxy/frl-ble-proxy-zigbee.yaml, esp32c6/proxy/frl-esphome-minimal.yaml, esp32c6/proxy/frl-esphome-thread.yaml, esp32c6/proxy/frl-esphome-zigbee.yaml, esp32c6/zigbee/README.md, ports/wifi-provisioning-ble/README.md

Time on air for one packet ms, lower is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137
cc1407p-2-gfsk-38-4-kbps-200b-host-view45.580 MHz
cc1407p-2-gfsk-50-kbps-high-performance-200b-host-view35.280 MHz
cc1407p-2-gfsk-50-kbps-low-power-200b-host-view35.280 MHz
cc1407p-2-gfsk-9-6-kbps-200b-host-view178.480 MHz
cc1407p-general-purpose-gfsk-200b-host-view35.180 MHz
cc1407p-ofdm-lr-16-67-ksps-dsss-6-200b-host-view1,216.780 MHz
cc1407p-ofdm-lr-66-67-ksps-dsss-2-200b-host-view107.480 MHz
cc1407p-ofdm-lr-8-33-ksps-dsss-6-200b-host-view2,432.280 MHz
cc1407p-sun-o-qpsk-rate-mode-3-50-kbps-200b-host-view56.580 MHz
cc1407p-wi-sun-fsk-mode-2b-200b-host-view18.780 MHz
cc1407p-wi-sun-fsk-mode-4b-200b-host-view10.180 MHz
cc1407p-wi-sun-ofdm-opt1-mcs6-200b-host-view3.180 MHz
cc1407p-wi-sun-ofdm-opt2-mcs3-200b-host-view6.9480 MHz
cc1407p-wi-sun-ofdm-opt2-mcs4-200b-host-view5.5180 MHz
cc1407p-wi-sun-ofdm-opt2-mcs5-200b-host-view4.9180 MHz
cc1407p-wi-sun-ofdm-opt2-mcs6-200b-host-view4.1780 MHz
cc1407p-wi-sun-ofdm-opt3-mcs4-200b-host-view8.3180 MHz
cc1407p-wi-sun-ofdm-opt3-mcs5-200b-host-view6.9980 MHz
cc1407p-wi-sun-ofdm-opt3-mcs6-200b-host-view5.5680 MHz
cc1407p-wi-sun-ofdm-opt4-mcs4-200b-host-view13.880 MHz
cc1407p-wi-sun-ofdm-opt4-mcs5-200b-host-view11.180 MHz
cc1407p-wi-sun-ofdm-opt4-mcs6-200b-host-view8.3680 MHz
cc1407p-xlr-20-ksps-dsss-2-200b-host-view344.380 MHz
nonen/a
(one way)
Sources

cc3200-launchxl/README.md

Charge per radio event at 3.0 V uC, lower is better

VariantLP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137
nonen/a
(one way)
Sources

cc3200-launchxl/README.md

Average current at one event per 1000 ms, 3.0 V uA, lower is better

VariantLP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137
nonen/a
(one way)
Sources

cc3200-launchxl/README.md

Payload throughput board to board kbps, higher is better

VariantLP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137LP-EM-CC35X1
ble-oad-236b61.548 MHz, 1 run
nonen/a
wifi-tcp12,111160 MHz, 1 run
wifi-udp15,973160 MHz, 1 run
(one way)
Sources

cc2340r5/oad/logs/oad-run1.json, cc3200-launchxl/README.md, cc35x1/RESULTS-cc35x1.md

Distance at which packet error rate stays under 1% m, higher is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137
cc1407p-gfsk50k-desk-ha
nonen/a
(one way)
Sources

cc3200-launchxl/README.md

Boot to joined network s, lower is better

VariantLP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
ble-proxy-zigbee-edNot for this chip
esphome-minimal-wifiNot for this chip
esphome-thread1.2160 MHz
esphome-zigbee-ed6.4160 MHz, 1 run
matter-thermostat-commission-alexa
matter-thermostat-commission-apple-home1160 MHz, 1 run
matter-thermostat-commission-google-home
matter-thermostat-commission-home-assistant
matter-wifi-commission5160 MHz, 1 run
nonen/a
thread-child4.55 to 4.56160 MHz
thread-host-rcp-apple-tv3.5 to 4.748 MHz
thread-host-rcp-restart3.4 to 3.748 MHz
thread-leader-alone6 to 101 run
thread-leader-fresh-image81 run
thread-router-to-cc1354p10-leader15.51 run
wifi-ble-provisioning7.13160 MHz
wifi-ble-provisioning-mqtt
wifi-ble-provisioning-wrong-password
wifi-esphome-guest5.3 to 16.9160 MHz
wifi-stored-credentials-reset
wifi-unknown-network-ble-fallbackNot for this chip
wifi-wpa2-2.4g
wifi-wpa2-5g5.74160 MHz
wifi-xiaozhi-boot6.5 to 6.7160 MHz
zigbee-end-device151 run
zigbee-router371 run32.5160 MHz, 1 run
zigbee-router-esphome71 run
zigbee-router-esphome-cc23xx61 run
zigbee-router-esphome-cc27xx5.7 to 6.3
zigbee-router-repeatNot for this chip
zigbee-router-to-cc1354p10-coordinator6.21 run
zigbee-zed-esphome-cc23xx7 to 19
zigbee-zed-zha648 MHz, 1 run
zigbee-zr-dmm-zha1 to 6.648 MHz, 1 run
Sources

board-to-board/thread-two-radios-2026-10-06/README.md, board-to-board/zigbee-cc1354-cc2340/README.md, cc1354p10/thread/README.md, cc2340r5/zigbee/README.md, cc35x1/RESULTS-cc35x1.md, cc35x1/matter/COMPATIBILITY.md, cc35x1/matter/README.md, docs/experiments/2026-10-10-cc35x1-matter-thermostat.md, docs/experiments/2026-10-13-cc2755p10-esphome-fit.md, docs/experiments/2026-10-13-esphome-cc27xx-platform.md, docs/experiments/2026-10-13-esphome-cc35xx-platform.md, esp32c6/proxy/frl-ble-proxy-zigbee.yaml, esp32c6/proxy/frl-esphome-minimal.yaml, esp32c6/proxy/frl-esphome-thread.yaml, esp32c6/zigbee/report_bench.py, ports/wifi-provisioning-ble/README.md

Command to state change, median of 20 ms, lower is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
ble-tooltag-event1,415
ble-tooltag-event-e2e1,641
cc1407p-tag-out-of-range-alarm-ha3,010 (1 run)80 MHz
esphome-api-loopback120160 MHz
esphome-home-assistant
matter-onoff-toggle250 to 830160 MHz
matter-presence-radar-to-alexa
matter-presence-radar-to-apple-home
matter-presence-radar-to-google-home
matter-presence-radar-to-home-assistant
matter-thermostat-setpoint-alexa
matter-thermostat-setpoint-apple-home
matter-thermostat-setpoint-google-home
matter-thermostat-setpoint-home-assistant
mqtt-sensors-request-reply167.4 to 1,206.2160 MHz
nonen/a
thermostat-uart-to-mqtt
zigbee-home-assistant95 to 292 (1 run)
zigbee-home-assistant-esphome87 (1 run)
zigbee-home-assistant-esphome-cc23xx136 (1 run)
zigbee-home-assistant-esphome-cc23xx-router97 (1 run)
zigbee-home-assistant-esphome-cc27xx92.5 (1 run)
zigbee-home-assistant-repaired5,000 to 7,000 (1 run)
zigbee-light-toggle98.5 to 167160 MHz
zigbee-zha-read-sleepy1,574 to 2,79948 MHz
Sources

cc2340r5/zigbee/README.md, cc35x1/matter/COMPATIBILITY.md, cc35x1/matter/README.md, cc35x1/mqtt-test/README.md, docs/experiments/2026-10-10-thermostat-mcu-only.md, docs/experiments/2026-10-13-cc2755p10-esphome-fit.md, docs/experiments/2026-10-13-esphome-cc27xx-platform.md, docs/experiments/2026-10-13-esphome-cc35xx-platform.md, site/data/radio-demos.json

Commands that landed %, higher is better

VariantLP-MSPM0L1306LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
ble-dmm-light-write10048 MHz
ble-tooltag-event100100
ble-tooltag-two-tags100
cc1407p-23-phy-profiles10080 MHz
cc1407p-gfsk50k-ping-from-cc1407p10080 MHz
cc1407p-parent-message-to-handset10080 MHz
cc1407p-spi-bare-no-radio
cc1407p-spi-bare-no-radio-2026-10-24
cc1407p-wisun-fsk-1a-ping-from-cc1407p10080 MHz
cc1407p-wisun-fsk-1b-ping-from-cc1407p10080 MHz
cc1407p-wisun-fsk-2a-ping-from-cc1407p4580 MHz
cc1407p-wisun-fsk-2b-ping-from-cc1407p8580 MHz
cc1407p-wisun-fsk-3-ping-from-cc1407p10080 MHz
cc1407p-wisun-fsk-4a-ping-from-cc1407p2080 MHz
cc1407p-wisun-fsk-4b-ping-from-cc1407p10080 MHz
cc1407p-wisun-fsk-5-ping-from-cc1407p5580 MHz
esphome-api-loopback-24h99.9160 MHz
mqtt-sensors-request-reply100160 MHz
nonen/a
thread-ping-cc1354p10100
thread-ping-cc2340r5100
zigbee-home-assistant100 (1 run)
zigbee-home-assistant-esphome-cc23xx93
zigbee-home-assistant-esphome-cc23xx-router100
zigbee-home-assistant-esphome-cc27xx100
zigbee-home-assistant-repaired100 (1 run)
zigbee-light-toggle100160 MHz
zigbee-zha-read-sleepy10048 MHz
Sources

board-to-board/thread-two-radios-2026-10-06/README.md, cc2340r5/zigbee/README.md, cc35x1/mqtt-test/README.md, docs/experiments/2026-10-13-esphome-cc27xx-platform.md, mspm0g5187/radio/README.md, mspm0l1306/radio-host/README.md, site/data/radio-demos.json

Flash to advertising s, lower is better

VariantLP-EM-CC2340R5LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
default-100ms-interval1.41 run0.91 run
hid-remote-from-dslite-start11.91 run
interval-20ms0.561 run
nimble-legacy-30ms0.452 to 0.889160 MHz
nonen/a
nordic-lbs-nus-100ms-interval0.17 to 0.69
(one way)51 run
Sources

cc2755p10/ble/onair.py

BLE echo round trip, 20 bytes ms, lower is better

VariantLP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-EM-CC2755P10
desk-oled-mac-bleak45.9 to 134.548 MHz
nonen/a
nordic-uart-14-byte-lines24.2
nordic-uart-19-byte-lines-10023.9 to 40.348 MHz
(one way)4529.2
Sources

data/benchmark-suite.json, docs/experiments/2026-10-30-cc2340r5-desk-display.md

BLE write with response, round trip on the Mac clock (the board acts in its write callback before it answers) ms, lower is better

VariantLP-EM-CC2340R5
nordic-lbs-led-1-byte24.3
nordic-lbs-led-gpio-readback29.9 to 59.648 MHz
Sources

Run records are in the notebook, not this copy.

BLE connect and discover services s, lower is better

VariantLP-EM-CC2340R5LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1
data-stream-mac-bleak0.551 run0.55
nimble-bleprph0.615 to 0.748160 MHz
nonen/a
nordic-lbs-nus-mac-bleakNot for this chip
(one way)0.521 run
Sources

cc35x1/README.md

Signal strength at the test spot dBm, higher is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8
ble-mac-1m-47 to -41
cc1407p-foxhunt-beacon--12dbm-lowpa-6280 MHz
cc1407p-foxhunt-beacon--20dbm-lowpa-6580 MHz
cc1407p-foxhunt-beacon--30dbm-lowpa-7880 MHz
cc1407p-foxhunt-beacon--6dbm-lowpa-5680 MHz
cc1407p-foxhunt-beacon-0dbm-lowpa-4680 MHz
cc1407p-foxhunt-beacon-10dbm-lowpa-3580 MHz
cc1407p-foxhunt-beacon-14dbm-highpa-3480 MHz
cc1407p-foxhunt-beacon-4dbm-lowpa-4180 MHz
cc1407p-gfsk50k-915-to-cc1354p10-14 to -1580 MHz
nonen/a
thread-peer-cc1354p10-301 run
thread-peer-cc2340r5-291 run
wifi-esphome-proxy-391 run
zigbee-zed-parent
Sources

board-to-board/thread-two-radios-2026-10-06/README.md, cc1354p10/zigbee-sleepy-sensor/README.md, esp32c6/proxy/README.md, mspm0g5187/radio/README.md, site/data/radio-demos.json

Board to board round trip ms, lower is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC35X1
ble-from-cc2340r5195.4 to 199.8
ble-to-cc1354p10195.4 to 199.8
cc1407p-gfsk50k-30b17.980 MHz
cc1407p-keyfinder-ring-found-gfsk50k2180 MHz
cc1407p-wisun-fsk-1a-30b19.280 MHz
cc1407p-wisun-fsk-1b-30b19.280 MHz
cc1407p-wisun-fsk-2a-30b11.780 MHz
cc1407p-wisun-fsk-2b-30b11.680 MHz
cc1407p-wisun-fsk-3-30b9.280 MHz
cc1407p-wisun-fsk-4a-30b8.280 MHz
cc1407p-wisun-fsk-4b-30b8.180 MHz
cc1407p-wisun-fsk-5-30b7.180 MHz
nonen/a
thread-appletv-leader32 to 144160 MHz
thread-host-mac-via-apple-tv28.5 to 70.948 MHz
thread-host-to-parent26 to 2948 MHz
thread-to-cc1354p1044 to 103
thread-to-cc2340r542 to 47
wifi-ping-mac17160 MHz, 1 run
Sources

board-to-board/ble-cc2340r5-central/README.md, board-to-board/thread-two-radios-2026-10-06/README.md, cc35x1/RESULTS-cc35x1.md, site/data/radio-demos.json

Over-the-air update completed %, higher is better

VariantLP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-EM-CC35X1
ble-mac10048 MHz, 1 run
nonen/a
wifi-ota-http100160 MHz, 1 run
zigbee-home-assistantNot for this chip
(one way)
Sources

cc1354p10/zigbee-sleepy-sensor/README.md, cc2340r5/oad/README.md, cc35x1/RESULTS-cc35x1.md

Packet loss over one hour %, lower is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC35X1
cc1407p-gfsk50k-915080 MHz
cc1407p-gfsk50k-915-350pkt080 MHz
cc1407p-gfsk50k-915-6h080 MHz
cc1407p-gfsk50k-from-cc1354p10-20pkt080 MHz
cc1407p-gfsk50k-spi-sweep-80pkt080 MHz
cc1407p-ofdm-ofdmlr-xlr
cc1407p-sun-oqpsk-rm3-to-cc1354p10Not for this chip
cc1407p-voice-adpcm32k-wisun2b-122frames080 MHz
cc1407p-wisun-fsk-1a-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-1b-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-2a-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-2b-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-2b-to-cc1354p10-260pkt080 MHz
cc1407p-wisun-fsk-3-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-4a-from-cc1354p10-20pkt480 MHz
cc1407p-wisun-fsk-4b-from-cc1354p10-20pkt080 MHz
cc1407p-wisun-fsk-4b-to-cc1354p10-260pkt080 MHz
cc1407p-wisun-fsk-5-from-cc1354p10-20pkt1480 MHz
cc1407p-xlr-to-cc1354p10-slr2500bps2gfskNot for this chip
cc1407p-xlr-to-cc1354p10-slr5kbps2gfskNot for this chip
mqtt0160 MHz
nonen/a
thread-appletv-leader0160 MHz, 1 run
thread-host-rcp-apple-tv0.4448 MHz
zigbee-zed-zha
(one way)
Sources

cc1354p10/zigbee-sleepy-sensor/README.md, cc35x1/mqtt-test/README.md, mspm0g5187/radio/README.md, site/data/radio-demos.json

Stack offered and runs status

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137ESP32-C6-DevKitC-1-N8LP-EM-CC2755P10LP-EM-CC35X1IWRL6432BOOST
bleWorksWorksWorksWorks
ble-proxy-zigbee-edNot for this chip
ble-zephyr-ti-forkNot for this chip
ble-zephyr-upstreamNot for this chip
dmmNot for this chipWorksWorks
matlab-support-package
matterNot for this chipyes
mmwave-l-sdk-hostNot for this chip
nonen/a
ota-bleWorks48 MHz
ota-zigbeeNot for this chip
proprietary
radar-toolbox
sub1ghz
sub1ghz-bare-host-hal
sub1ghz-cc1407pWorks80 MHz
sub1ghz-zephyr-cc140xp-samples
threadNot for this chipWorksyes160 MHz
thread-ftdWorks
thread-rcpWorksWorks
thread-two-radiosWorks
visualizer-mac
wifiNot for this chipWorks
zigbeeWorksWorksyes160 MHz, 1 run
zigbee-threadNot for this chip
zigbee-zha-end-deviceWorks
Sources

board-to-board/thread-two-radios-2026-10-06/README.md, board-to-board/zigbee-cc1354-cc2340/README.md, cc1354p10/README.md, cc1354p10/dmm-zigbee-ble/README.md, cc1354p10/thread/README.md, cc1354p10/zigbee-sleepy-sensor/README.md, cc2340r5/FAQ.md, cc2340r5/matrix/README.md, cc2340r5/oad/logs/2026-11-02/oad-run4.json, cc2340r5/thread/README.md, cc2340r5/zephyr-ti/README.md, cc2340r5/zigbee/README.md, cc2755p10/README.md, cc2755p10/host-cc1407p/README.md, cc3200-launchxl/README.md, cc35x1/README.md, docs/experiments/2026-10-24-cc2755p10-cc1407p-host-on-silicon.md, esp32c6/proxy/frl-ble-proxy-zigbee.yaml, esp32c6/zigbee/README.md, esp32c6/zigbee/zb-thread-merge/main.patch, iwrl6432boost/README.md, mspm0g5187/radio/README.md

Setpoint or state change still works with the internet cable pulled yes/no

VariantLP-EM-CC35X1
alexa
apple-home
google-home
home-assistant
Sources

cc35x1/matter/COMPATIBILITY.md

Controllers that hold one device at once and all still control it controllers, higher is better

VariantLP-EM-CC35X1
(one way)
Sources

cc35x1/matter/COMPATIBILITY.md

Setup again after a reflash and factory reset, per platform s, lower is better

VariantLP-EM-CC35X1
alexa
apple-home
google-home
home-assistant
Sources

cc35x1/matter/COMPATIBILITY.md

Button press on a Bluetooth LE HID device to the host's action (a media key changing the player), median of 20 ms, lower is better

VariantLP-EM-CC2340R5
macos-music
Sources

ports/ble-hid-remote/README.md

Input change on the board to the notification on the central, on the central's clock ms, lower is better

VariantLP-EM-CC2340R5
nordic-lbs-button-uart-stand-in23.8 to 29.848 MHz
Sources

Run records are in the notebook, not this copy.

Bluetooth LE HID device paired and bonded by the host's own settings, no app: time from the host's pairing request to bonded s, lower is better

VariantLP-EM-CC2340R5
macos-just-works1211 run
Sources

Run records are in the notebook, not this copy.

Advertisement callbacks per second a Mac scanner (bleak) reports for the gamepad, 30 s windows 1/s

VariantLP-EM-CC2340R5ESP32-C6-DevKitC-1-N8
arduino-nimble-library4.1 to 9.5
core-ticlang-ble-hogp2 to 3.248 MHz
Sources

Run records are in the notebook, not this copy.

Time for the Mac (bleak) to connect to the gamepad, median of 4 connects ms, lower is better

VariantLP-EM-CC2340R5ESP32-C6-DevKitC-1-N8
arduino-nimble-library11 to 12
core-ticlang-ble-hogp31,341 to 31,39148 MHz
Sources

Run records are in the notebook, not this copy.

Edge AI

A hardware AI engine against the CPU, same model

The MSPM0 G5187's NPU answers 2 to 22 times faster than its own CPU. The SK-TDA4VM's C7x is 13 to 135 times faster than its A72 cores on the models shown.

The same model built for the accelerator and for the CPU, timed per answer.

Open the Edge AI explorer.

acceleratorCPU, same modelyour board
0.1 ms1 ms10 ms100 ms1000 ms
Room occupancy: tiny on the NPU
1.29 ms
Room occupancy: tiny on the CPU
4.94 ms
Room occupancy: small on the NPU
1.45 ms
Room occupancy: small on the CPU
12 ms
Room occupancy: medium on the NPU
2.12 ms
Room occupancy: medium on the CPU
45.6 ms
Room occupancy: large on the NPU
69.4 ms
Room occupancy: large on the CPU
159 ms

Time per answer on the MSPM0 G5187 at 80 MHz, the same model built for the NPU and for the CPU by the same compiler.

acceleratorCPU, same modelyour board
1 ms10 ms100 ms1000 ms10000 ms
Image classification (RegNetX 200MF), C7x
2.89 ms
Image classification (RegNetX 200MF), A72
37.4 ms
Object detection, small (lite), C7x
4.66 ms
Object detection, small (lite), A72
193 ms
Object detection (SSD-Lite MobileNetV2), C7x
6.1 ms
Object detection (SSD-Lite MobileNetV2), A72
438 ms
Segmentation (DeepLabV3-Lite), C7x
7.3 ms
Segmentation (DeepLabV3-Lite), A72
714 ms
Face detection, C7x
11.2 ms
Face detection, A72
1504 ms
Object detection, medium, C7x
11.7 ms
Object detection, medium, A72
1523 ms

SK-TDA4VM: the six fastest of 8 zoo models that ran on both; the rest are in the Linux block.

All rows

Room-occupancy model, one inference ms, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XSK-TDA4VM
npun/an/a
Room occupancy: small, GCC 14 -O33.5196 MHz, 1 run
Room occupancy: small, GCC 14 -Os10.496 MHz, 1 run
Room occupancy: small, GCC -O3, on the A72 cores0.04472000 MHz
Room occupancy: small, plain C -O2, code in flash5.11 to 5.12120 MHz2.75 to 2.76160 MHz
Room occupancy: small, plain C -O2, code in RAM4.31 to 4.32120 MHz
Room occupancy: small, plain C -O39.0580 MHz, 1 run21.9 to 2232 MHz, 1 runNot for this chip9.0480 MHz, 1 run9.05 to 9.180 MHz, 1 run16.648 MHz6.2248 MHz3.696 MHz, 1 run2.17160 MHz1.86160 MHz, 1 run1.25200 MHz, 1 run2.696 MHz1.54160 MHz
Room occupancy: small, plain C -O3, at 32 MHz7.7932 MHz, 1 run
Room occupancy: small, plain C -O3, M33 core1.89150 MHz
Room occupancy: small, plain C -O3, M33 core, GCC 121.93150 MHz
Room occupancy: small, plain C -O3, code in RAM, M33 core1.9150 MHz
Room occupancy: small, plain C -O3, code in RAM, RISC-V core2.09150 MHz
Room occupancy: small, plain C -O3, RISC-V core2.1150 MHz
Room occupancy: small, plain C -O4, code in flash4.83 to 4.85120 MHz
Room occupancy: small, plain C -O4, code in RAM4.11120 MHz
Room occupancy: small, plain C -O4, speed setting 0, code in flash4.93 to 4.94120 MHz
Room occupancy: small, plain C -O4, speed setting 0, code in RAM4.12 to 4.13120 MHz
Room occupancy: small, plain C -O4, speed setting 5, code in flash4.81 to 4.82120 MHz
Room occupancy: small, plain C -O4, speed setting 5, code in RAM4.09120 MHz2.37200 MHz
Room occupancy: small, plain C -Os10.980 MHz, 1 run28.332 MHz, 1 runNot for this chip10.980 MHz, 1 run10.980 MHz, 1 run2048 MHz9.8148 MHz10.496 MHz, 1 run3.82 to 3.83160 MHz2.62160 MHz, 1 run1.86200 MHz, 1 run3.8696 MHz2.32160 MHz
Room occupancy: small, plain C -Os, M33 core4.36150 MHz
Room occupancy: small, plain C -Os, M33 core, GCC 124.35150 MHz
Room occupancy: small, plain C -Os, RISC-V core3.79150 MHz
Room occupancy: small, GCC 12 -O315.3 to 15.548 MHz, 1 run
Room occupancy: small, GCC 12 -Os28 to 28.248 MHz, 1 run
Room occupancy: small, TI neural-network compiler, on the CDE coprocessorNot for this chip
Room occupancy: small, TI neural-network compiler, on the CPU1280 MHz, 1 run1280 MHz, 1 run1280 MHz20.448 MHz2.6120 MHz1.38200 MHz
Room occupancy: small, TI neural-network compiler, on the CPU, at 32 MHz26.6 to 26.732 MHz
Room occupancy: small, TI neural-network compiler, on the CPU, code in RAM2.97120 MHz
Room occupancy: small, TI neural-network compiler, on the CPU, source built for the M336.0548 MHz2.7396 MHz
Room occupancy: small, TI neural-network compiler, on the NPU1.45 to 1.4980 MHz0.205200 MHz
Room occupancy: small, TI neural-network compiler, on the NPU, at 32 MHz3.23 to 3.3332 MHz
Room occupancy: small, ST's GCC 14 -O315.3 to 15.448 MHz, 1 run
Room occupancy: large, GCC 14 -O345.596 MHz, 1 run
Room occupancy: large, GCC 14 -Os16396 MHz, 1 run
Room occupancy: large, GCC -O3, on the A72 cores0.6862000 MHz
Room occupancy: large, plain C -O2, code in flash67.4120 MHz40.1160 MHz
Room occupancy: large, plain C -O3129.480 MHz, 1 runNot for this chipNot for this chip129.480 MHz, 1 run129.480 MHz, 1 run228.948 MHz96.448 MHz45.896 MHz, 1 run27.1 to 27.2160 MHz27.2160 MHz, 1 run18.7200 MHz, 1 run3996 MHz24.4160 MHz
Room occupancy: large, plain C -O3, at 32 MHz116.732 MHz, 1 run
Room occupancy: large, plain C -O3, M33 core27150 MHz
Room occupancy: large, plain C -O3, M33 core, GCC 1227.6150 MHz
Room occupancy: large, plain C -O3, code in RAM, M33 core25.9150 MHz
Room occupancy: large, plain C -O3, code in RAM, RISC-V core27.3150 MHz
Room occupancy: large, plain C -O3, RISC-V core29150 MHz
Room occupancy: large, plain C -O4, code in flash65.4 to 65.5120 MHz
Room occupancy: large, plain C -O4, code in RAMNot for this chip
Room occupancy: large, plain C -O4, speed setting 0, code in flash66.6 to 66.7120 MHz
Room occupancy: large, plain C -O4, speed setting 5, code in flash65.3 to 65.4120 MHz47.9200 MHz
Room occupancy: large, plain C -Os199.480 MHz, 1 runNot for this chipNot for this chip145.380 MHz, 1 run145.3 to 145.480 MHz, 1 run30848 MHz155.248 MHz16396 MHz, 1 run57.1 to 57.2160 MHz39.7160 MHz, 1 run28.6200 MHz, 1 run59.696 MHz36.3160 MHz
Room occupancy: large, plain C -Os, M33 core71.6150 MHz
Room occupancy: large, plain C -Os, M33 core, GCC 1271.6150 MHz
Room occupancy: large, plain C -Os, RISC-V core61.9150 MHz
Room occupancy: large, GCC 12 -O3185.2 to 185.448 MHz, 1 run
Room occupancy: large, GCC 12 -Os414.6 to 414.748 MHz, 1 run
Room occupancy: large, TI neural-network compiler, on the CDE coprocessorNot for this chip
Room occupancy: large, TI neural-network compiler, on the CPU159.180 MHz, 1 run159.280 MHz, 1 run159.280 MHz267.848 MHz30.8120 MHz22.9200 MHz
Room occupancy: large, TI neural-network compiler, on the CPU, at 32 MHz357.4 to 357.532 MHz
Room occupancy: large, TI neural-network compiler, on the CPU, code in RAMNot for this chip
Room occupancy: large, TI neural-network compiler, on the CPU, source built for the M339148 MHz40.696 MHz
Room occupancy: large, TI neural-network compiler, on the NPU69.480 MHz9.53200 MHz
Room occupancy: large, TI neural-network compiler, on the NPU, at 32 MHz161 to 161.132 MHz
Room occupancy: large, ST's GCC 14 -O3185.7 to 185.848 MHz, 1 run
Room occupancy: tiny, GCC 14 -O31.6896 MHz, 1 run
Room occupancy: tiny, GCC 14 -Os3.0796 MHz, 1 run
Room occupancy: tiny, GCC -O3, on the A72 cores0.01742000 MHz
Room occupancy: tiny, plain C -O2, code in flash1.98120 MHz1.23 to 1.25160 MHz
Room occupancy: tiny, plain C -O2, code in RAM1.72 to 1.73120 MHz
Room occupancy: tiny, plain C -O3480 MHz, 1 run9.3 to 9.632 MHz, 1 runNot for this chip3.9180 MHz, 1 run3.92 to 4.0280 MHz, 1 run7.0348 MHz2.3348 MHz1.6696 MHz, 1 run1.12 to 1.14160 MHz0.749160 MHz, 1 run0.489200 MHz, 1 run1.0196 MHz0.602160 MHz
Room occupancy: tiny, plain C -O3, at 32 MHz3.0432 MHz, 1 run
Room occupancy: tiny, plain C -O3, M33 core0.75150 MHz
Room occupancy: tiny, plain C -O3, M33 core, GCC 120.76150 MHz
Room occupancy: tiny, plain C -O3, code in RAM, M33 core0.759150 MHz
Room occupancy: tiny, plain C -O3, code in RAM, RISC-V core0.994150 MHz
Room occupancy: tiny, plain C -O3, RISC-V core0.988150 MHz
Room occupancy: tiny, plain C -O4, code in flash1.82 to 1.83120 MHz
Room occupancy: tiny, plain C -O4, code in RAM1.6120 MHz
Room occupancy: tiny, plain C -O4, speed setting 0, code in flash1.86 to 1.87120 MHz
Room occupancy: tiny, plain C -O4, speed setting 0, code in RAM1.6120 MHz
Room occupancy: tiny, plain C -O4, speed setting 5, code in flash1.8 to 1.81120 MHz
Room occupancy: tiny, plain C -O4, speed setting 5, code in RAM1.58120 MHz0.893 to 0.896200 MHz
Room occupancy: tiny, plain C -Os4.6880 MHz, 1 run12 to 12.232 MHz, 1 runNot for this chip4.6780 MHz, 1 run4.68 to 4.7680 MHz, 1 run8.3748 MHz3.5448 MHz3.0796 MHz, 1 run1.62 to 1.64160 MHz0.965160 MHz, 1 run0.681200 MHz, 1 run1.4196 MHz0.84160 MHz
Room occupancy: tiny, plain C -Os, M33 core1.38150 MHz
Room occupancy: tiny, plain C -Os, M33 core, GCC 121.38150 MHz
Room occupancy: tiny, plain C -Os, RISC-V core1.48150 MHz
Room occupancy: tiny, GCC 12 -O38.16 to 8.3948 MHz, 1 run
Room occupancy: tiny, GCC 12 -Os11 to 11.248 MHz, 1 run
Room occupancy: tiny, TI neural-network compiler, on the CDE coprocessorNot for this chip
Room occupancy: tiny, TI neural-network compiler, on the CPU4.9580 MHz, 1 run4.9380 MHz, 1 run4.94 to 4.9780 MHz7.9648 MHz1.12 to 1.13120 MHz0.499200 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, at 32 MHz10.932 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, code in RAM1.11 to 1.12120 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, source built for the M332.1348 MHz0.95296 MHz
Room occupancy: tiny, TI neural-network compiler, on the NPU1.29 to 1.3280 MHz0.107200 MHz
Room occupancy: tiny, TI neural-network compiler, on the NPU, at 32 MHz2.88 to 2.9432 MHz
Room occupancy: tiny, TI neural-network compiler, on the NPU, container0.106200 MHz
Room occupancy: tiny, ST's GCC 14 -O38.05 to 8.2648 MHz, 1 run
Room occupancy: medium, GCC 14 -O312.696 MHz, 1 run
Room occupancy: medium, GCC 14 -Os42.996 MHz, 1 run
Room occupancy: medium, GCC -O3, on the A72 cores0.1932000 MHz
Room occupancy: medium, plain C -O2, code in flash18.2 to 18.3120 MHz10.1160 MHz
Room occupancy: medium, plain C -O335.380 MHz, 1 run83.7 to 83.832 MHz, 1 runNot for this chip35.380 MHz, 1 run35.380 MHz, 1 run63.248 MHz25.848 MHz12.696 MHz, 1 run7.14 to 7.16160 MHz7.38160 MHz, 1 run5.05200 MHz, 1 run10.596 MHz6.25160 MHz
Room occupancy: medium, plain C -O3, at 32 MHz31.532 MHz, 1 run
Room occupancy: medium, plain C -O3, M33 core6.82150 MHz
Room occupancy: medium, plain C -O3, M33 core, GCC 127150 MHz
Room occupancy: medium, plain C -O3, code in RAM, M33 core6.99150 MHz
Room occupancy: medium, plain C -O3, code in RAM, RISC-V core7.58150 MHz
Room occupancy: medium, plain C -O3, RISC-V core7.5150 MHz
Room occupancy: medium, plain C -O4, code in flash17.6120 MHz
Room occupancy: medium, plain C -O4, code in RAMNot for this chip
Room occupancy: medium, plain C -O4, speed setting 0, code in flash17.9120 MHz
Room occupancy: medium, plain C -O4, speed setting 5, code in flash17.5120 MHz
Room occupancy: medium, plain C -O4, speed setting 5, code in RAM8.38 to 8.39200 MHz
Room occupancy: medium, plain C -Os39.980 MHz, 1 run99.9 to 10032 MHz, 1 runNot for this chip39.980 MHz, 1 run39.9 to 4080 MHz, 1 run83.248 MHz4148 MHz42.996 MHz, 1 run15.1 to 15.2160 MHz10.6160 MHz, 1 run7.61200 MHz, 1 run15.896 MHz9.45160 MHz
Room occupancy: medium, plain C -Os, M33 core18150 MHz
Room occupancy: medium, plain C -Os, M33 core, GCC 1218150 MHz
Room occupancy: medium, plain C -Os, RISC-V core15.2150 MHz
Room occupancy: medium, plain C -Os, with Bluetooth running71.948 MHz
Room occupancy: medium, GCC 12 -O351.6 to 51.848 MHz, 1 run
Room occupancy: medium, GCC 12 -Os109.9 to 11048 MHz, 1 run
Room occupancy: medium, low-power core, network only213.8 to 213.9160 MHz
Room occupancy: medium, TI neural-network compiler, on the CDE coprocessorNot for this chip
Room occupancy: medium, TI neural-network compiler, on the CPU45.680 MHz, 1 run45.680 MHz, 1 run45.6 to 45.780 MHz77.148 MHz9.05 to 9.06120 MHz5.54200 MHz
Room occupancy: medium, TI neural-network compiler, on the CPU, at 32 MHz101 to 101.132 MHz
Room occupancy: medium, TI neural-network compiler, on the CPU, code in RAMNot for this chip
Room occupancy: medium, TI neural-network compiler, on the CPU, source built for the M3324.448 MHz10.896 MHz
Room occupancy: medium, TI neural-network compiler, on the NPU2.12 to 2.1580 MHz0.63200 MHz
Room occupancy: medium, TI neural-network compiler, on the NPU, at 32 MHz4.77 to 4.8432 MHz
Room occupancy: medium, ST's GCC 14 -O352 to 52.148 MHz, 1 run
occ_float_2k-ort-int8-infloat-nnc1.56200 MHz
occ_float_2k-ort-int8-nnc1.61200 MHz
occ_float_2k-ti-ptq-nnc-npu0.205200 MHz
occ_float_30k-ort-int8-infloat-nnc21.3200 MHz
occ_float_30k-ort-int8-nnc21.4200 MHz
occ_float_30k-ti-ptq-nnc-npu9.46200 MHz
occ_float_500-ort-int8-infloat-nnc0.645200 MHz
occ_float_500-ort-int8-nnc0.655200 MHz
occ_float_500-ti-ptq-nnc-npu0.107200 MHz
occ_float_8k-ort-int8-infloat-nnc6.44200 MHz
occ_float_8k-ort-int8-nnc6.45200 MHz
occ_float_8k-ti-ptq-nnc-npu0.63200 MHz
Sources

cc35x1/occ/occ_run.c

Room-occupancy model fits and passes 20 of 20 yes/no

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153ESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65X
Room occupancy: smallWorks80 MHz, 1 runWorks32 MHz, 1 runNot for this chipWorks80 MHz, 1 runWorks80 MHzyes48 MHzyes48 MHzWorks48 MHz, 1 runWorks96 MHz, 1 runWorks160 MHzyes160 MHz, 1 runyes200 MHz, 1 runyes96 MHz, 1 runyes160 MHz
Room occupancy: small, plain C -O4, code in flashyes120 MHz, 1 run
Room occupancy: small, plain C -O4, code in RAMyes120 MHz, 1 run
Room occupancy: small, plain C -O4, speed setting 5, code in RAMyes200 MHz, 1 run
Room occupancy: small, TI neural-network compiler, on the CPUyes120 MHz
Room occupancy: small, TI neural-network compiler, on the CPU, code in RAMyes120 MHz
Room occupancy: largeWorks80 MHz, 1 runNot for this chipNot for this chipWorks80 MHz, 1 runWorks80 MHzyes48 MHzyes48 MHzWorks48 MHz, 1 runWorks96 MHz, 1 runWorks160 MHzyes160 MHz, 1 runyes200 MHz, 1 runyes96 MHz, 1 runyes160 MHz
Room occupancy: large, plain C -O2, code in RAMNot for this chip
Room occupancy: large, plain C -O4, code in flashyes120 MHz, 1 run
Room occupancy: large, plain C -O4, code in RAMNot for this chip
Room occupancy: large, plain C -O4, speed setting 0, code in RAMNot for this chip
Room occupancy: large, plain C -O4, speed setting 5, code in flashyes200 MHz, 1 run
Room occupancy: large, plain C -O4, speed setting 5, code in RAMNot for this chipNot for this chip
Room occupancy: large, TI neural-network compiler, on the CPUyes120 MHz
Room occupancy: large, TI neural-network compiler, on the CPU, code in RAMNot for this chip
Room occupancy: large, under ZephyrWorks96 MHz, 1 run
Room occupancy: tinyWorks80 MHz, 1 runWorks32 MHz, 1 runNot for this chipWorks80 MHz, 1 runWorks80 MHzyes48 MHzyes48 MHzWorks48 MHz, 1 runWorks96 MHz, 1 runWorks160 MHzyes160 MHz, 1 runyes200 MHz, 1 runyes96 MHz, 1 runyes160 MHz
Room occupancy: tiny, plain C -O4, code in flashyes120 MHz, 1 run
Room occupancy: tiny, plain C -O4, code in RAMyes120 MHz, 1 run
Room occupancy: tiny, plain C -O4, speed setting 5, code in RAMyes200 MHz, 1 run
Room occupancy: tiny, TI neural-network compiler, on the CPUyes120 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, code in RAMyes120 MHz
Room occupancy: mediumWorks80 MHz, 1 runWorks32 MHz, 1 runNot for this chipWorks80 MHz, 1 runWorks80 MHzyes48 MHzyes48 MHzWorks48 MHz, 1 runWorks96 MHz, 1 runWorks160 MHzyes160 MHz, 1 runyes200 MHz, 1 runyes96 MHz, 1 runyes160 MHz
Room occupancy: medium, plain C -O2, code in RAMNot for this chip
Room occupancy: medium, plain C -O4, code in flashyes120 MHz, 1 run
Room occupancy: medium, plain C -O4, code in RAMNot for this chip
Room occupancy: medium, plain C -O4, speed setting 0, code in RAMNot for this chip
Room occupancy: medium, plain C -O4, speed setting 5, code in RAMNot for this chipyes200 MHz, 1 run
Room occupancy: medium, plain C -Os, with Bluetooth runningyes48 MHz
Room occupancy: medium, low-power core, whole programNot for this chip
Room occupancy: medium, TI neural-network compiler, on the CPUyes120 MHz
Room occupancy: medium, TI neural-network compiler, on the CPU, code in RAMNot for this chip
Sources

cc35x1/occ/occ_run.c, docs/experiments/2026-10-11-frdm-mcxa153-model-under-zephyr.md

Room-occupancy model: weights plus model code (plus the NNC runtime it links), from the linker map B, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-AM13E230LP-EM-CC2755P10LAUNCHXL-F28P65X
character_recognition66.4 kB1 run
character_recognition_npu71.4 kB1 run
ecg_anomaly_detection_ai63.5 kB1 run
ecg_anomaly_detection_ai_npu86.9 kB1 run
fall_detection_ai12.6 kB1 run
fall_detection_ai_npu13.8 kB1 run
motor_fan_blade_fault_ai1.4 kB1 run
motor_fan_blade_fault_ai_npu2.1 kB1 run
Room occupancy: small, plain C -O2, code in flash5.3 kB1 run
Room occupancy: small, plain C -O2, code in RAM5.3 kB1 run
Room occupancy: small, plain C -O39.5 kB1 run9.5 kB1 run9.5 kB1 run9.5 kB1 run9.5 kB1 run10.1 kB1 run10.1 kB1 run10.1 kB1 run
Room occupancy: small, plain C -O4, code in flash4.9 kB1 run
Room occupancy: small, plain C -O4, code in RAM4.9 kB1 run
Room occupancy: small, plain C -O4, speed setting 0, code in flash4.9 kB1 run
Room occupancy: small, plain C -O4, speed setting 0, code in RAM4.9 kB1 run
Room occupancy: small, plain C -O4, speed setting 5, code in flash5.4 kB1 run
Room occupancy: small, plain C -O4, speed setting 5, code in RAM5.4 kB1 run5.4 kB1 run
Room occupancy: small, plain C -Os3.1 kB1 run3.1 kB1 run3.1 kB1 run3.1 kB1 run3.1 kB1 run3.1 kB1 run3.1 kB1 run3.1 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU5.3 kB1 run5.3 kB1 run5.3 kB1 run5.3 kB1 run10.4 kB1 run12.5 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU, code in RAM10.4 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU, source built for the M3312 kB1 run12 kB1 run
Room occupancy: small, TI neural-network compiler, on the NPU6.5 kB1 run9 kB1 run
Room occupancy: large, plain C -O2, code in flash67.1 kB1 run
Room occupancy: large, plain C -O340.7 kB1 run40.7 kB1 run40.7 kB1 run40.7 kB1 run40.8 kB1 run40.8 kB1 run40.8 kB1 run
Room occupancy: large, plain C -O4, code in flash66.8 kB1 run
Room occupancy: large, plain C -O4, speed setting 0, code in flash66.8 kB1 run
Room occupancy: large, plain C -O4, speed setting 5, code in flash67.2 kB1 run67.2 kB1 run
Room occupancy: large, plain C -Os34.6 kB1 run34.6 kB1 run34.6 kB1 run34.6 kB1 run34.6 kB1 run34.6 kB1 run34.6 kB1 run
Room occupancy: large, TI neural-network compiler, on the CPU37.9 kB1 run37.9 kB1 run37.9 kB1 run37.9 kB1 run73.4 kB1 run45.1 kB1 run
Room occupancy: large, TI neural-network compiler, on the CPU, source built for the M3343.7 kB1 run43.7 kB1 run
Room occupancy: large, TI neural-network compiler, on the NPU59.8 kB1 run62.5 kB1 run
Room occupancy: tiny, plain C -O2, code in flash2.8 kB1 run
Room occupancy: tiny, plain C -O2, code in RAM2.8 kB1 run
Room occupancy: tiny, plain C -O36.3 kB1 run6.3 kB1 run6.3 kB1 run6.3 kB1 run6.3 kB1 run6.7 kB1 run6.7 kB1 run6.7 kB1 run
Room occupancy: tiny, plain C -O4, code in flash2.5 kB1 run
Room occupancy: tiny, plain C -O4, code in RAM2.5 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 0, code in flash2.5 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 0, code in RAM2.5 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 5, code in flash2.9 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 5, code in RAM2.9 kB1 run2.9 kB1 run
Room occupancy: tiny, plain C -Os1.7 kB1 run1.7 kB1 run1.7 kB1 run1.7 kB1 run1.7 kB1 run1.7 kB1 run1.7 kB1 run1.7 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU2.6 kB1 run2.6 kB1 run2.6 kB1 run2.6 kB1 run5 kB1 run7 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU, code in RAM5 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU, source built for the M336.5 kB1 run6.5 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the NPU4.7 kB1 run7.1 kB1 run
Room occupancy: medium, plain C -O2, code in flash18.8 kB1 run
Room occupancy: medium, plain C -O316.6 kB1 run16.6 kB1 run16.6 kB1 run16.6 kB1 run16.6 kB1 run16.6 kB1 run16.6 kB1 run16.6 kB1 run
Room occupancy: medium, plain C -O4, code in flash18.5 kB1 run
Room occupancy: medium, plain C -O4, speed setting 0, code in flash18.5 kB1 run
Room occupancy: medium, plain C -O4, speed setting 5, code in flash18.9 kB1 run
Room occupancy: medium, plain C -O4, speed setting 5, code in RAM18.9 kB1 run
Room occupancy: medium, plain C -Os10.1 kB1 run10.1 kB1 run10.1 kB1 run10.1 kB1 run10.1 kB1 run10 kB1 run10 kB1 run10 kB1 run
Room occupancy: medium, TI neural-network compiler, on the CPU12.6 kB1 run12.6 kB1 run12.6 kB1 run12.6 kB1 run24.6 kB1 run20.5 kB1 run
Room occupancy: medium, TI neural-network compiler, on the CPU, source built for the M3319.2 kB1 run19.2 kB1 run
Room occupancy: medium, TI neural-network compiler, on the NPU14 kB1 run16.6 kB1 run
Sources

data/ai-model-sizes.csv, docs/experiments/2026-10-09-mspm0g5187-npu-vs-cpu.md

Room-occupancy model: scratch RAM (activation buffers), from the linker map B, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-AM13E230LP-EM-CC2755P10LAUNCHXL-F28P65X
character_recognition8 kB1 run
character_recognition_npu10.7 kB1 run
ecg_anomaly_detection_ai18 kB1 run
ecg_anomaly_detection_ai_npu12.9 kB1 run
fall_detection_ai9601 run
fall_detection_ai_npu7321 run
motor_fan_blade_fault_ai1 kB1 run
motor_fan_blade_fault_ai_npu8721 run
Room occupancy: small, plain C -O2, code in flash1.2 kB1 run
Room occupancy: small, plain C -O2, code in RAM1.2 kB1 run
Room occupancy: small, plain C -O31.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run
Room occupancy: small, plain C -O4, code in flash1.2 kB1 run
Room occupancy: small, plain C -O4, code in RAM1.2 kB1 run
Room occupancy: small, plain C -O4, speed setting 0, code in flash1.2 kB1 run
Room occupancy: small, plain C -O4, speed setting 0, code in RAM1.2 kB1 run
Room occupancy: small, plain C -O4, speed setting 5, code in flash1.2 kB1 run
Room occupancy: small, plain C -O4, speed setting 5, code in RAM1.2 kB1 run1.2 kB1 run
Room occupancy: small, plain C -Os1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU1.5 kB1 run1.5 kB1 run1.5 kB1 run1.5 kB1 run3.1 kB1 run1.5 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU, code in RAM3.1 kB1 run
Room occupancy: small, TI neural-network compiler, on the CPU, source built for the M331.5 kB1 run1.5 kB1 run
Room occupancy: small, TI neural-network compiler, on the NPU7001 run7001 run
Room occupancy: large, plain C -O2, code in flash4.2 kB1 run
Room occupancy: large, plain C -O34.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run
Room occupancy: large, plain C -O4, code in flash4.2 kB1 run
Room occupancy: large, plain C -O4, speed setting 0, code in flash4.2 kB1 run
Room occupancy: large, plain C -O4, speed setting 5, code in flash4.2 kB1 run4.2 kB1 run
Room occupancy: large, plain C -Os4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run4.1 kB1 run
Room occupancy: large, TI neural-network compiler, on the CPU7 kB1 run7 kB1 run7 kB1 run7 kB1 run12.2 kB1 run7 kB1 run
Room occupancy: large, TI neural-network compiler, on the CPU, source built for the M337 kB1 run7 kB1 run
Room occupancy: large, TI neural-network compiler, on the NPU4.6 kB1 run4.6 kB1 run
Room occupancy: tiny, plain C -O2, code in flash1.2 kB1 run
Room occupancy: tiny, plain C -O2, code in RAM1.2 kB1 run
Room occupancy: tiny, plain C -O31.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run
Room occupancy: tiny, plain C -O4, code in flash1.2 kB1 run
Room occupancy: tiny, plain C -O4, code in RAM1.2 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 0, code in flash1.2 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 0, code in RAM1.2 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 5, code in flash1.2 kB1 run
Room occupancy: tiny, plain C -O4, speed setting 5, code in RAM1.2 kB1 run1.2 kB1 run
Room occupancy: tiny, plain C -Os1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run1.1 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU1.3 kB1 run1.3 kB1 run1.3 kB1 run1.3 kB1 run1.8 kB1 run1.3 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU, code in RAM1.8 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the CPU, source built for the M331.3 kB1 run1.3 kB1 run
Room occupancy: tiny, TI neural-network compiler, on the NPU5481 run5481 run
Room occupancy: medium, plain C -O2, code in flash2.2 kB1 run
Room occupancy: medium, plain C -O32.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run
Room occupancy: medium, plain C -O4, code in flash2.2 kB1 run
Room occupancy: medium, plain C -O4, speed setting 0, code in flash2.2 kB1 run
Room occupancy: medium, plain C -O4, speed setting 5, code in flash2.2 kB1 run
Room occupancy: medium, plain C -O4, speed setting 5, code in RAM2.2 kB1 run
Room occupancy: medium, plain C -Os2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run2.1 kB1 run
Room occupancy: medium, TI neural-network compiler, on the CPU3.5 kB1 run3.5 kB1 run3.5 kB1 run3.5 kB1 run6.1 kB1 run3.5 kB1 run
Room occupancy: medium, TI neural-network compiler, on the CPU, source built for the M333.5 kB1 run3.5 kB1 run
Room occupancy: medium, TI neural-network compiler, on the NPU1.4 kB1 run1.4 kB1 run
Sources

data/ai-model-sizes.csv, docs/experiments/2026-10-09-mspm0g5187-npu-vs-cpu.md

BitNetMCU handwritten digit, one inference cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-EM-CC2755P10
12k-gcc12-o3-96mhz245k96 MHz, 1 run
12k-ticlang-o3-32mhz430k32 MHz413k32 MHz430k32 MHz430k32 MHz
1k-gcc-o3-150mhz-m3351k150 MHz
1k-gcc-o3-150mhz-riscv57k150 MHz
1k-gcc12-o3-96mhz44k96 MHz, 1 run
1k-ticlang-o3-160mhz36k160 MHz
1k-ticlang-o3-32mhz89k32 MHz80k32 MHz89k32 MHz89k32 MHz
1k-ticlang-o3-48mhz100k48 MHz45k48 MHz
1k-ticlang-o3-96mhz36k96 MHz
cnn-16small-gcc12-o3-96mhz332k96 MHz, 1 run
cnn-64-c2000-o4s5-120mhz-flash2.9M120 MHz, 1 run
cnn-64-c2000-o4s5-120mhz-ram2.55M120 MHz, 1 run
cnn16-small-ticlang-o3-32mhz661k32 MHz650k32 MHz661k32 MHz661k32 MHz
cnn64-gcc-o3-150mhz-m331.44M150 MHz
cnn64-gcc-o3-150mhz-riscv1.26M150 MHz
cnn64-gcc12-o3-96mhz1.3M96 MHz, 1 run
cnn64-ticlang-o3-160mhz1.5M160 MHz
cnn64-ticlang-o3-32mhz2.64M32 MHz2.65M32 MHz2.64M32 MHz2.64M32 MHz
cnn64-ticlang-o3-32mhz-sramloops2.95M32 MHz
cnn64-ticlang-o3-48mhz2.76M48 MHz1.13M48 MHz
cnn64-ticlang-o3-80mhz2.75M80 MHz2.75M80 MHz2.75M80 MHz
cnn64-ticlang-o3-96mhz1.09M96 MHz
(one way)
Sources

ports/bitnetmcu/README.md

Vendor AI example, one inference ms, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-AM263P
arc_fault11.1120 MHz, 1 run41.532 MHz, 1 run0.648200 MHz, 1 run2.93400 MHz
arc_fault-xip3.11400 MHz
arc_fault-xip-l2-64k2.93400 MHz
bitnetmcu-1k1024 MHz, 1 run
bitnetmcu-cnn16Not for this chip
blower_imbalance6.25120 MHz, 1 run2332 MHz, 1 run0.401200 MHz, 1 run1.72400 MHz
blower_imbalance-xip1.79400 MHz
blower_imbalance-xip-l2-64k1.72400 MHz
character_recognition91.980 MHz18.1160 MHz, 1 run
character_recognition_npu10.180 MHz
deploy-and-live-preview-examples
ecg_anomaly_detection_ai496.580 MHz
ecg_anomaly_detection_ai_npu96.680 MHz
fall_detection_ai8.5780 MHz
fall_detection_ai_npu1.4480 MHz
fan_blade_anomalydetection23.6120 MHz, 1 run5.43200 MHz, 1 run2.95400 MHz
fan_blade_anomalydetection-xip4.96400 MHz
fan_blade_anomalydetection-xip-l2-64k3.01400 MHz
forecasting_pmsm_rotor_temp0.619120 MHz, 1 run0.172200 MHz, 1 run0.0623400 MHz
forecasting_pmsm_rotor_temp-xip0.0721400 MHz
forecasting_pmsm_rotor_temp-xip-l2-64k0.0623400 MHz
gearbox_fault_diagnosis_ai37.132 MHz
gearbox_fault_diagnosis_ai_npu9.6532 MHz
generic_timeseries_anomalydetection37.6120 MHz, 1 run67.132 MHz, 1 run10.6200 MHz, 1 run4.72400 MHz
generic_timeseries_anomalydetection-xip6.52400 MHz
generic_timeseries_anomalydetection-xip-l2-64k4.74400 MHz
generic_timeseries_classification41.532 MHz, 1 run0.653200 MHz, 1 run3.39400 MHz
generic_timeseries_classification-xip3.49400 MHz
generic_timeseries_classification-xip-l2-64k3.39400 MHz
generic_timeseries_forecasting8.09120 MHz, 1 run1032 MHz, 1 run1.92200 MHz, 1 run0.914400 MHz
generic_timeseries_forecasting-xip7.17400 MHz
generic_timeseries_forecasting-xip-l2-64k6.29400 MHz
generic_timeseries_regression0.216120 MHz, 1 run0.48932 MHz, 1 run0.0887200 MHz, 1 run0.704400 MHz
generic_timeseries_regression-xip1.5400 MHz
generic_timeseries_regression-xip-l2-64k0.712400 MHz
hello_world_ai125.2 to 126.732 MHz, 1 run126.232 MHz126.332 MHz
hello_world_ai_npu1332 MHz
hvac_indoor_temp_forecast1.04120 MHz, 1 run0.315200 MHz, 1 run0.117400 MHz
hvac_indoor_temp_forecast-xip0.147400 MHz
hvac_indoor_temp_forecast-xip-l2-64k0.117400 MHz
jerk_detection
motor_bearing_fault_anomaly_detection_ai13.180 MHz, 1 run
motor_bearing_fault_detection_ai175.7 to 176.180 MHz, 1 run106.880 MHz
motor_bearing_fault_detection_ai_npu1.2880 MHz
motor_fan_blade_fault_ai1.7680 MHz
motor_fan_blade_fault_ai_npu0.18280 MHz
motor_fault6.26120 MHz, 1 run23.432 MHz, 1 run0.412200 MHz, 1 run0.96400 MHz
motor_fault-xip0.96400 MHz
motor_fault-xip-l2-64k0.96400 MHz
pir_detection_ai65.332 MHz, 1 run
torque_measurement5.6120 MHz, 1 run16.732 MHz, 1 run2.59200 MHz, 1 run1.2400 MHz
torque_measurement-xip1.64400 MHz
torque_measurement-xip-l2-64k1.2400 MHz
wakeword-frame-o027.580 MHz, 1 run
wakeword-frame-o224.180 MHz, 1 run
wakeword-lpc-frame-o28.580 MHz, 1 run
wakeword-npu-run-o211.280 MHz, 1 run
washing_machine_load_weighing24.9120 MHz, 1 run31200 MHz, 1 run15.2400 MHz
washing_machine_load_weighing-xip16.3400 MHz
washing_machine_load_weighing-xip-l2-64k15.2400 MHz
waveform_classifier_ai54.3 to 54.480 MHz12.4160 MHz, 1 run
waveform_classifier_ai_npu5.86 to 6.0280 MHz
(one way)Not for this chipNot for this chip
Sources

am13e230/tools/build_ai.py, cc2755p10/README.md, data/benchmark-suite.json, docs/experiments/2026-10-08-mspm0c1104-1kb-ram.md

Presence model: windows classed right in a timed room protocol (empty, person still, person moving, empty; first 20 s of each phase not scored) %, higher is better

VariantLP-EM-CC35X1
presence-lab-moving-variance
presence-lab-pca
presence-lab-ti-model
wifi-csi-allNot for this chip
wifi-csi-empty0.7160 MHz, 1 run
wifi-csi-empty-guest-33min99.5160 MHz, 1 run
wifi-csi-empty-overnight100160 MHz, 1 run
wifi-csi-movingNot for this chip
wifi-csi-still
wifi-presence-and-2x2-both84.2160 MHz, 1 run
wifi-presence-and-2x385.1160 MHz, 1 run
wifi-presence-empty-pass-2x2-both0160 MHz, 1 run
wifi-presence-empty-pass-2x30160 MHz, 1 run
wifi-presence-or-2x2-both34.4160 MHz, 1 run
wifi-presence-or-2x334.6160 MHz, 1 run
wifi-presence-radar-2x2-both84.2160 MHz, 1 run
wifi-presence-radar-2x385.1160 MHz, 1 run
wifi-presence-radar-confirms-wifi-2x2-both78160 MHz, 1 run
wifi-presence-radar-confirms-wifi-2x378.3160 MHz, 1 run
wifi-presence-wifi-2x2-both34.4160 MHz, 1 run
wifi-presence-wifi-2x334.6160 MHz, 1 run
Sources

docs/experiments/2026-10-09-cc35x1-wifi-csi-presence.md

Presence model: host asks for the stream to the first result s, lower is better

VariantLP-EM-CC35X1
matter-csi-join-to-first-window6160 MHz, 1 run
matter-csi-window-period2.08 to 2.2160 MHz, 1 run
wifi-csi7.4160 MHz, 1 run
Sources

docs/experiments/2026-10-09-cc35x1-wifi-csi-presence.md, docs/experiments/2026-10-12-cc35x1-matter-plus-wifi-presence.md

Deep-learning model: one inference, median wall time ms, lower is better

VariantSK-TDA4VM
deeplabv3-mobv2-ade20k-mlperf-512-tflitert-tidl-c7x12.1
Segmentation (DeepLabV3-Lite), ONNX Runtime, on the A72 cores714.1
Segmentation (DeepLabV3-Lite), ONNX Runtime, on the C7x7.3
Segmentation (DeepLabV3-Lite, 768x432), ONNX Runtime, on the A72 cores900.5
Segmentation (DeepLabV3-Lite, 768x432), ONNX Runtime, on the C7x11.8
mobilenetv1-mlperf-224-tflitert-tidl-c7x2.17
Image classification (RegNetX 200MF), ONNX Runtime, on the A72 cores37.4
Image classification (RegNetX 200MF), ONNX Runtime, on the C7x2.89
Object detection (SSD-Lite MobileNetV2), ONNX Runtime, on the A72 cores438.5
Object detection (SSD-Lite MobileNetV2), ONNX Runtime, on the C7x6.1
ssdlite-mobdet-320-tflitert-tidl-c7x6.4
tvm-cl-3090-mobilenetv2-tv-tvmdlr2.93 to 3.41
tvm-od-5120-ssdlite-mobdet-dsp-coco-320x320-tvmdlr13 to 13.3
tvm-ss-5710-deeplabv3lite-mobv2-cocoseg21-512x512-tvmdlr8.85 to 9.08
Object detection, small (lite), ONNX Runtime, on the A72 cores193
Object detection, small (lite), ONNX Runtime, on the C7x4.66
Object detection, medium, ONNX Runtime, on the A72 cores1,523.1
Object detection, medium, ONNX Runtime, on the C7x11.7
Face detection, ONNX Runtime, on the A72 cores1,504
Face detection, ONNX Runtime, on the C7x11.2
Pose estimation, ONNX Runtime, on the A72 cores1,767
Pose estimation, ONNX Runtime, on the C7x13.8
Sources

Run records are in the notebook, not this copy.

Whole vision graph: decode, preprocess, inference, postprocess, sink fps, higher is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
file-pose-encode17.8 to 18.1
file-pose-encode-video0-30fps301 run
file-ssd-lite-512-zerocopy-fakesink91.61 run
file-yolox-nano-416-plain-fakesink56.2
file-yolox-nano-416-zerocopy-fakesink110.8
kmscube-1080p60-llvmpipe301 run
three-pipelines-yolox-c7x216.41 run
two-pipelines-yolox-plus-ssd-c7x163.61 run
two-pipelines-yolox-twice-c7x182.41 run
videotestsrc-ball-720p30-kmssink1.841 run
videotestsrc-smpte-1080p60-kmssink5.921 run
videotestsrc-smpte-720p60-kmssink27.11 run
Sources

am62l-evm/README.md

TI's wake-word model ("OK Kilby"): utterances detected, of the number said (20 unless the conditions say 10), one Mac voice at one level hits, higher is better

VariantLP-MSPM0G5187
daniel-live-mic-vol70
daniel-replay-m20dbfs2080 MHz
fred-replay-m20dbfs2080 MHz
karen-replay-m20dbfs2080 MHz
kathy-replay-m20dbfs2080 MHz
ralph-replay-m20dbfs2080 MHz
samantha-live-mic-vol70
samantha-replay-m10dbfs1080 MHz
samantha-replay-m20dbfs2080 MHz
samantha-replay-m30dbfs1080 MHz
samantha-replay-m3dbfs1080 MHz
samantha-replay-m40dbfs1080 MHz
Sources

mspm0g5187/wakeword/run_live.sh

TI's wake-word model: WAKE events in 10 minutes of silence or of other sentences spoken by the Mac per 10 min, lower is better

VariantLP-MSPM0G5187
live-silence
live-speech
replay-silence080 MHz, 1 run
replay-speech-near-miss1880 MHz, 1 run
replay-speech-plain080 MHz, 1 run
Sources

mspm0g5187/wakeword/run_live.sh

TI's wake-word model: end of the spoken phrase to the board's WAKE line, median s, lower is better

VariantLP-MSPM0G5187
daniel-replay-m20dbfs0.0380 MHz
fred-replay-m20dbfs0.3680 MHz
karen-replay-m20dbfs0.4980 MHz
kathy-replay-m20dbfs0.4480 MHz
ralph-replay-m20dbfs0.3880 MHz
samantha-live-mic-vol70
samantha-replay-m20dbfs0.1880 MHz
Sources

mspm0g5187/wakeword/run_live.sh

Voice assistant turn: end of the spoken question to the board's first reply audio, median s, lower is better

VariantLP-EM-CC35X1
xiaozhi-claude-haiku2.47 to 2.67160 MHz
Sources

Run records are in the notebook, not this copy.

TI's wake-word example as built for the board's own microphone: flash and RAM (text plus data, bss) from the linker size report B, lower is better

VariantLP-MSPM0G5187
flash-i2s-o266.8 kB80 MHz, 1 run
flash-shipped59.7 kB1 run
ram-i2s-o225 kB80 MHz, 1 run
ram-shipped24.4 kB1 run
Sources

Run records are in the notebook, not this copy.

Samples a second the wake-word example's audio input really delivers (the model was trained at 8,000), counted by the board against the Mac clock Hz, higher is better

VariantLP-MSPM0G5187
adc-shipped-o26,63080 MHz, 1 run
i2s-microphone7,74980 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

One block of a fixed-weight DSP graph on the TinyEngine NPU or the CPU (4 channels x 256 outputs unless the variant says) ms, lower is better

VariantLP-MSPM0G5187
bank8-c-hand-8ch22.780 MHz, 1 run
bank8-nnc-cpu36.780 MHz, 1 run
bank8-nnc-npu0.96780 MHz, 1 run
bank8_trip-nnc-cpu33.380 MHz, 1 run
bank8_trip-nnc-npu0.67780 MHz, 1 run
bank8_trip2-nnc-cpu33.380 MHz, 1 run
bank8_trip2-nnc-npu0.69480 MHz, 1 run
bank8_trip3-nnc-cpu33.780 MHz, 1 run
bank8_trip3-nnc-npu0.71380 MHz, 1 run
bank8_trips-nnc-cpu33.380 MHz, 1 run
bank8_trips-nnc-npu0.67780 MHz, 1 run
dft64-nnc-cpu0.8380 MHz, 1 run
dft64-nnc-npu0.19580 MHz, 1 run
fir64-c-hand-1ch3.2980 MHz, 1 run
fir64-c-hand-4ch12.280 MHz, 1 run
fir64-nnc-cpu16.880 MHz, 1 run
fir64-nnc-npu0.56680 MHz, 1 run
fir64_dec4-nnc-cpu4.380 MHz, 1 run
fir64_dec4-nnc-npu0.18580 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

NPU time against the same graph as NNC CPU code, or against hand-written C x, higher is better

VariantLP-MSPM0G5187
bank8-npu-vs-c-hand-8ch23.5 calc.
bank8-npu-vs-nnc-cpu38 calc.
bank8_trip-npu-vs-nnc-cpu49.1 calc.
bank8_trip2-npu-vs-nnc-cpu48 calc.
bank8_trip3-npu-vs-nnc-cpu47.2 calc.
bank8_trips-npu-vs-nnc-cpu49.1 calc.
dft64-npu-vs-nnc-cpu4.3 calc.
fir64-npu-vs-c-hand-4ch21.6 calc.
fir64-npu-vs-nnc-cpu29.7 calc.
fir64-npu4ch-vs-c-hand-1ch5.8 calc.
fir64_dec4-npu-vs-nnc-cpu23.3 calc.
Sources

Run records are in the notebook, not this copy.

Signal to error ratio of the 8-bit graph against the float reference dB, higher is better

VariantLP-MSPM0G5187
fir64-ch0-total34.7 calc.
fir64-ch0-weights-only44.3 calc.
fir64-ch1-total34.6 calc.
fir64-ch1-weights-only53.5 calc.
fir64-ch2-total35.1 calc.
fir64-ch2-weights-only42.6 calc.
fir64-ch3-total35.4 calc.
fir64-ch3-weights-only47 calc.
Sources

Run records are in the notebook, not this copy.

Images whose output equals the reference count, higher is better

VariantLP-MSPM0G5187
16-images-vs-reference1680 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Flash text of the whole image with harness and NPU library B, lower is better

VariantLP-MSPM0G5187
bank8-nnc-cpu-ram20.4 kB1 run
bank8-nnc-npu-flash8.3 kB1 run
bank8-nnc-npu-ram8.1 kB1 run
bank8_trip-nnc-npu-flash6.9 kB1 run
bank8_trip-nnc-npu-ram6.1 kB1 run
dft64-nnc-npu-flash9.9 kB1 run
dft64-nnc-npu-ram2.6 kB1 run
fir64-nnc-npu-flash7.9 kB1 run
fir64-nnc-npu-ram4.9 kB1 run
fir64_dec4-nnc-npu-flash6.1 kB1 run
fir64_dec4-nnc-npu-ram3.4 kB1 run
Sources

mspm0g5187/npu-dsp/build.sh

Energy per block on the NPU against the CPU uJ, lower is better

VariantLP-MSPM0G5187
(one way)
Sources

mspm0g5187/npu-dsp/README.md

Streaming with the taps-1 overlap carried between blocks works yes/no

VariantLP-MSPM0G5187
(one way)
Sources

mspm0g5187/npu-dsp/README.md

Share of CPU time left free while the NPU runs a block %, higher is better

VariantLP-MSPM0G5187
(one way)
Sources

mspm0g5187/npu-dsp/README.md

The same graph on the LP-AM13E230 yes/no

VariantLP-MSPM0G5187
(one way)
Sources

mspm0g5187/npu-dsp/README.md

Repeat runs without a reflash count, higher is better

VariantLP-MSPM0G5187
(one way)
Sources

mspm0g5187/npu-dsp/README.md

Instructions per generated token (emulator count) instructions, lower is better

VariantLP-MSPM33C321A
tinystories260k-int8-gs4-o2-emulator4.81M to 5.14M1 run
Sources

Run records are in the notebook, not this copy.

Deepest stack use while generating B, lower is better

VariantLP-MSPM33C321A
tinystories260k-int8-gs4-o2-emulator1.7 kB1 run
Sources

ports/llama2c/README.md

Generated token ids equal to a reference build (greedy, temperature 0) count, higher is better

VariantLP-MSPM33C321A
int8-m33-emulator-vs-mac-greedy1281 run
int8-m33-emulator-vs-mac-seed42391 run
int8-port-vs-runq-c-mac128
int8-vs-float32-mac-greedy1281 run
Sources

ports/llama2c/tools/check_host.sh

Tokens per second of a small language model tokens/s, higher is better

VariantLP-MSPM33C321A
llama2c-on-edumkii-screen-display-on19.1160 MHz, 1 run
llama2c-on-edumkii-screen-drawing-excluded21.1160 MHz, 1 run
tinystories260k-int8-gs4-o2-board21.2160 MHz
tinystories260k-int8-gs4-o2-estimate-160mhz25.8 calc.
tinystories260k-weights-in-qspi
Sources

ports/llama2c/README.md, ports/llama2c/run_board.py

Seconds between stories when the model writes to the screen unattended s

VariantLP-MSPM33C321A
llama2c-on-edumkii-screen30160 MHz, 1 run
Sources

ports/llama2c/README.md

The S2 button starts a new story on the screen yes/no

VariantLP-MSPM33C321A
llama2c-on-edumkii-screen
Sources

ports/llama2c/README.md

Model from the training tool's own file, one inference, plain C from tools/byom ms, lower is better

VariantLP-MSPM0G5187LP-AM13E230
dtree-c-o30.0014 to 0.0022200 MHz
forest-c-o30.0243 to 0.0349200 MHz
occ_float_2k-c-o31.19200 MHz
occ_float_2k-fast-c-o30.846200 MHz
occ_float_2k-fastreg-c-o30.938200 MHz
occ_float_30k-c-o322.5200 MHz
occ_float_30k-fast-c-o313.6200 MHz
occ_float_30k-fastreg-c-o314.7200 MHz
occ_float_500-c-o30.392200 MHz
occ_float_500-fast-c-o329.1 to 33.780 MHz0.302200 MHz
occ_float_500-fastreg-c-o30.344200 MHz
occ_float_8k-c-o35.58200 MHz
occ_float_8k-fast-c-o33.7200 MHz
occ_float_8k-fastreg-c-o33.93200 MHz
occ_int8own_2k-c-o31.23200 MHz
occ_int8own_30k-c-o320200 MHz
occ_int8own_30k-cmsis-c-o38.54200 MHz
occ_int8own_500-c-o30.447200 MHz
occ_int8own_500-cmsis-c-o30.491200 MHz
occ_int8own_8k-c-o35.39200 MHz
occ_int8own_8k-cmsis-c-o32.89200 MHz
occ_tflite_float-fast-c-o30.304200 MHz
resnet8-float-c-o3Not for this chip
resnet8-int8own-c-o3444.6200 MHz
resnet8-int8own-cmsis-c-o3201.6200 MHz
xgb-c-o31.01 to 1.3680 MHz0.0801 to 0.113200 MHz
xgb-onnx-c-o30.0802 to 0.113200 MHz
Sources

Run records are in the notebook, not this copy.

Vectors whose class matches the training tool, model through tools/byom of 20, higher is better

VariantLP-MSPM0G5187LP-AM13E230
dtree-c-o320200 MHz
forest-c-o320200 MHz
occ_float_2k-c-o320200 MHz
occ_float_2k-fast-c-o320200 MHz
occ_float_2k-fastreg-c-o320200 MHz
occ_float_30k-c-o320200 MHz
occ_float_30k-fast-c-o320200 MHz
occ_float_30k-fastreg-c-o320200 MHz
occ_float_500-c-o320200 MHz
occ_float_500-fast-c-o32080 MHz20200 MHz
occ_float_500-fastreg-c-o320200 MHz
occ_float_8k-c-o320200 MHz
occ_float_8k-fast-c-o320200 MHz
occ_float_8k-fastreg-c-o320200 MHz
occ_int8own_2k-c-o319200 MHz
occ_int8own_30k-c-o320200 MHz
occ_int8own_30k-cmsis-c-o320200 MHz
occ_int8own_500-c-o320200 MHz
occ_int8own_500-cmsis-c-o320200 MHz
occ_int8own_8k-c-o320200 MHz
occ_int8own_8k-cmsis-c-o320200 MHz
occ_tflite_float-fast-c-o320200 MHz
resnet8-int8own-c-o320200 MHz
resnet8-int8own-cmsis-c-o320200 MHz
xgb-c-o32080 MHz20200 MHz
xgb-onnx-c-o320200 MHz
Sources

Run records are in the notebook, not this copy.

MLPerf Tiny image classification (ResNet-8, CIFAR-10), one 32x32 image ms, lower is better

VariantLP-AM13E230
resnet8-ti-qat-nnc-cpuNot for this chip
resnet8-ti-qat-nnc-npu198.2200 MHz
Sources

Run records are in the notebook, not this copy.

MLPerf Tiny ResNet-8: board images whose class matches the host run of the same int8 file of 20, higher is better

VariantLP-AM13E230
resnet8-ti-qat-nnc-npu20200 MHz
Sources

Run records are in the notebook, not this copy.

Every number

Best result per test, the scorecard, what runs where and every table, each folded.

Best result per test
4.44
Most work per clock tick (CoreMark per MHz)
LP-EM-CC2755P10, TI compiler, no OS, lowest clock run
150 ns
Quickest interrupt response
LAUNCHXL-F28P65X, no OS, signal to first line of the handler, code in RAM
1.33 µs
Shortest control loop
LP-AM13E230, ADC trigger to new PWM value
5 Msps
Fastest ADC
LP-MSPM33C321A, DMA
131.5 times
Biggest AES gain from hardware
LP-EM-CC2340R5, TI's AES driver against software AES, 1 kB
5.05 ms
Fastest medium room-occupancy model, microcontroller CPU
LP-AM13E230
0.63 ms
Same model on a microcontroller NPU
LP-AM13E230
The scorecard: one number per board per test
MeasuredLP-MSPM0G3507Cortex-M0+, 80 MHz, 32 kB RAMLP-MSPM0L1306Cortex-M0+, 32 MHz, 4 kB RAMLP-EM-CC2340R5Cortex-M0+, 48 MHz, 36 kB RAMLP-CC1354P10-1Cortex-M33, 48 MHz, 296 kB RAMLAUNCHXL-F2800137C28x, 120 MHz, 36 kB RAMLP-AM13E230Cortex-M33 with TMU and NPU, 200 MHz, 128 kB RAMLP-AM263P4x Cortex-R5F with TMU, 400 MHz, 3 MB RAMTMDS62LEVM (AM62L EVM)2x Cortex-A53, 1250 MHz, 2 GB RAMLP-EM-CC2755P10Cortex-M33, 96 MHz, 162 kB RAMLP-EM-CC35X1Cortex-M33, 160 MHz, 1.1 MB RAMESP32-C6-DevKitC-1-N8RISC-V, 160 MHz, 512 kB RAMLAUNCHXL-F28P65XC28x, 200 MHz, 248 kB RAMFRDM-MCXA153Cortex-M33, 96 MHz, 32 kB RAMIWRL6432BOOSTCortex-M4F, 160 MHz, 1 MB RAMLP-MSPM0C1104Cortex-M0+, 24 MHz, 1 kB RAMLP-MSPM0G3519Cortex-M0+, 80 MHz, 128 kB RAMLP-MSPM0G5187Cortex-M0+ with NPU, 80 MHz, 32 kB RAMLP-MSPM33C321ACortex-M33, 160 MHz, 256 kB RAMNUCLEO-U083RCCortex-M0+, 56 MHz, 40 kB RAMRaspberry Pi Pico 2 HCortex-M33, 150 MHz, 520 kB RAMSK-TDA4VM2x Cortex-A72 + C7x/MMA + 2x C66x + 6x R5F, 2000 MHz, 4 GB RAM
Speed
CoreMark per MHz, TI compiler, no OS, lowest clock runhigher is better; the lowest clock run, so flash wait states cost the least (clock under the number); the C2000 build is unofficial, not ranked2.46
Build detailsticlang-bare-o3-32mhzat 32 MHz
2.63
Build detailsticlang-bare-o3-4mhzat 4 MHz
2.31worst
Build detailsticlang-bare-o3
4.17
Build detailsticlang-bare-o3
1.18
Build detailsc28patch-ti-c2000-o4s5-flash
unofficial build, not ranked
4.42
Build detailsticlang-bare-o3-100mhzat 100 MHz
4.44best
Build detailsticlang-bare-o3
1.06
Build detailsc28patch-ti-c2000-o4s5-flash
unofficial build, not ranked
Not for this chip2.46
Build detailsticlang-bare-o3-32mhzat 32 MHz
2.46
Build detailsticlang-bare-o3-32mhzat 32 MHz
4.38
Build detailsticlang-bare-o3-32mhzat 32 MHz
CoreMark per MHz, TI compiler, no OS, top clockhigher is better; each board at the clock its run used, usually its top clock, where flash wait states cost cycles2.3
Build detailsticlang-bare-o3
2.45
Build detailsticlang-bare-o3
2.31
Build detailsticlang-bare-o3
4.17
Build detailsticlang-bare-o3
1.18
Build detailsc28patch-ti-c2000-o4s5-flash
unofficial build, not ranked
4.36
Build detailsticlang-bare-o3
4.44best
Build detailsticlang-bare-o3
1.06
Build detailsc28patch-ti-c2000-o4s5-flash
unofficial build, not ranked
Not for this chip2.28worst
Build detailsticlang-bare-o3
2.29
Build detailsticlang-bare-o3
3.4
Build detailsticlang-bare-o3
CoreMark per MHz, GCC under Zephyrhigher is better1.75
Build detailsgcc-zephyr-o2unroll
1.87best
Build detailsgcc-zephyr-o2unroll
1.75
Build detailsgcc-zephyr-o2unroll
1.69worst
Build detailsgcc-zephyr-o2unroll
Dhrystone, DMIPS per MHzhigher is better0.7310.602worst
Build detailsticlang-bare-o3-noinline
1.2
Build detailsticlang-bare-o3-noinline
0.442
Build detailsti-c2000-o3-noinline-ram
C28x: 16-bit bytes, not ranked
1.05
Build detailsticlang-bare-o3-noinline
1.5
Build detailsticlang-bare-o3-noinline
1.32
Build detailsticlang-bare-o3-noinline
1.34
Build detailsticlang-freertos-o3-noinline
0.444
Build detailsti-c2000-o3-noinline-ram
C28x: 16-bit bytes, not ranked
0.835
Build detailsgcc-bare-o3
Not for this chip0.652
Build detailsticlang-bare-o3-noinline
0.651
Build detailsticlang-bare-o3-noinline
1.22
Build detailsticlang-bare-o3-noinline-32mhzat 32 MHz
0.672
Build detailsat 48 MHz
1.32
Build detailsgcc-bare-o3-noinline-m33
4.83best
Build detailsgcc-linux-o3-noinline
Embench programs that fit and pass, of 19higher is better181318
Build detailsticlang-o2
19best
Build detailsticlang-o2
15
Build detailsti-c2000-o2-flash
19best
Build detailsticlang-o2
19best
Build detailsticlang-o2
Not for this chip19best9worst181819best
Build detailsticlang-o2
19best
Build detailsat 48 MHz
19best
Build detailsgcc-o2-m33
Reaction
Interrupt latency, no OS, cycleslower is better; signal to the first line of the handler29
Build detailsbare
25
Build detailsbare
28
Build detailsbare
23
Build detailsbare
30
Build detailsbare
C28x: different core family, not ranked
195worst
Build detailsbare
21
Build detailsbare
17best
Build detailsbare
23
Build detailsbare
31
Build detailsbare
36
Build detailsbare
32
Build detailsbare
22
Build detailsbareat 48 MHz
Interrupt latency under Zephyr, cycleslower is better163worst
Build detailszephyr
119
Build detailszephyr
48best
Build detailszephyr
157
Build detailszephyr
108
Build detailszephyrat 48 MHz
GPIO toggle by register write, cycleslower is better1best
Build detailsregister
1best
Build detailsregister
2.1
Build detailsregister-bare-o3
1.51
Build detailsregister-bare-o3
1.56
Build detailsregister
10
Build detailsregister
3.99
Build detailsregister-bare-o3
38worst
Build detailsregister-bare-o3
1.56
Build detailsregister
1.12
Build detailsregister
2
Build detailsregister-bare-o3
1best
Build detailsregister
1best
Build detailsregister
8
Build detailsregister-bare-o3
2.5
Build detailsregister-bare-o3at 48 MHz
Control loop, trigger to new output, µslower is better; the same run per board as the Control loops chart: code in flash, from the ADC end-of-conversion interrupt where the board has that run (build named under the number)88.5
Build detailshw
448.1worst
Build detailssw-eoc-flash
336.6
Build detailssw-eoc-flash-os
21.4
Build detailssw-eoc-flash
2.58
Build detailshw-eoc-flash
1.33best
Build detailshw-tmu-eoc-flash
10.5
Build detailssw-eoc-flash-o3
89.3
Build detailshw
180.8
Build detailssw-o3
5.03
Build detailssw-eoc-flash-o3
298.8
Build detailssw-eoc-flashat 48 MHz
One control step, software float, cycleslower is better; the same C on every board14k
Build detailssw
13k
Build detailssw-flash
14kworst
Build detailssw-flash
671.4
Build detailssw-flash
400.2best
Build detailssw-flash
655.6
Build detailssw-flash
593.7
Build detailssw-flash
5.4k
Build detailssw-flash
14k
Build detailssw
14k
Build detailssw
531.1
Build detailssw-flash
12k
Build detailssw-flashat 48 MHz
Radios
Bluetooth on the air after flashing, slower is better1.4worst
Build detailsdefault-100ms-interval
0.9best
Build detailsdefault-100ms-interval
Bluetooth echo, 20 bytes, mslower is better45worstn/a29.2best
Zigbee light command from Home Assistant, mslower is better; median of 2095
Build detailszigbee-home-assistant
Zigbee join, slower is better6.2
Build detailszigbee-router-to-cc1354p10-coordinator
6
Build detailszigbee-zed-zha
Thread join, slower is better15.5worst
Build detailsthread-router-to-cc1354p10-leader
8best
Build detailsthread-leader-fresh-image
Thread node on the chipend device or router running on the chip itselfNot for this chipWorksn/aWorks
Thread radio (RCP) for a hostWorksWorksn/a
Bluetooth and Zigbee or TI 15.4 at onceNot for this chipWorksn/aWorks
MatterNot for this chipn/aWorks
Memory
RAM left beside TI's Bluetooth example, byteshigher is better5.1 kBworst
Build detailsble-basic-ble
81 kBbest
Build detailsble-basic-ble
RAM left beside TI's Zigbee example, byteshigher is better; router on the CC2340R5, end device on the CC1354P10799worst
Build detailszigbee-router
210.6 kB
Build detailszigbee-zed-ti-example
126.5 kB
Build detailszigbee-router
360.1 kBbest
Build detailszigbee-router
Blink image RAM, no OS, byteslower is better512
Build detailsbare
256best
Build detailsbare
9.9 kB
Build detailsbare
18.6 kB
Build detailsbare
TI's default configuration, not ranked
1.5 kB
Build detailsbare
9 kB
Build detailsbare
93.8 kBworst
Build detailsbare
10.1 kB
Build detailsbare
256best
Build detailsbare
256best
Build detailsbareat 32 MHz
Blink image RAM under Zephyr, byteslower is better3.9 kB
Build detailszephyr
3.8 kBbest
Build detailszephyr
4 kB
Build detailszephyr
3.8 kB
Build detailszephyr
4 kB
Build detailszephyr
4.8 kBworst
Build detailszephyrat 48 MHz
Blink image RAM under FreeRTOS, byteslower is better1 kBbest
Build detailsfreertosat 32 MHz
1 kBbest
Build detailsfreertos
13 kB
Build detailsfreertos
37.6 kB
Build detailsfreertos
TI's default configuration, not ranked
36.9 kBworst
Build detailsfreertos
1 kBbest
Build detailsfreertos
RTOS task switch, µslower is better; FreeRTOS or Zephyr, whichever ran6.72
Build detailszephyr
12
Build detailsfreertos
10.6
Build detailsfreertos
7.38
Build detailsfreertos
Not for this chip1.49best
Build detailsfreertos
3.5
Build detailsfreertos
16.5
Build detailsfreertos
2.76
Build detailsfreertos
19.9worst
Build detailsfreertos
6.99
Build detailszephyr
7
Build detailsfreertos
11.5
Build detailsfreertosat 32 MHz
9.29
Build detailsfreertosat 48 MHz
Small AI models
Room occupancy, medium, on the CPU, mslower is better; 8.5k weights, fastest plain-C build35.383.7worst63.225.817.55.0510.56.257.148.3812.6Not for this chip35.335.37.386.820.193best
Room occupancy, medium, on an NPU, mslower is better; 8.5k weights, TI NNC code on the chip's neural processing unit0.63best2.12worst
Room occupancy, large, fit33k weights: does it fit and passWorksNot for this chipWorksWorksWorksWorksWorksWorksWorksWorksWorksNot for this chipWorksWorksWorksWorks
Handwritten digit, BitNetMCU 64-wide model, cycleslower is better2.64M
Build detailscnn64-ticlang-o3-32mhzat 32 MHz
2.65M
Build detailscnn64-ticlang-o3-32mhz
2.55M
Build detailscnn-64-c2000-o4s5-120mhz-ram
2.64M
Build detailscnn64-ticlang-o3-32mhzat 32 MHz
2.64M
Build detailscnn64-ticlang-o3-32mhzat 32 MHz
Hardware helpers
sin and cos in hardware against software, times fasterhigher is better85.6n/an/an/a9.87worstn/a93.3bestn/an/a
AES in hardware against software, times fasterhigher is better20.3
Build details1kb-ticlang-o2
131.5best
Build details1kb-ecb-ticlang-o3-driver-polling
51.1
Build details1kb-ecb-ticlang-o2-driver-polling
29.9
Build details1kb-ecb-ticlang-o2-keyout
92.8
Build detailsticlang-o2-driver-polling
1.23worst
Build details16b-ecb-mbedtls
45.8
Build details1kb-ticlang-o2
45.5
Build details1kb-ticlang-o2
41.9
Build details1kb-ecb-ticlang-o2-keyoutat 32 MHz
93.9
Build details1kb-aes256-ecb-gcc12-o2-regat 48 MHz
CRC in hardware against a table, times fasterhigher is better13.5best10.91.89worst7.063
Build detailscrc16-256b
8.098.122.75
Build detailsat 32 MHz
8.34
Build detailsgcc12-o3at 48 MHz
5.71
Build detailsdma-sniffer-riscv
256-point FFT, mslower is better; float where the chip has an FPU25.7worst
Build detailsf32
18.3
Build detailsf32
0.473
Build detailsf32
0.107best
Build detailsf32
0.117
Build detailsf32
0.224
Build detailsf32
4.69
Build detailsf32
Not for this chip11.1
Build detailsf32
11
Build detailsf32
0.204
Build detailsf32
20
Build detailsf32at 48 MHz
Fastest ADC reading, million samples per secondhigher is better; each board's best setting. Under each number: the ADC's clock when it differs from the CPU's, DMA or not, and resolution and sample window where recorded3.93
Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example
1.45
Build details8-cycle window
1.2
Build detailsti-adcbuf-dmaDMA
0.2
Build detailsti-adcbuf-dmaDMA
3.98
Build detailsti-continuous-9cyc9-cycle window
1.2
Build detailsti-adcbuf-dmaDMA
0.17worst
Build details12-bit
2.53
Build detailsdmaDMA12-bit
1
Build detailsDMA10-bit, 2-cycle window
3.93
Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example
0.547
Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example12-bit, 62.5 ns window
5best
Build detailsDMA
1.71
Build detailsinternalCPU at 48 MHz, ADC clock as in the exampleDMA12-bit
0.5
Build detailspico-sdk-dma-riscvDMA
Power
Deepest sleep with RAM kept, µAlower is better; probe-measured chip figure; modes differ by chip (named under the number)6.2
Build detailsSTANDBY0, RAM kept
2,590
Build detailsti-c2000-standby-borrowed-energytrace
STANDBY with the PLL on; HALT is the reference floor; not ranked
Running current per MHz, µAlower is better; slope between two clocks; the workload differs by chip (named under the number)72.9
Build detailsenergytrace-3.3v-coremark
263
Build detailsti-c2000-borrowed-energytrace
busy loop at two clocks, not CoreMark; not ranked
Getting started
Plug-in to a changed blink, slower is better; the CC2340R5 figure includes 8 min lost to a half-seated probe149
Build detailsccs-mcp
540worst
Build detailscli
29
Build detailscli
60
Build detailsccs-mcp
78
Build detailscli
198
Build detailsccs-mcp
60
Build detailscli
184
Build detailscli
1.4best
Build detailscliat 12 MHz
Not for this chip77
Build detailscli
19
Build detailscli
14
Build detailscliat 48 MHz
87
Build detailscli
Blink build, slower is better6
Build detailsccs-mcp
3.3
Build detailscli
22
Build detailscli
4.6
Build detailsti-led-ex1-blinky-cli
2.7best
Build detailscli
5.9
Build detailscli
14
Build detailscli
6
Build detailscli
67worst
Build detailscli
8.6
Build detailsti-led-ex1-blinky-cli
30
Build detailscliat 12 MHz
3.5
Build detailscli
3.2
Build detailscliat 32 MHz
4
Build detailscliat 32 MHz
4.8
Build detailscliat 32 MHz
6
Build detailscliat 48 MHz
12
Build detailscli
Blink flash, slower is better6
Build detailswest
0.6best
Build detailsopenocd
7
Build detailsuniflash
3.9
Build detailsccs-scripting-ram-load
3.3
Build detailsuniflash
27worst
Build detailsccs-mcp
0.64
Build detailsopenocd
0.6best
Build detailsopenocdat 32 MHz
20.7
Build detailsopenocdat 32 MHz
11.3
Build detailsuniflashat 32 MHz
1.2
Build detailsopenocdat 48 MHz
Examples safe to run that ran with no crash, %higher is better; of the images safe to run, not the whole SDK: 213 of 270 on the G3507, 148 of 170 on the L1306100
Build detailsmspm0-sdk-2.11at 32 MHz
100
Build detailsmspm0-sdk-2.11
100
Build detailscc35x1-twins-checked
100
Build detailsc2000ware-26.02
98.8
Build detailsam13e230-sdk-26.01
118best
Build detailsmcu-plus-sdk-26.01-lp
98.8
Build detailssdk-f3-9.21
93.5
Build detailswifi-sdk-10.20.00.39
87.1
Build detailsesp-idf-v6.1
97.7
Build detailsmcux-26.09.00
100
Build detailsmspm0-sdk-2.11
100
Build detailsmspm0-sdk-2.11
90.8
Build detailsmspm0-sdk-2.11
99.4
Build detailsmspm33-sdk-1.04at 32 MHz
100
Build detailsstm32cubeu0-1.3.0at 48 MHz
60worst
Build detailsedgeai-gst-apps-11.00.00.08
Full redraw of a 3.5 inch SPI screen, mslower is better; fastest setting67.2
Build detailsspi40-dma16
67.2
Build detailsspi40-dma16
Speed

CoreMark per MHz, TI compiler, no OS, lowest clock run

higher is better; the lowest clock run, so flash wait states cost the least (clock under the number); the C2000 build is unofficial, not ranked

  • LP-MSPM0G35072.46
    Build detailsticlang-bare-o3-32mhzat 32 MHz
  • LP-MSPM0L13062.63
    Build detailsticlang-bare-o3-4mhzat 4 MHz
  • LP-EM-CC2340R52.31worst
    Build detailsticlang-bare-o3
  • LP-CC1354P10-14.17
    Build detailsticlang-bare-o3
  • LAUNCHXL-F28001371.18
    Build detailsc28patch-ti-c2000-o4s5-flash
    unofficial build, not ranked
  • LP-AM13E2304.42
    Build detailsticlang-bare-o3-100mhzat 100 MHz
  • LP-EM-CC2755P104.44best
    Build detailsticlang-bare-o3
  • LAUNCHXL-F28P65X1.06
    Build detailsc28patch-ti-c2000-o4s5-flash
    unofficial build, not ranked
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G35192.46
    Build detailsticlang-bare-o3-32mhzat 32 MHz
  • LP-MSPM0G51872.46
    Build detailsticlang-bare-o3-32mhzat 32 MHz
  • LP-MSPM33C321A4.38
    Build detailsticlang-bare-o3-32mhzat 32 MHz

CoreMark per MHz, TI compiler, no OS, top clock

higher is better; each board at the clock its run used, usually its top clock, where flash wait states cost cycles

  • LP-MSPM0G35072.3
    Build detailsticlang-bare-o3
  • LP-MSPM0L13062.45
    Build detailsticlang-bare-o3
  • LP-EM-CC2340R52.31
    Build detailsticlang-bare-o3
  • LP-CC1354P10-14.17
    Build detailsticlang-bare-o3
  • LAUNCHXL-F28001371.18
    Build detailsc28patch-ti-c2000-o4s5-flash
    unofficial build, not ranked
  • LP-AM13E2304.36
    Build detailsticlang-bare-o3
  • LP-EM-CC2755P104.44best
    Build detailsticlang-bare-o3
  • LAUNCHXL-F28P65X1.06
    Build detailsc28patch-ti-c2000-o4s5-flash
    unofficial build, not ranked
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G35192.28worst
    Build detailsticlang-bare-o3
  • LP-MSPM0G51872.29
    Build detailsticlang-bare-o3
  • LP-MSPM33C321A3.4
    Build detailsticlang-bare-o3

CoreMark per MHz, GCC under Zephyr

higher is better

  • LP-MSPM0G35071.75
    Build detailsgcc-zephyr-o2unroll
  • LP-MSPM0L13061.87best
    Build detailsgcc-zephyr-o2unroll
  • LP-EM-CC2340R51.75
    Build detailsgcc-zephyr-o2unroll
  • LP-MSPM0G35191.69worst
    Build detailsgcc-zephyr-o2unroll

Dhrystone, DMIPS per MHz

higher is better

  • LP-MSPM0G3507
  • LP-MSPM0L13060.731
  • LP-EM-CC2340R50.602worst
    Build detailsticlang-bare-o3-noinline
  • LP-CC1354P10-11.2
    Build detailsticlang-bare-o3-noinline
  • LAUNCHXL-F28001370.442
    Build detailsti-c2000-o3-noinline-ram
    C28x: 16-bit bytes, not ranked
  • LP-AM13E2301.05
    Build detailsticlang-bare-o3-noinline
  • LP-AM263P1.5
    Build detailsticlang-bare-o3-noinline
  • TMDS62LEVM (AM62L EVM)
  • LP-EM-CC2755P101.32
    Build detailsticlang-bare-o3-noinline
  • LP-EM-CC35X11.34
    Build detailsticlang-freertos-o3-noinline
  • LAUNCHXL-F28P65X0.444
    Build detailsti-c2000-o3-noinline-ram
    C28x: 16-bit bytes, not ranked
  • FRDM-MCXA1530.835
    Build detailsgcc-bare-o3
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G35190.652
    Build detailsticlang-bare-o3-noinline
  • LP-MSPM0G51870.651
    Build detailsticlang-bare-o3-noinline
  • LP-MSPM33C321A1.22
    Build detailsticlang-bare-o3-noinline-32mhzat 32 MHz
  • NUCLEO-U083RC0.672
    Build detailsat 48 MHz
  • Raspberry Pi Pico 2 H1.32
    Build detailsgcc-bare-o3-noinline-m33
  • SK-TDA4VM4.83best
    Build detailsgcc-linux-o3-noinline

Embench programs that fit and pass, of 19

higher is better

  • LP-MSPM0G350718
  • LP-MSPM0L130613
  • LP-EM-CC2340R518
    Build detailsticlang-o2
  • LP-CC1354P10-119best
    Build detailsticlang-o2
  • LAUNCHXL-F280013715
    Build detailsti-c2000-o2-flash
  • LP-AM13E23019best
    Build detailsticlang-o2
  • LP-EM-CC2755P1019best
    Build detailsticlang-o2
  • LP-EM-CC35X1Not for this chip
  • FRDM-MCXA15319best
  • LP-MSPM0C11049worst
  • LP-MSPM0G351918
  • LP-MSPM0G518718
  • LP-MSPM33C321A19best
    Build detailsticlang-o2
  • NUCLEO-U083RC19best
    Build detailsat 48 MHz
  • Raspberry Pi Pico 2 H19best
    Build detailsgcc-o2-m33
  • SK-TDA4VM
Reaction

Interrupt latency, no OS, cycles

lower is better; signal to the first line of the handler

  • LP-MSPM0G350729
    Build detailsbare
  • LP-MSPM0L130625
    Build detailsbare
  • LP-EM-CC2340R528
    Build detailsbare
  • LP-CC1354P10-123
    Build detailsbare
  • LAUNCHXL-F280013730
    Build detailsbare
    C28x: different core family, not ranked
  • LP-AM13E230
  • LP-AM263P195worst
    Build detailsbare
  • LP-EM-CC2755P1021
    Build detailsbare
  • FRDM-MCXA15317best
    Build detailsbare
  • LP-MSPM0C110423
    Build detailsbare
  • LP-MSPM0G351931
    Build detailsbare
  • LP-MSPM0G518736
    Build detailsbare
  • LP-MSPM33C321A32
    Build detailsbare
  • NUCLEO-U083RC22
    Build detailsbareat 48 MHz

Interrupt latency under Zephyr, cycles

lower is better

  • LP-MSPM0G3507163worst
    Build detailszephyr
  • LP-MSPM0L1306119
    Build detailszephyr
  • LP-EM-CC2340R548best
    Build detailszephyr
  • LP-MSPM0G3519157
    Build detailszephyr
  • NUCLEO-U083RC108
    Build detailszephyrat 48 MHz

GPIO toggle by register write, cycles

lower is better

  • LP-MSPM0G35071best
    Build detailsregister
  • LP-MSPM0L13061best
    Build detailsregister
  • LP-EM-CC2340R52.1
    Build detailsregister-bare-o3
  • LP-CC1354P10-11.51
    Build detailsregister-bare-o3
  • LAUNCHXL-F28001371.56
    Build detailsregister
  • LP-AM13E230
  • LP-AM263P10
    Build detailsregister
  • LP-EM-CC2755P103.99
    Build detailsregister-bare-o3
  • ESP32-C6-DevKitC-1-N838worst
    Build detailsregister-bare-o3
  • LAUNCHXL-F28P65X1.56
    Build detailsregister
  • FRDM-MCXA1531.12
    Build detailsregister
  • LP-MSPM0C11042
    Build detailsregister-bare-o3
  • LP-MSPM0G35191best
    Build detailsregister
  • LP-MSPM0G51871best
    Build detailsregister
  • LP-MSPM33C321A8
    Build detailsregister-bare-o3
  • NUCLEO-U083RC2.5
    Build detailsregister-bare-o3at 48 MHz

Control loop, trigger to new output, µs

lower is better; the same run per board as the Control loops chart: code in flash, from the ADC end-of-conversion interrupt where the board has that run (build named under the number)

  • LP-MSPM0G350788.5
    Build detailshw
  • LP-MSPM0L1306448.1worst
    Build detailssw-eoc-flash
  • LP-EM-CC2340R5336.6
    Build detailssw-eoc-flash-os
  • LP-CC1354P10-121.4
    Build detailssw-eoc-flash
  • LAUNCHXL-F28001372.58
    Build detailshw-eoc-flash
  • LP-AM13E2301.33best
    Build detailshw-tmu-eoc-flash
  • LP-EM-CC2755P1010.5
    Build detailssw-eoc-flash-o3
  • LP-MSPM0G351989.3
    Build detailshw
  • LP-MSPM0G5187180.8
    Build detailssw-o3
  • LP-MSPM33C321A5.03
    Build detailssw-eoc-flash-o3
  • NUCLEO-U083RC298.8
    Build detailssw-eoc-flashat 48 MHz

One control step, software float, cycles

lower is better; the same C on every board

  • LP-MSPM0G350714k
    Build detailssw
  • LP-MSPM0L130613k
    Build detailssw-flash
  • LP-EM-CC2340R514kworst
    Build detailssw-flash
  • LP-CC1354P10-1671.4
    Build detailssw-flash
  • LAUNCHXL-F2800137400.2best
    Build detailssw-flash
  • LP-AM13E230655.6
    Build detailssw-flash
  • LP-EM-CC2755P10593.7
    Build detailssw-flash
  • FRDM-MCXA1535.4k
    Build detailssw-flash
  • LP-MSPM0G351914k
    Build detailssw
  • LP-MSPM0G518714k
    Build detailssw
  • LP-MSPM33C321A531.1
    Build detailssw-flash
  • NUCLEO-U083RC12k
    Build detailssw-flashat 48 MHz
Radios

Bluetooth on the air after flashing, s

lower is better

  • LP-EM-CC2340R51.4worst
    Build detailsdefault-100ms-interval
  • LP-EM-CC2755P100.9best
    Build detailsdefault-100ms-interval

Bluetooth echo, 20 bytes, ms

lower is better

  • LP-EM-CC2340R545worst
  • LP-CC1354P10-1
  • LAUNCHXL-F2800137n/a
  • LP-EM-CC2755P1029.2best

Zigbee light command from Home Assistant, ms

lower is better; median of 20

  • LP-EM-CC2340R595
    Build detailszigbee-home-assistant

Zigbee join, s

lower is better

  • LP-EM-CC2340R56.2
    Build detailszigbee-router-to-cc1354p10-coordinator
  • LP-CC1354P10-16
    Build detailszigbee-zed-zha

Thread join, s

lower is better

  • LP-EM-CC2340R515.5worst
    Build detailsthread-router-to-cc1354p10-leader
  • LP-CC1354P10-18best
    Build detailsthread-leader-fresh-image

Thread node on the chip

end device or router running on the chip itself

  • LP-EM-CC2340R5Not for this chip
  • LP-CC1354P10-1Works
  • LAUNCHXL-F2800137n/a
  • ESP32-C6-DevKitC-1-N8Works

Thread radio (RCP) for a host

  • LP-EM-CC2340R5Works
  • LP-CC1354P10-1Works
  • LAUNCHXL-F2800137n/a

Bluetooth and Zigbee or TI 15.4 at once

  • LP-EM-CC2340R5Not for this chip
  • LP-CC1354P10-1Works
  • LAUNCHXL-F2800137n/a
  • LP-EM-CC2755P10Works

Matter

  • LP-EM-CC2340R5Not for this chip
  • LP-CC1354P10-1
  • LAUNCHXL-F2800137n/a
  • LP-EM-CC35X1Works
Memory

RAM left beside TI's Bluetooth example, bytes

higher is better

  • LP-EM-CC2340R55.1 kBworst
    Build detailsble-basic-ble
  • LP-EM-CC2755P1081 kBbest
    Build detailsble-basic-ble

RAM left beside TI's Zigbee example, bytes

higher is better; router on the CC2340R5, end device on the CC1354P10

  • LP-EM-CC2340R5799worst
    Build detailszigbee-router
  • LP-CC1354P10-1210.6 kB
    Build detailszigbee-zed-ti-example
  • LP-EM-CC2755P10126.5 kB
    Build detailszigbee-router
  • ESP32-C6-DevKitC-1-N8360.1 kBbest
    Build detailszigbee-router

Blink image RAM, no OS, bytes

lower is better

  • LP-MSPM0G3507512
    Build detailsbare
  • LP-MSPM0L1306256best
    Build detailsbare
  • LP-EM-CC2340R59.9 kB
    Build detailsbare
  • LP-CC1354P10-118.6 kB
    Build detailsbare
    TI's default configuration, not ranked
  • LAUNCHXL-F28001371.5 kB
    Build detailsbare
  • LP-AM13E2309 kB
    Build detailsbare
  • LP-AM263P93.8 kBworst
    Build detailsbare
  • LP-EM-CC2755P1010.1 kB
    Build detailsbare
  • LP-MSPM0G5187256best
    Build detailsbare
  • LP-MSPM33C321A256best
    Build detailsbareat 32 MHz

Blink image RAM under Zephyr, bytes

lower is better

  • LP-MSPM0G35073.9 kB
    Build detailszephyr
  • LP-MSPM0L13063.8 kBbest
    Build detailszephyr
  • LP-EM-CC2340R54 kB
    Build detailszephyr
  • FRDM-MCXA1533.8 kB
    Build detailszephyr
  • LP-MSPM0G35194 kB
    Build detailszephyr
  • NUCLEO-U083RC4.8 kBworst
    Build detailszephyrat 48 MHz

Blink image RAM under FreeRTOS, bytes

lower is better

  • LP-MSPM0G35071 kBbest
    Build detailsfreertosat 32 MHz
  • LP-MSPM0L13061 kBbest
    Build detailsfreertos
  • LP-EM-CC2340R513 kB
    Build detailsfreertos
  • LP-CC1354P10-137.6 kB
    Build detailsfreertos
    TI's default configuration, not ranked
  • LP-EM-CC35X136.9 kBworst
    Build detailsfreertos
  • LP-MSPM0C11041 kBbest
    Build detailsfreertos

RTOS task switch, µs

lower is better; FreeRTOS or Zephyr, whichever ran

  • LP-MSPM0G35076.72
    Build detailszephyr
  • LP-MSPM0L130612
    Build detailsfreertos
  • LP-EM-CC2340R510.6
    Build detailsfreertos
  • LP-CC1354P10-17.38
    Build detailsfreertos
  • LAUNCHXL-F2800137Not for this chip
  • LP-AM13E2301.49best
    Build detailsfreertos
  • LP-EM-CC2755P103.5
    Build detailsfreertos
  • LP-EM-CC35X1
  • ESP32-C6-DevKitC-1-N816.5
    Build detailsfreertos
  • FRDM-MCXA1532.76
    Build detailsfreertos
  • LP-MSPM0C110419.9worst
    Build detailsfreertos
  • LP-MSPM0G35196.99
    Build detailszephyr
  • LP-MSPM0G51877
    Build detailsfreertos
  • LP-MSPM33C321A11.5
    Build detailsfreertosat 32 MHz
  • NUCLEO-U083RC9.29
    Build detailsfreertosat 48 MHz
Small AI models

Room occupancy, medium, on the CPU, ms

lower is better; 8.5k weights, fastest plain-C build

  • LP-MSPM0G350735.3
  • LP-MSPM0L130683.7worst
  • LP-EM-CC2340R563.2
  • LP-CC1354P10-125.8
  • LAUNCHXL-F280013717.5
  • LP-AM13E2305.05
  • LP-EM-CC2755P1010.5
  • LP-EM-CC35X16.25
  • ESP32-C6-DevKitC-1-N87.14
  • LAUNCHXL-F28P65X8.38
  • FRDM-MCXA15312.6
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G351935.3
  • LP-MSPM0G518735.3
  • LP-MSPM33C321A7.38
  • Raspberry Pi Pico 2 H6.82
  • SK-TDA4VM0.193best

Room occupancy, medium, on an NPU, ms

lower is better; 8.5k weights, TI NNC code on the chip's neural processing unit

  • LP-AM13E2300.63best
  • LP-MSPM0G51872.12worst

Room occupancy, large, fit

33k weights: does it fit and pass

  • LP-MSPM0G3507Works
  • LP-MSPM0L1306Not for this chip
  • LP-EM-CC2340R5Works
  • LP-CC1354P10-1Works
  • LAUNCHXL-F2800137Works
  • LP-AM13E230Works
  • LP-EM-CC2755P10Works
  • LP-EM-CC35X1Works
  • ESP32-C6-DevKitC-1-N8Works
  • LAUNCHXL-F28P65XWorks
  • FRDM-MCXA153Works
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G3519Works
  • LP-MSPM0G5187Works
  • LP-MSPM33C321AWorks
  • NUCLEO-U083RCWorks

Handwritten digit, BitNetMCU 64-wide model, cycles

lower is better

  • LP-MSPM0G35072.64M
    Build detailscnn64-ticlang-o3-32mhzat 32 MHz
  • LP-MSPM0L13062.65M
    Build detailscnn64-ticlang-o3-32mhz
  • LAUNCHXL-F28001372.55M
    Build detailscnn-64-c2000-o4s5-120mhz-ram
  • LP-MSPM0G35192.64M
    Build detailscnn64-ticlang-o3-32mhzat 32 MHz
  • LP-MSPM0G51872.64M
    Build detailscnn64-ticlang-o3-32mhzat 32 MHz
Hardware helpers

sin and cos in hardware against software, times faster

higher is better

  • LP-MSPM0G350785.6
  • LP-MSPM0L1306n/a
  • LP-EM-CC2340R5n/a
  • LP-CC1354P10-1n/a
  • LAUNCHXL-F28001379.87worst
  • LP-MSPM0C1104n/a
  • LP-MSPM0G351993.3best
  • LP-MSPM0G5187n/a
  • NUCLEO-U083RCn/a

AES in hardware against software, times faster

higher is better

  • LP-MSPM0G350720.3
    Build details1kb-ticlang-o2
  • LP-EM-CC2340R5131.5best
    Build details1kb-ecb-ticlang-o3-driver-polling
  • LP-CC1354P10-151.1
    Build details1kb-ecb-ticlang-o2-driver-polling
  • LP-AM13E23029.9
    Build details1kb-ecb-ticlang-o2-keyout
  • LP-EM-CC2755P1092.8
    Build detailsticlang-o2-driver-polling
  • ESP32-C6-DevKitC-1-N81.23worst
    Build details16b-ecb-mbedtls
  • LP-MSPM0G351945.8
    Build details1kb-ticlang-o2
  • LP-MSPM0G518745.5
    Build details1kb-ticlang-o2
  • LP-MSPM33C321A41.9
    Build details1kb-ecb-ticlang-o2-keyoutat 32 MHz
  • NUCLEO-U083RC93.9
    Build details1kb-aes256-ecb-gcc12-o2-regat 48 MHz

CRC in hardware against a table, times faster

higher is better

  • LP-MSPM0G350713.5best
  • LP-MSPM0L130610.9
  • LP-AM13E2301.89worst
  • FRDM-MCXA1537.06
  • LP-MSPM0C11043
    Build detailscrc16-256b
  • LP-MSPM0G35198.09
  • LP-MSPM0G51878.12
  • LP-MSPM33C321A2.75
    Build detailsat 32 MHz
  • NUCLEO-U083RC8.34
    Build detailsgcc12-o3at 48 MHz
  • Raspberry Pi Pico 2 H5.71
    Build detailsdma-sniffer-riscv

256-point FFT, ms

lower is better; float where the chip has an FPU

  • LP-MSPM0G3507
  • LP-MSPM0L130625.7worst
    Build detailsf32
  • LP-EM-CC2340R518.3
    Build detailsf32
  • LP-CC1354P10-10.473
    Build detailsf32
  • LAUNCHXL-F28001370.107best
    Build detailsf32
  • LP-AM13E2300.117
    Build detailsf32
  • LP-EM-CC2755P100.224
    Build detailsf32
  • FRDM-MCXA1534.69
    Build detailsf32
  • LP-MSPM0C1104Not for this chip
  • LP-MSPM0G351911.1
    Build detailsf32
  • LP-MSPM0G518711
    Build detailsf32
  • LP-MSPM33C321A0.204
    Build detailsf32
  • NUCLEO-U083RC20
    Build detailsf32at 48 MHz

Fastest ADC reading, million samples per second

higher is better; each board's best setting. Under each number: the ADC's clock when it differs from the CPU's, DMA or not, and resolution and sample window where recorded

  • LP-MSPM0G35073.93
    Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example
  • LP-MSPM0L13061.45
    Build details8-cycle window
  • LP-EM-CC2340R51.2
    Build detailsti-adcbuf-dmaDMA
  • LP-CC1354P10-10.2
    Build detailsti-adcbuf-dmaDMA
  • LAUNCHXL-F28001373.98
    Build detailsti-continuous-9cyc9-cycle window
  • LP-EM-CC2755P101.2
    Build detailsti-adcbuf-dmaDMA
  • LP-EM-CC35X10.17worst
    Build details12-bit
  • FRDM-MCXA1532.53
    Build detailsdmaDMA12-bit
  • LP-MSPM0C11041
    Build detailsDMA10-bit, 2-cycle window
  • LP-MSPM0G35193.93
    Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example
  • LP-MSPM0G51870.547
    Build detailsat 32 MHzCPU at 32 MHz, ADC clock as in the example12-bit, 62.5 ns window
  • LP-MSPM33C321A5best
    Build detailsDMA
  • NUCLEO-U083RC1.71
    Build detailsinternalCPU at 48 MHz, ADC clock as in the exampleDMA12-bit
  • Raspberry Pi Pico 2 H0.5
    Build detailspico-sdk-dma-riscvDMA
Power

Deepest sleep with RAM kept, µA

lower is better; probe-measured chip figure; modes differ by chip (named under the number)

  • LP-MSPM0G3507
  • LP-MSPM0L13066.2
    Build detailsSTANDBY0, RAM kept
  • LP-EM-CC2340R5
  • LP-CC1354P10-1
  • LAUNCHXL-F28001372,590
    Build detailsti-c2000-standby-borrowed-energytrace
    STANDBY with the PLL on; HALT is the reference floor; not ranked
  • LP-AM13E230
  • LP-AM263P
  • TMDS62LEVM (AM62L EVM)
  • LP-EM-CC35X1
  • FRDM-MCXA153
  • LP-MSPM0C1104
  • LP-MSPM0G3519
  • LP-MSPM0G5187
  • LP-MSPM33C321A
  • NUCLEO-U083RC

Running current per MHz, µA

lower is better; slope between two clocks; the workload differs by chip (named under the number)

  • LP-MSPM0L130672.9
    Build detailsenergytrace-3.3v-coremark
  • LP-EM-CC2340R5
  • LP-CC1354P10-1
  • LAUNCHXL-F2800137263
    Build detailsti-c2000-borrowed-energytrace
    busy loop at two clocks, not CoreMark; not ranked
  • LP-AM13E230
  • LP-AM263P
  • LP-EM-CC35X1
  • FRDM-MCXA153
  • LP-MSPM0G3519
  • LP-MSPM0G5187
  • LP-MSPM33C321A
  • NUCLEO-U083RC
Getting started

Plug-in to a changed blink, s

lower is better; the CC2340R5 figure includes 8 min lost to a half-seated probe

  • LP-MSPM0G3507149
    Build detailsccs-mcp
  • LP-MSPM0L1306
  • LP-EM-CC2340R5540worst
    Build detailscli
  • LP-CC1354P10-129
    Build detailscli
  • LAUNCHXL-F2800137
  • LP-AM13E23060
    Build detailsccs-mcp
  • LP-AM263P78
    Build detailscli
  • LP-EM-CC2755P10198
    Build detailsccs-mcp
  • LP-EM-CC35X160
    Build detailscli
  • ESP32-C6-DevKitC-1-N8184
    Build detailscli
  • FRDM-MCXA1531.4best
    Build detailscliat 12 MHz
  • IWRL6432BOOSTNot for this chip
  • LP-MSPM0C110477
    Build detailscli
  • LP-MSPM0G3519
  • LP-MSPM0G5187
  • LP-MSPM33C321A19
    Build detailscli
  • NUCLEO-U083RC14
    Build detailscliat 48 MHz
  • Raspberry Pi Pico 2 H87
    Build detailscli
  • SK-TDA4VM

Blink build, s

lower is better

  • LP-MSPM0G35076
    Build detailsccs-mcp
  • LP-MSPM0L13063.3
    Build detailscli
  • LP-EM-CC2340R522
    Build detailscli
  • LAUNCHXL-F28001374.6
    Build detailsti-led-ex1-blinky-cli
  • LP-AM13E2302.7best
    Build detailscli
  • LP-AM263P5.9
    Build detailscli
  • LP-EM-CC2755P1014
    Build detailscli
  • LP-EM-CC35X16
    Build detailscli
  • ESP32-C6-DevKitC-1-N867worst
    Build detailscli
  • LAUNCHXL-F28P65X8.6
    Build detailsti-led-ex1-blinky-cli
  • FRDM-MCXA15330
    Build detailscliat 12 MHz
  • LP-MSPM0C11043.5
    Build detailscli
  • LP-MSPM0G35193.2
    Build detailscliat 32 MHz
  • LP-MSPM0G51874
    Build detailscliat 32 MHz
  • LP-MSPM33C321A4.8
    Build detailscliat 32 MHz
  • NUCLEO-U083RC6
    Build detailscliat 48 MHz
  • Raspberry Pi Pico 2 H12
    Build detailscli

Blink flash, s

lower is better

  • LP-MSPM0G35076
    Build detailswest
  • LP-MSPM0L13060.6best
    Build detailsopenocd
  • LP-EM-CC2340R57
    Build detailsuniflash
  • LAUNCHXL-F28001373.9
    Build detailsccs-scripting-ram-load
  • LP-AM13E2303.3
    Build detailsuniflash
  • LP-EM-CC2755P1027worst
    Build detailsccs-mcp
  • LP-MSPM0C11040.64
    Build detailsopenocd
  • LP-MSPM0G35190.6best
    Build detailsopenocdat 32 MHz
  • LP-MSPM0G518720.7
    Build detailsopenocdat 32 MHz
  • LP-MSPM33C321A11.3
    Build detailsuniflashat 32 MHz
  • NUCLEO-U083RC1.2
    Build detailsopenocdat 48 MHz

Examples safe to run that ran with no crash, %

higher is better; of the images safe to run, not the whole SDK: 213 of 270 on the G3507, 148 of 170 on the L1306

  • LP-MSPM0G3507100
    Build detailsmspm0-sdk-2.11at 32 MHz
  • LP-MSPM0L1306100
    Build detailsmspm0-sdk-2.11
  • LP-EM-CC2340R5100
    Build detailscc35x1-twins-checked
  • LP-CC1354P10-1
  • LAUNCHXL-F2800137100
    Build detailsc2000ware-26.02
  • LP-AM13E23098.8
    Build detailsam13e230-sdk-26.01
  • LP-AM263P118best
    Build detailsmcu-plus-sdk-26.01-lp
  • LP-EM-CC2755P1098.8
    Build detailssdk-f3-9.21
  • LP-EM-CC35X193.5
    Build detailswifi-sdk-10.20.00.39
  • ESP32-C6-DevKitC-1-N887.1
    Build detailsesp-idf-v6.1
  • FRDM-MCXA15397.7
    Build detailsmcux-26.09.00
  • LP-MSPM0C1104100
    Build detailsmspm0-sdk-2.11
  • LP-MSPM0G3519100
    Build detailsmspm0-sdk-2.11
  • LP-MSPM0G518790.8
    Build detailsmspm0-sdk-2.11
  • LP-MSPM33C321A99.4
    Build detailsmspm33-sdk-1.04at 32 MHz
  • NUCLEO-U083RC100
    Build detailsstm32cubeu0-1.3.0at 48 MHz
  • Raspberry Pi Pico 2 H
  • SK-TDA4VM60worst
    Build detailsedgeai-gst-apps-11.00.00.08

Full redraw of a 3.5 inch SPI screen, ms

lower is better; fastest setting

  • LP-MSPM0G350767.2
    Build detailsspi40-dma16
  • LP-MSPM0G351967.2
    Build detailsspi40-dma16

best in the rowbetweenworst in the rowNo color: a spread under 5 percent, one number only, or a figure that is not like for like (named under it). Hover Not for this chip for the reason. Small gray lines: the build behind the number. Hover a cell for more.

Linux boards: their own numbers

A Linux board runs its own tests: boot time, memory bandwidth and latency, model inference, video, Ethernet and storage. Most have no MCU to compare with, so the board sits behind the scorecard toggle. These are its headline numbers. The board page has the conditions and limits of each.

SK-TDA4VM 2x Cortex-A72 + C7x/MMA + 2x C66x + 6x R5F, 2000 MHz, 4 GB RAM

MeasuredBest measuredVariantsSource
Power in to the Linux login prompt on the serial console24.2 to 24.5 s warmbest of 2 variants; every row
Vision app launch to the first frame-rate line3.09 to 3.84 s edgeai-app-yolox-pose-file1 variant; every row
CoreMark19,579.9 to 19,583.4 iter/s gcc-linux-o3-2tbest of 7 variants; every row
Dhrystone 2.15.26 to 5.68 DMIPS/MHz gcc-linux-o3-inlinebest of 5 variants; every row
Memory bandwidth, STREAM-style triad5,385 MB/s triad-2tbest of 3 variants; every row
Memory load latency by pointer chase2.5 ns l1-16kbest of 7 variants; every row
DDR bandwidth used during a pipeline (TI perf_stats)1,957 MB/s yolox-zerocopy-111fpsfirst of 2 variants; every row
Deep-learning model: one inference, median wall time2.17 ms mobilenetv1-mlperf-224-tflitert-tidl-c7xbest of 22 variants; every row
Whole vision graph: decode, preprocess, inference, postprocess, sink216.4 fps three-pipelines-yolox-c7xbest of 8 variants; every row
Hardware video decode throughput499.6 fps 1280x768-h264-zerocopybest of 7 variants; every row
Hardware video encode throughput131 fps 720p-h264best of 4 variants; every row
Wired Ethernet TCP throughput (iperf3)939.7 to 939.9 Mbit/s tcp-rx-from-hostbest of 3 variants; every row
Wired Ethernet round trip to a host on the same switch0.313 to 0.37 ms wired-host-same-switch1 variant; every row
Timer wake-up latency (cyclictest), max over 60 s41 us idlebest of 2 variants; every row
Boot medium sequential read44.8 MB/s microsd-fio-1mbest of 2 variants; every row
Boot medium sequential write30.5 MB/s microsd-dd-direct1 variant; every row
openssl speed, EVP, 8 KB blocks1,560 MB/s aes-128-gcm-cpubest of 10 variants
Room-occupancy model, one inference0.0174 ms Room occupancy: tiny, GCC -O3, on the A72 coresbest of 4 variants; every row

TMDS62LEVM (AM62L EVM) 2x Cortex-A53, 1250 MHz, 2 GB RAM

MeasuredBest measuredVariantsSource
Power in to the Linux login prompt on the serial console3.9 to 3.91 s systemd-kernelbest of 9 variants; every rowREADME notes
CoreMark8,428.2 iter/s gcc15.3-linux-o2-2tbest of 7 variants; every rowREADME notes
Memory bandwidth, STREAM-style triad2,418.5 MB/s copy-2tbest of 4 variants; every rowREADME notes
Memory load latency by pointer chase2.41 ns l1-16kbest of 3 variants; every rowREADME notes
Whole vision graph: decode, preprocess, inference, postprocess, sink30 fps kmscube-1080p60-llvmpipebest of 4 variants; every rowREADME notes
Wired Ethernet TCP throughput (iperf3)927 Mbit/s tx-to-hostbest of 2 variants; every rowREADME notes
Wired Ethernet round trip to a host on the same switch0.368 ms host-same-switch1 variant; every rowREADME notes
Timer wake-up latency (cyclictest), max over 60 s442 to 645 us idle-60s-x3best of 4 variants; every rowAM62L realtime jitter notes
Boot medium sequential read38.1 MB/s usb-stick-dd-direct1 variant; every rowREADME notes
Boot medium sequential write10.4 MB/s usb-stick-dd-directbest of 3 variants; every rowREADME notes
What runs on each board
What you want to do
LP-MSPM0G3507Cortex-M0+, 32 kB RAM
LP-MSPM0L1306Cortex-M0+, 4 kB RAM
LP-EM-CC2340R5Cortex-M0+, 36 kB RAM
LP-CC1354P10-1Cortex-M33, 296 kB RAM
LAUNCHXL-F2800137C28x, 36 kB RAM
LP-AM13E230Cortex-M33 with TMU and NPU, 128 kB RAM
LP-AM263P4x Cortex-R5F with TMU, 3 MB RAM
TMDS62LEVM (AM62L EVM)2x Cortex-A53, 2 GB RAM
LP-EM-CC2755P10Cortex-M33, 162 kB RAM
LP-EM-CC35X1Cortex-M33, 1.1 MB RAM
ESP32-C6-DevKitC-1-N8RISC-V, 512 kB RAM
LAUNCHXL-F28P65XC28x, 248 kB RAM
FRDM-MCXA153Cortex-M33, 32 kB RAM
IWRL6432BOOSTCortex-M4F, 1 MB RAM
LP-MSPM0C1104Cortex-M0+, 1 kB RAM
LP-MSPM0G3519Cortex-M0+, 128 kB RAM
LP-MSPM0G5187Cortex-M0+ with NPU, 32 kB RAM
LP-MSPM33C321ACortex-M33, 256 kB RAM
NUCLEO-G071RBCortex-M0+, 36 kB RAM
NUCLEO-U083RCCortex-M0+, 40 kB RAM
Raspberry Pi Pico 2 HCortex-M33, 520 kB RAM
SK-TDA4VM2x Cortex-A72 + C7x/MMA + 2x C66x + 6x R5F, 4 GB RAM
LP-MSPM0G3507Works
LP-MSPM0L1306Works
LP-EM-CC2340R5Works
LP-CC1354P10-1
LAUNCHXL-F2800137Works
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Works
LP-MSPM0L1306Works
LP-EM-CC2340R5Works
LP-CC1354P10-1
LAUNCHXL-F2800137Works
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Works
LP-MSPM0L1306Could work
LP-EM-CC2340R5Not for this chip
LP-CC1354P10-1
LAUNCHXL-F2800137
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Should work
LP-MSPM0L1306Works
LP-EM-CC2340R5Works
LP-CC1354P10-1
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Works
LP-MSPM0L1306Works
LP-EM-CC2340R5Works
LP-CC1354P10-1
LAUNCHXL-F2800137Works
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Not for this chip
LP-MSPM0L1306Not for this chip
LP-EM-CC2340R5Could work
LP-CC1354P10-1Could work
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Not for this chip
LP-MSPM0L1306Not for this chip
LP-EM-CC2340R5Could work
LP-CC1354P10-1Works
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Not for this chip
LP-MSPM0L1306Not for this chip
LP-EM-CC2340R5Not for this chip
LP-CC1354P10-1Works
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Not for this chip
LP-MSPM0L1306Not for this chip
LP-EM-CC2340R5Not for this chip
LP-CC1354P10-1
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM
LP-MSPM0G3507Not for this chip
LP-MSPM0L1306Not for this chip
LP-EM-CC2340R5Could work
LP-CC1354P10-1
LAUNCHXL-F2800137Not for this chip
LP-AM13E230
LP-AM263P
TMDS62LEVM (AM62L EVM)
LP-EM-CC2755P10
LP-EM-CC35X1
ESP32-C6-DevKitC-1-N8
LAUNCHXL-F28P65X
FRDM-MCXA153
IWRL6432BOOST
LP-MSPM0C1104
LP-MSPM0G3519
LP-MSPM0G5187
LP-MSPM33C321A
NUCLEO-G071RB
NUCLEO-U083RC
Raspberry Pi Pico 2 H
SK-TDA4VM

Works ran here and did what it shouldShould work it builds; only naming, packaging or build glue is in the way; hover for whichCould work some of it ran; real porting effort is left; hover for whatNot for this chip the chip or its vendor software cannot; hover for whyNot for this chip not enough RAM for itNot for this chip the chip has no radio for itNot for this chip the vendor offers no software for it on this chipNot for this chip a tool or build problem stopped it, not the chipNot for this chip it stopped on the air; the radio link in the room is the suspect, not the chip (not proven)

Every test, every board

The whole store, by test class; the tests that explain a chart sit under that chart. An empty cell is a gap, not a zero. Variant codes:

CodeMeans
ticlangTI Arm Clang, TI's own compiler
gccGCC, the open-source compiler Zephyr uses
armgnu14GCC 14 from the Arm GNU Toolchain
ti-c2000TI's C2000 compiler
bareno operating system
zephyrunder the Zephyr operating system
o2, o3, os, ozcompiler optimization level: o3 is fastest code, os and oz are smallest
o2unrollZephyr's speed setting: -O2 with loop unrolling. Its menu calls it -O3.
flash, ramwhere the code ran from
c28patchCoreMark patched for the C28x 16-bit byte: unofficial
hw, swmath unit in hardware, or the same math in software
nncbuilt by TI's Neural Network Compiler
c-o3the model as plain C at that optimization level
energytracemeasured with the board's own EnergyTrace probe
eoc, earlycontrol loop timed from the ADC end-of-conversion interrupt, or from the earlier ADC-start interrupt
ramfuncthe interrupt handler copied to RAM
o4, o4s0, o4s5C2000 compiler -O4 with size-against-speed settings 0 or 5
q15, q31, f32FFT in 16-bit fixed point, 32-bit fixed point, or 32-bit float
-32mhz, -4mhzthe same build run at that clock instead of the board's top clock
cli, ccs-mcp, west, uniflash, openocd, dslitethe path or tool used: command line, CCStudio's AI tools, Zephyr's tool, TI's flashers, OpenOCD
register, driverone register write, or the vendor's driver call
(one way)the test has only one way to run it, so the row has no variant code
Setup: the other tests in this class

One step of frl's connect ladder reaches the chip on its own (frl identify --connect-step) yes/no

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM33C321ALP-AM13E230
clock-100-khz132 MHz, 1 run
clock-1000-khz132 MHz, 1 run
connect-under-reset11 run1200 MHz, 1 run
probe-reset-xdsdfuNot for this chip
Sources

docs/frl.md

Print-a-message write and serial check, three runs back to back s, lower is better

VariantLP-MSPM0L1306LP-EM-CC2340R5LP-EM-CC35X1
frl132 MHz
frl-dslite9.2 to 9.848 MHz
frl-toolbox23.3 to 24.2
Sources

docs/frl.md

frl's own check fails on the board when asked for something the program does not do yes/no

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC35X1
led-log-other-pattern148 MHz, 1 run
led-other-pattern11 run11 run11 run11 run11 run11 run
uart-other-message148 MHz, 1 run11 run
Sources

docs/frl.md

frl refuses an unsafe write or restore before anything is written yes/no

VariantLP-CC1354P10-1LP-EM-CC35X1
layout-change11 run
old-backup11 run
power-cycle-other-port11 run
stale-bundle11 run
Sources

docs/frl.md

Print-a-message write and serial check, one run s, lower is better

VariantLP-MSPM0L1306LP-EM-CC35X1
frl1.5132 MHz, 1 run
frl-toolbox-hashed-copy20.21 run
Sources

docs/frl.md

Debug probe on the board yes/no

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1CC3200-LAUNCHXLLAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263P
(one way)yes1 runyes1 runyes1 runyes1 runyes1 runnoyesyesyes1 runyes1 runyes1 runno1 runyesyes1 runyes1 runnonoyes1 runyes1 run
Sources

c2000-launchpad/README.md, c2000-launchpad/tools/F28P650DK9_CL650001.ccxml, cc1354p10/README.md, cc2340r5/README.md, cc2755p10/README.md, cc3200-launchxl/README.md, esp32c6/README.md, mspm0l1306/README.md, pico2/README.md

Power in to the Linux login prompt on the serial console s, lower is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
booti-to-login-median321.4 to 21.71250 MHz
first-boot27.71 run
kernel-6.18.38-ti-kvm-reboot-to-login32.81250 MHz, 1 run
kvm-guest-alpine-qemu-start-to-poweroff19.9 to 20.21250 MHz
rom-phase1-zephyr-sram
sd-boot-to-login
systemd-kernel3.9 to 3.911250 MHz
systemd-userspace-total135.3 to 135.51250 MHz
uart-rom-ping-to-uboot-prompt420 to 422.5
uart-tiboot3-xmodem28 to 28.2
uart-tispl-xmodem190 to 191.9
uart-uboot-img-ymodem192.2 to 192.4
warm24.2 to 24.5
Sources

am62l-evm/README.md, am62l-evm/zephyr/mkphase1.sh, docs/experiments/2026-10-24-am62l-sd-boot-stall.md

Serial console shows the program banner and a running count yes/no

VariantLP-MSPM0L1306LP-MSPM0G3519LP-AM13E230
cli-wrapper
msp430-lpm3-wakeyes32 MHz, 1 runyes200 MHz, 1 run
msp430-uart-echoyes32 MHz, 1 run
rust-embassyWorks32 MHz, 1 run
Sources

ports/msp430-to-mspm0/uart-echo-lpm3/PORT.md, ports/rust-mspm0/README.md

Core: the other tests in this class

GPIO toggle cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263P
driver1.11 to 880 MHz, 1 run1.05 to 1332 MHz, 1 run2.04 to 524 MHz1.11 to 880 MHz1.08 to 880 MHz5 to 9120 MHz, 1 run2148 MHz3.0196 MHz, 1 run5 to 9.99200 MHz, 1 run10400 MHz
driver-bare-o319.248 MHz, 1 run15.148 MHz68160 MHz8.0696 MHz
driver-bare-oz3148 MHz, 1 run1948 MHz1196 MHz
driver-m337150 MHz
driver-m33-gcc127150 MHz
driver-o3
driver-riscv6150 MHz
register1 to 1.1280 MHz, 1 run1 to 1.1232 MHz, 1 run180 MHz1 to 1.1280 MHz1.56120 MHz, 1 run1.1296 MHz, 1 run1.56200 MHz, 1 run10400 MHz
register-bare-o3224 MHz, 1 run2.148 MHz, 1 run1.5148 MHz2.5 to 448 MHz38160 MHz8160 MHz3.9996 MHz
register-bare-o3-32mhz3.0232 MHz
register-bare-oz948 MHz, 1 run8.0148 MHz7.0196 MHz
register-m334150 MHz
register-m33-gcc124150 MHz
register-riscv3150 MHz
register-zephyr-o2unroll2.848 MHz, 1 run
zephyr36.2 to 4980 MHz, 1 run26 to 4232 MHz, 1 run21.5 to 3048 MHz, 1 run
zephyr-o2unroll26.848 MHz, 1 run
Sources

cc1354p10/baremetal/README.md, cc2340r5/baremetal/README.md, mspm0l1306/zephyr/README.md

256-point complex FFT ms, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
armgnu14-f324.6696 MHz, 1 run
armgnu14-q150.33296 MHz, 1 run
armgnu14-q310.25796 MHz, 1 run
cmsis-dsp
f3225.732 MHz11.180 MHz1180 MHz18.348 MHz0.47348 MHz0.107120 MHz2048 MHz4.6996 MHz, 1 run0.204160 MHz0.117200 MHz0.22496 MHz
f32-32mhz0.71632 MHz
f32-flash0.106120 MHz
f32-m330.17150 MHz
f32-riscv2.46150 MHz
q152.2532 MHz, 1 runNot for this chip0.91880 MHz0.91880 MHz1.6948 MHz0.3448 MHz1.4448 MHz0.32996 MHz, 1 run0.135160 MHz0.0755200 MHz0.1696 MHz
q15-32mhz0.49832 MHz
q15-m330.0969150 MHz
q15-riscv0.179150 MHz
q317.6832 MHz, 1 run3.2180 MHz3.2780 MHz5.3848 MHz0.55848 MHz3.7448 MHz0.25496 MHz, 1 run0.24160 MHz0.136200 MHz0.26896 MHz
q31-32mhz0.82332 MHz
q31-m330.161150 MHz
q31-riscv0.135150 MHz
Sources

data/boards.csv

sin plus cos cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
fpu-flash154.9150 MHz
fpu-flash-gcc12156.9150 MHz
fpu-flash-o3154.9150 MHz
fpu-flash-o3-gcc12156.9150 MHz
fpu-flash-os157.1150 MHz
fpu-flash-os-gcc12157.1150 MHz
fpu-gcc-bare-o3-m33152.7150 MHz
fpu-gcc-bare-o3-m33-gcc12152.7150 MHz
hw115.8 to 132.180 MHz, 1 runn/an/a109.8 to 143.180 MHz, 1 runn/an/an/a16.5120 MHzn/a
hw-flash24120 MHz
hw-tmu11.6200 MHz26.9400 MHz
riscv-nofpu-gcc-bare-o3-riscv2.2k150 MHz
sdk77.8400 MHz
sw9.9k to 10k80 MHz, 1 run8.7k to 9.1k32 MHz, 1 run10k to 11k80 MHz, 1 run8k to 8k80 MHz9.7k48 MHz, 1 run162.8120 MHz2.5k96 MHz, 1 run3.4k160 MHz495.5160 MHz, 1 run512.7200 MHz300.2400 MHz
sw-32mhz454.432 MHz, 1 run
sw-flash7.1k32 MHz522.548 MHz190.7120 MHz6.3k48 MHz451.996 MHz
sw-flash-o3451.996 MHz
sw-flash-o3-riscv2.3k150 MHz
sw-flash-os461.696 MHz
sw-flash-os-riscv2.3k150 MHz
sw-flash-riscv2.3k150 MHz
sw-ticlang-bare-o38.2k48 MHz527.948 MHz45796 MHz
sw-ticlang-bare-oz8.2k48 MHz53948 MHz465.296 MHz
Sources

mspm0l1306/zephyr/README.md

Divide cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
fpu-flash18.848 MHz21.1150 MHz18.896 MHz
fpu-flash-gcc1221.1150 MHz
fpu-flash-o321.1150 MHz18.896 MHz
fpu-flash-o3-gcc1221.1150 MHz
fpu-flash-os20.1150 MHz2396 MHz
fpu-flash-os-gcc1221.1150 MHz
fpu-gcc-bare-o3-m3317.6150 MHz
fpu-gcc-bare-o3-m33-gcc1217.6150 MHz
hw100 to 11280 MHz, 1 runn/an/a94 to 119.180 MHz, 1 runn/an/an/a8120 MHzn/a13.696 MHz, 1 run9160 MHz
hw-flash12120 MHz
hw-tmu7.86200 MHzNot for this chip
riscv-nofpu-gcc-bare-o3-riscv26150 MHz
sw262.4 to 267.580 MHz, 1 run242.2 to 253.232 MHz, 1 run263.3 to 271.580 MHz, 1 run368 to 373.180 MHz283.548 MHz, 1 run241.2120 MHz15.1160 MHz, 1 run15.1200 MHz15.9400 MHz
sw-32mhz15.132 MHz, 1 run
sw-flash509.232 MHz250.2120 MHz442.948 MHz
sw-flash-o3-riscv173.2150 MHz
sw-flash-os-riscv172.3150 MHz
sw-flash-riscv173.2150 MHz
sw-ticlang-bare-o3457.448 MHz13.848 MHz13.796 MHz
sw-ticlang-bare-oz461.648 MHz21.648 MHz20.696 MHz
Sources

mspm0l1306/zephyr/README.md

Hardware AES against software (ratio at one message size) x, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
16b-ecb-mbedtls1.23160 MHz
16b-ecb-ticlang-o2-keyin25.632 MHz, 1 run20.1200 MHz, 1 run
16b-ecb-ticlang-o2-keyout29.932 MHz, 1 run28.6200 MHz, 1 run
1kb-aes256-ecb-gcc12-o2-hal33.648 MHz
1kb-aes256-ecb-gcc12-o2-reg93.948 MHz
1kb-aes256-ecb-gcc12-o3-hal25.448 MHz
1kb-aes256-ecb-gcc12-o3-reg69.748 MHz
1kb-cbc-ticlang-o2-driver-polling45.9 to 93.748 MHz
1kb-cbc-ticlang-o3-driver-polling45.8 to 93.948 MHz
1kb-ecb-mbedtls0.83160 MHz
1kb-ecb-ticlang-o2-driver-polling128.248 MHz51.148 MHz
1kb-ecb-ticlang-o2-keyin41.732 MHz, 1 run29.8200 MHz, 1 run
1kb-ecb-ticlang-o2-keyout41.932 MHz, 1 run29.9200 MHz, 1 run
1kb-ecb-ticlang-o3-driver-polling131.548 MHz51.148 MHz
1kb-gcc12-o2-hal26 to 44.148 MHz
1kb-gcc12-o2-reg83.9 to 90.848 MHz
1kb-gcc12-o3-hal19.6 to 37.148 MHz
1kb-gcc12-o3-reg65.1 to 74.448 MHz
1kb-ticlang-o220.3 to 36.580 MHz, 1 run45.8 to 79.180 MHz45.5 to 78.580 MHz
hsm-psa
nonen/a
ticlang-o2-driver-polling92.896 MHz
ticlang-o3-driver-polling92.896 MHz
(one way)n/an/an/aNot for this chip
Sources

mspm0l1306/third-party/README.md

Hardware CRC against a table x, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
crc16-256b324 MHz, 1 run
dma-sniffer-m335.63150 MHz
dma-sniffer-riscv5.71150 MHz
gcc12-o38.3448 MHz
nonen/a
(one way)13.580 MHz, 1 run10.932 MHz, 1 run8.0980 MHz8.1280 MHzn/an/a7.0696 MHz, 1 runn/a2.7532 MHz, 1 run1.89200 MHz, 1 runn/aNot for this chip
Sources

cc2755p10/README.md, mspm0l1306/third-party/README.md

Zephyr upstream support status

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1IWRL6432BOOSTLP-AM263P
out-of-tree portWorks1 runNot for this chipWorks400 MHz, 1 run
upstreamWorks1 runNot for this chipNot for this chipWorksNot for this chipWorksNot for this chipNot for this chipWorks48 MHz, 1 runWorks1 runpartly1 runWorksNot for this chipNot for this chipNot for this chipNot for this chip
upstream-4.4.2-spiNot for this chipNot for this chip
upstream-main-boosterpackNot for this chip
upstream-main-micropythonWorks160 MHz, 1 run
upstream-main-spiWorks1 runWorks1 run
vendor-forkNot for this chipWorks96 MHz, 1 run
Sources

am263p/README.md, cc1354p10/README.md, cc2340r5/zephyr-ti/README.md, cc2340r5/zephyr/README.md, cc2755p10/README.md, cc35x1/README.md, docs/experiments/2026-10-08-zephyr-lp-mspm0g3519.md, docs/experiments/2026-10-09-am13e230-zephyr-upstream.md, iwrl6432boost/README.md, mspm0g3507/zephyr/README.md, mspm0l1306/zephyr/README.md, ports/micropython/zephyr-mspm33c321a/README.md

RTOS task switch round trip us, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
freertos12 to 1632 MHz, 1 run19.9 to 25.324 MHz7 to 8.9880 MHz10.6 to 1448 MHz7.38 to 9.4248 MHzNot for this chip9.29 to 13.248 MHz2.7696 MHz, 1 run16.5160 MHz11.5 to 14.532 MHz1.49 to 2.1200 MHz, 1 run3.5 to 4.4596 MHz
freertos-lean16.3 to 21.724 MHz
freertos-m331.91150 MHz
freertos-o39.98 to 1348 MHz7.25 to 9.1948 MHz3.44 to 4.5296 MHz
freertos-riscv2.58150 MHz
freertos-ti-example-notify5.13400 MHz, 1 run
freertos-ti-example-semaphore6.06400 MHz, 1 run
zephyr6.7280 MHz, 1 run6.9980 MHz, 1 run10.5 to 12.648 MHz, 1 run18.8 to 21.848 MHz, 1 run
Sources

mspm0c1104/freertos/README.md, mspm0l1306/freertos/README.md

Minimal tasks that fit tasks, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
freertos1132 MHz, 1 run124 MHz, 1 runNot for this chip14948 MHz, 1 run513 to 514160 MHz
freertos-heap20580 MHz5180 MHz4148 MHz38848 MHz996 MHz, 1 run39732 MHz, 1 run23896 MHz
freertos-heap-m33775150 MHz
freertos-heap-riscv731150 MHz
freertos-static4148 MHz40848 MHz25296 MHz
freertos-static4812280 MHz
freertos-unchecked224 MHz, 1 run
Sources

mspm0c1104/freertos/README.md, mspm0g3519/RESULTS-mspm0g3519.md, mspm0l1306/freertos/README.md

AES-128 CBC encrypt of 1 kB in software (tiny-AES-c) cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
gcc12-o2-flash538k48 MHz
gcc12-o3-flash405k48 MHz
ticlang-o2-flash435k80 MHz, 1 run416k32 MHz, 1 run439k80 MHz439k80 MHz424k48 MHz249k48 MHz772k120 MHz, 1 run316k32 MHz, 1 run359k200 MHz, 1 run233k96 MHz
ticlang-o2-ram628k120 MHz, 1 run
ticlang-o3-flash249k48 MHz234k96 MHz
ticlang-o4s5-ram405k120 MHz, 1 run
tinyaes-o2
Sources

Run records are in the notebook, not this copy.

AES-128 in hardware, cycles per byte cycles/B, lower is better

VariantLP-MSPM0G3507LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
16b-cbc-ticlang-o2-keyin125.548 MHz129.1 to 129.248 MHz72.296 MHz
16b-cbc-ticlang-o3-keyin126.148 MHz128.848 MHz71.296 MHz
16b-ecb-gcc12-o2-keyin-hal43.848 MHz
16b-ecb-gcc12-o2-keyin-reg14.548 MHz
16b-ecb-gcc12-o3-keyin-hal39.848 MHz
16b-ecb-gcc12-o3-keyin-reg8.8848 MHz
16b-ecb-ticlang-o2-keyin73.648 MHz91.648 MHz15.132 MHz, 1 run21.5200 MHz, 1 run40.296 MHz
16b-ecb-ticlang-o2-keyout10.332 MHz, 1 run12.2200 MHz, 1 run
16b-ecb-ticlang-o3-keyin72.948 MHz91.848 MHz39.496 MHz
1kb-cbc-gcc12-o2-keyin-hal19.848 MHz
1kb-cbc-gcc12-o2-keyin-reg6.1648 MHz
1kb-cbc-gcc12-o3-keyin-hal19.848 MHz
1kb-cbc-gcc12-o3-keyin-reg5.9748 MHz
1kb-cbc-ticlang-o2-keyin20.980 MHz, 1 run9.3580 MHz9.4280 MHz3.9948 MHz5.2948 MHz2.8496 MHz
1kb-cbc-ticlang-o3-keyin3.9848 MHz5.348 MHz2.8496 MHz
1kb-ecb-gcc12-o2-keyin-hal19.848 MHz
1kb-ecb-gcc12-o2-keyin-reg6.1348 MHz
1kb-ecb-gcc12-o3-keyin-hal19.748 MHz
1kb-ecb-gcc12-o3-keyin-reg5.9548 MHz
1kb-ecb-ticlang-o2-keyin1780 MHz, 1 run9.3380 MHz9.3980 MHz3.1748 MHz4.6548 MHz7.4332 MHz, 1 run11.8200 MHz, 1 run2.3996 MHz
1kb-ecb-ticlang-o2-keyout7.3532 MHz, 1 run11.7200 MHz, 1 run
1kb-ecb-ticlang-o3-keyin3.1748 MHz4.6448 MHz2.3896 MHz
acceleratorNot for this chip
hsm-psa
Sources

am62l-evm/README.md

AES-128 in software (tiny-AES-c), cycles per byte cycles/B, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
16b-ecb-ticlang-o2-keyin501.948 MHz311.6 to 311.848 MHz385.132 MHz, 1 run432.9200 MHz, 1 run288.896 MHz
16b-ecb-ticlang-o2-keyout400.448 MHz231.448 MHz308.332 MHz, 1 run348.1200 MHz, 1 run216.496 MHz
16b-ecb-ticlang-o3-keyin512.648 MHz310.848 MHz288.496 MHz
16b-ecb-ticlang-o3-keyout410.848 MHz231.148 MHz216.496 MHz
16kb-cbc-openssl-armv8ce1.331250 MHz, 1 run
1kb-cbc-gcc12-o2-flash-keyout525.448 MHz
1kb-cbc-gcc12-o3-flash-keyout395.548 MHz
1kb-cbc-ticlang-o2-flash-keyout424.780 MHz, 1 run405.932 MHz, 1 run428.680 MHz428.680 MHz754.3120 MHz, 1 run
1kb-cbc-ticlang-o2-keyout404.748 MHz235.448 MHz220.396 MHz
1kb-cbc-ticlang-o2-ram-keyout613.7120 MHz, 1 run
1kb-cbc-ticlang-o3-keyout417.448 MHz235.148 MHz221.596 MHz
1kb-cbc-ticlang-o4s5-ram-keyout395.4120 MHz, 1 run
1kb-ecb-ticlang-o2-keyin309.332 MHz, 1 run350.5200 MHz, 1 run
1kb-ecb-ticlang-o2-keyout397.948 MHz229.748 MHz308.232 MHz, 1 run349.4200 MHz, 1 run214.596 MHz
1kb-ecb-ticlang-o3-keyout408.248 MHz229.348 MHz214.296 MHz
tinyaes-o2
Sources

am62l-evm/README.md

Memory bandwidth, STREAM-style triad MB/s, higher is better

VariantLP-AM263PSK-TDA4VMTMDS62LEVM (AM62L EVM)
bytecopy-64k-ocram-beside-loop-core159.2400 MHz
bytecopy-64k-ocram-beside-loop-core258.6400 MHz
bytecopy-64k-ocram-beside-loop-core361.4400 MHz
bytecopy-64k-ocram-cores1to3-core159.2400 MHz
bytecopy-64k-ocram-cores1to3-core258.6400 MHz
bytecopy-64k-ocram-cores1to3-core361.4400 MHz
copy-1t1,6351250 MHz, 1 run
copy-2t2,418.51250 MHz, 1 run
triad-1t4,7891,521.51250 MHz, 1 run
triad-1t-3runs4,793 to 4,795
triad-2t5,3852000 MHz2,392.11250 MHz, 1 run
wordcopy-64k-ocram-beside-loop-core1247.4 to 247.5400 MHz
wordcopy-64k-ocram-beside-loop-core2235.4400 MHz
wordcopy-64k-ocram-beside-loop-core3296.5400 MHz
wordcopy-64k-ocram-cores1to3-core1247.5 to 248400 MHz
wordcopy-64k-ocram-cores1to3-core2235.3 to 235.4400 MHz
wordcopy-64k-ocram-cores1to3-core3296.5400 MHz
wordcopy-nearcore0-64k-ocram-beside-loop-core1326.7400 MHz
wordcopy-nearcore0-64k-ocram-beside-loop-core2261.8400 MHz
wordcopy-nearcore0-64k-ocram-beside-loop-core3308.5 to 308.6400 MHz
wordcopy-nearcore0-64k-ocram-cores1to3-core1327.2 to 327.4400 MHz
wordcopy-nearcore0-64k-ocram-cores1to3-core2262.2 to 262.3400 MHz
wordcopy-nearcore0-64k-ocram-cores1to3-core3309.1 to 309.3400 MHz
Sources

am62l-evm/README.md

TI OptiFlash benchmark: 16 tasks, no copy (the 0 B row), code where the variant says ms, lower is better

VariantLP-AM263P
ocram14.6400 MHz
xip126.6 to 129400 MHz
xip-l2-16k91.8400 MHz
xip-l2-32k65.5400 MHz
xip-l2-64k34.6400 MHz
xip-l2-8k110.4 to 111.2400 MHz
xip-sp13.3400 MHz
Sources

Run records are in the notebook, not this copy.

Hardware video decode throughput fps, higher is better

VariantSK-TDA4VM
1080p-h264-166.7 to 67.5
1080p-h264-291.11 run
1080p-h264-489.41 run
1080p-h264-zerocopyNot for this chip
1280x768-h264-14521 run
1280x768-h264-24611 run
1280x768-h264-44491 run
1280x768-h264-zerocopy499.61 run
Sources

Run records are in the notebook, not this copy.

Hardware video encode throughput fps, higher is better

VariantSK-TDA4VM
1080p-h26442
1080p-h264-hw-transcode53.7
1080p-jpeg-software411 run
720p-h2641311 run
Sources

Run records are in the notebook, not this copy.

Holoscan Sensor Bridge device emulation: CPU cost of the packetizer process %, lower is better

VariantSK-TDA4VM
1080p-raw8-30fps-ticks37.21 run
1080p-raw8-30fps-wire-perf37.41998 MHz, 1 run
1080p-raw8-60fps-mtu1500-perf98.11998 MHz, 1 run
1080p-raw8-60fps-mtu9000-perf371998 MHz, 1 run
1080p-raw8-60fps-ticks52.21 run
720p-raw8-30fps-ticks16.51 run
720p-raw8-30fps-wire-perf21.91998 MHz, 1 run
720p-raw8-60fps-ticks331 run
Sources

Run records are in the notebook, not this copy.

Holoscan Sensor Bridge stream: frames received intact by the host-side check %, higher is better

VariantSK-TDA4VM
1080p-raw8-30fps-wire-macosNot for this chip
720p-raw8-10fps-python1001 run
720p-raw8-10fps-wire-macos1001 run
720p-raw8-30fps-pythonNot for this chip
720p-raw8-30fps-wire-macos1001 run
Sources

Run records are in the notebook, not this copy.

Software H.264 decode (baseline profile, no video hardware): frames per second fps, higher is better

VariantLP-MSPM33C321ALP-AM13E230LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
h264-1280x720-main-600k30-ffmpeg8-t152.61250 MHz
h264-1280x720-main-600k30-ffmpeg8-t2771250 MHz
h264-1280x720-main-600k30-h264bsd-o3Not for this chip
h264-1280x720-ref1-600k30-ffmpeg8-t175.71250 MHz
h264-1280x720-ref1-600k30-ffmpeg8-t2110.31250 MHz
h264-1280x720-ref1-600k30-h264bsd-o340.81250 MHz
h264-128x96-ref1-os149.8200 MHz
h264-160x112-ref1-os109.9200 MHz
h264-176x144-ref1-o359.8160 MHz84.7200 MHz
h264-176x144-ref1-os57.4160 MHz86.1200 MHz
h264-1920x1080-main-600k30-ffmpeg8-t123.51250 MHz
h264-1920x1080-main-600k30-ffmpeg8-t235.51250 MHz
h264-1920x1080-ref1-600k30-ffmpeg8-t1341250 MHz
h264-1920x1080-ref1-600k30-ffmpeg8-t250.21250 MHz
h264-1920x1080-ref1-600k30-h264bsd-o3171250 MHz
h264-240x240-ref1-o334.8160 MHz
h264-240x240-ref1-os33.3160 MHz
h264-320x240-ref1-600k30-ffmpeg8-t1451.11250 MHz
h264-320x240-ref1-600k30-ffmpeg8-t2538.61250 MHz
h264-320x240-ref1-os
h264-540x540-ref1-ffmpeg8-t1172.11250 MHz
h264-540x540-ref1-ffmpeg8-t2246.51250 MHz
h264-540x540-ref1-h264bsd-o397.51250 MHz
h264-640x360-bbb-ffmpeg8-t1174.71250 MHz
h264-640x360-bbb-ffmpeg8-t2245.11250 MHz
h264-640x360-bbb-h264bsd-o3102.81250 MHz
h264-640x360-main-600k30-ffmpeg8-t1146.51250 MHz
h264-640x360-main-600k30-ffmpeg8-t2210.41250 MHz
h264-640x360-ref1-600k30-ffmpeg8-t1231.71250 MHz
h264-640x360-ref1-600k30-ffmpeg8-t2310.21250 MHz
moonlight-embedded-local-test-stream
Sources

docs/experiments/2026-10-23-am62l-h264-decode.md, portability/h264/SOURCE.md

RAM the software H.264 decode needs: decoder heap peak plus input buffer plus RGB565 strip B, lower is better

VariantLP-MSPM33C321ALP-AM13E230LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
h264-1280x720-ref1-600k30-h264bsd-o33.5 MB1250 MHz
h264-1280x720-ref1-600k30-osNot for this chip 3.2 MB shortNot for this chip 3.3 MB shortNot for this chip 2.98 MB short
h264-128x96-ref1-os55.3 kB200 MHz
h264-160x112-ref1-os76.8 kB200 MHz
h264-176x144-ref1-o3108.3 kB160 MHz105.5 kB200 MHz
h264-176x144-ref1-os108.3 kB160 MHz105.5 kB200 MHz
h264-1920x1080-ref1-600k30-h264bsd-o38 MB1250 MHz
h264-1920x1080-ref1-600k30-osNot for this chip 7.5 MB shortNot for this chip 7.6 MB shortNot for this chip 7.3 MB short
h264-240x240-ref1-o3233.5 kB160 MHz
h264-240x240-ref1-os233.5 kB160 MHzNot for this chip 99.8 kB short
h264-320x240-ref1-osNot for this chip 52.6 kB shortNot for this chip 173.1 kB short
h264-480x270-ref1-600k30-osNot for this chip 260.9 kB shortNot for this chip 381.4 kB shortNot for this chip 69.4 kB short
h264-540x540-ref1-h264bsd-o31.2 MB1250 MHz
h264-540x540-ref1-osNot for this chip 885.8 kB shortNot for this chip 1,007.4 kB shortNot for this chip 694.2 kB short
h264-640x360-bbb-h264bsd-o31.6 MB1250 MHz
h264-640x360-ref1-600k30-osNot for this chip 657.5 kB shortNot for this chip 778 kB shortNot for this chip 466 kB short
Sources

docs/experiments/2026-10-23-am62l-h264-decode.md, portability/h264/SOURCE.md

OpenGL ES on the GPU: kmscube or glmark2 frames per second fps, higher is better

VariantSK-TDA4VM
kmscube
Sources

Run records are in the notebook, not this copy.

Parallel RGB scan-out from a frame buffer: frames per second with every frame's pixel sum checked against the buffer fps, higher is better

VariantLP-AM263P
pru-rgb565-480x480-22mhz76.3400 MHz
pru-rgb565-480x480-22mhz-r5f-copy-same-bank76.3400 MHz
pru-rgb565-800x480-22mhz45.6400 MHz
pru-rgb565-800x480-22mhz-r5f-copy-same-bankNot for this chip
pru-rgb565-800x480-28mhzNot for this chip
Sources

docs/experiments/2026-10-11-am263p-pru-rgb-scanout.md

PRU read bandwidth into its registers, 64-byte blocks, data checked MB/s, higher is better

VariantLP-AM263P
lbbo32x2-ocsram54400 MHz
lbbo64-ocsram56.9400 MHz
lbbo64-pru-dram640400 MHz
lbbo64-pru-shared640400 MHz
xfr2vbus-ocsram48.9400 MHz
Sources

docs/experiments/2026-10-11-am263p-pru-rgb-scanout.md

What a display scan-out costs the CPU: change in a measured CPU workload's cycles with the scan-out running %, lower is better

VariantLP-AM263P
pru-h264-320x2400.01400 MHz
Sources

docs/experiments/2026-10-11-am263p-pru-rgb-scanout.md

CPU cycles per single word load from each memory (unrolled independent loads) cycles, lower is better

VariantLP-EM-CC35X1
code-ram1.6160 MHz, 1 run
dram6.2160 MHz, 1 run
flash44160 MHz, 1 run
tcm1.06160 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Data-cache hit and miss counters readable from the application yes/no

VariantLP-EM-CC35X1
data-cache-hit-and-miss
Sources

docs/experiments/2026-10-20-doom-smallest-ti-chip.md

External flash read mode or clock changeable from the application yes/no

VariantLP-EM-CC35X1
external-flash-read-mode
Sources

docs/experiments/2026-10-20-doom-smallest-ti-chip.md

Size of the on-board QSPI NOR flash B

VariantLP-MSPM33C321A
onboard-nor-jedec-c2201816 MB160 MHz, 1 run
Sources

docs/experiments/2026-10-21-mspm33c321a-qspi-dump-doom-data.md

Time to read 256 bytes from the on-board QSPI flash us, lower is better

VariantLP-MSPM33C321A
quad-io-0xeb-40mhz-sdk-polled23.8160 MHz, 1 run
Sources

docs/experiments/2026-10-21-mspm33c321a-qspi-dump-doom-data.md

CPU cycles per instruction of a whole program, from its time and an emulator instruction count cycles/instr, lower is better

VariantLP-MSPM33C321A
doom-m33whx-board1.65 calc.
Sources

docs/experiments/2026-10-21-mspm33c321a-qspi-dump-doom-data.md

Time for the Lisp Tak benchmark (tak 18 12 6) s, lower is better

VariantLP-MSPM0G5187
ulisp-4.9a7.580 MHz
Sources

Run records are in the notebook, not this copy.

Time for the Lisp (fib 23) benchmark s, lower is better

VariantLP-MSPM0G5187
ulisp-4.9a5.280 MHz
Sources

Run records are in the notebook, not this copy.

Time for the Lisp (fib 20) benchmark s, lower is better

VariantLP-MSPM0G5187
ulisp-4.9a1.280 MHz
Sources

Run records are in the notebook, not this copy.

Time for the Lisp queens benchmark (q2 7 8) s, lower is better

VariantLP-MSPM0G5187
ulisp-4.9a19.280 MHz
Sources

Run records are in the notebook, not this copy.

Time of one garbage collection in the Lisp interpreter us, lower is better

VariantLP-MSPM0G5187
ulisp-4.9a1,07480 MHz
Sources

Run records are in the notebook, not this copy.

Free objects in the Lisp workspace after boot and a collection count, higher is better

VariantLP-MSPM0G5187
ulisp-4.9a2,80080 MHz
Sources

Run records are in the notebook, not this copy.

The Lisp interpreter reads an ADC channel yes/no

VariantLP-MSPM0G5187
ulisp-4.9a
Sources

ports/ulisp/README.md

The Lisp interpreter saves its workspace to flash and restores it yes/no

VariantLP-MSPM0G5187
ulisp-4.9a
Sources

ports/ulisp/README.md

A long program pasted in one burst while another runs loses no characters yes/no

VariantLP-MSPM0G5187
ulisp-4.9ano80 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Analog: the other tests in this class

Fastest ADC with DMA Msps, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
12bit-s20.84124 MHz, 1 run
12bit-s40.73924 MHz, 1 run
12bit-s80.59524 MHz, 1 run
dma2.5396 MHz, 1 run
internal1.7148 MHz
pico-sdk-dma-m330.499150 MHz
pico-sdk-dma-riscv0.5150 MHz
ti-adcbuf-dma1.248 MHz0.248 MHz1.296 MHz
ti-continuous-36cyc2.1120 MHz, 1 run
ti-continuous-9cyc3.98120 MHz, 1 run
ti-example-single-blockNot for this chip
(one way)3.9332 MHz, 1 run1.4532 MHz, 1 run124 MHz3.9332 MHz, 1 run0.54732 MHz5160 MHz, 1 run0.17160 MHz
Sources

cc35x1/adc/build.sh, mspm33c321a/tools/build_adc.sh

DAC to ADC loop error %, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263P
dac10-ain169.4200 MHz
internalNot for this chip
pwm-rc
(one way)0.3432 MHzn/an/a0.05532 MHz, 1 runn/an/an/a
Sources

cc2755p10/README.md

Fastest clean UART loopback Mbaud, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HLP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LAUNCHXL-F28P65XLP-AM263P
internalNot for this chip
internal-loopback12.5200 MHz, 1 run
uart0
uart0-to-uart051 run
uart1396 MHz
uc0-to-uc16.25200 MHz, 1 run
wire7.5120 MHz, 1 run
(one way)10.732 MHz10.732 MHz824 MHz10.732 MHz10.732 MHz
Sources

am13e230/tools/build_example.sh, cc35x1/uartloop/uart_loop.c

Power: the other tests in this class

Deepest sleep with RAM kept (STANDBY-class) uA, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153LP-MSPM33C321ALP-AM13E230LP-EM-CC35X1LP-AM263PTMDS62LEVM (AM62L EVM)
ddr-self-refresh-rtcwake-mem
energytrace-3.3v
energytrace-3.3v-standby06.21 run
meter-3.3v
msp430-lpm3-wake
ti-c2000-standby-borrowed-energytrace2,590120 MHz, 1 run
(one way)
Sources

am62l-evm/README.md, cc1354p10/README.md, ports/msp430-to-mspm0/lpm3-wake/PORT.md

Energy per BLE connection (BlueJoule job) uJ, lower is better

VariantLP-MSPM0L1306LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RC
nonen/a
(one way)n/an/a
Sources

cc1354p10/README.md, mspm0l1306/README.md

Energy per CoreMark iteration uJ, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230LP-AM263P
meter
ti-c2000-o4s5-flash-borrowed-energytrace828.1120 MHz
ticlang-bare-o3-4mhz-energytrace175.54 MHz, 1 run
ticlang-bare-o3-energytrace109.632 MHz, 1 run
(one way)
Sources

cc1354p10/README.md

Energy per occupancy inference uJ, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230
Room occupancy: small, TI neural-network compiler, on the CPU, EnergyTrace673.480 MHz
Room occupancy: small, TI neural-network compiler, on the CPU, EnergyTrace, floor subtracted21.3 to 22.680 MHz
Room occupancy: small, TI neural-network compiler, on the NPU, EnergyTrace81.280 MHz
Room occupancy: small, TI neural-network compiler, on the NPU, EnergyTrace, floor subtracted2.36 to 2.680 MHz
Room occupancy: large, TI neural-network compiler, on the CPU, EnergyTrace8,927.580 MHz
Room occupancy: large, TI neural-network compiler, on the CPU, EnergyTrace, floor subtracted303.2 to 353.680 MHz
Room occupancy: large, TI neural-network compiler, on the NPU, EnergyTrace3,856.580 MHz
Room occupancy: large, TI neural-network compiler, on the NPU, EnergyTrace, floor subtracted92.3 to 120.980 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, EnergyTrace276.380 MHz
Room occupancy: tiny, TI neural-network compiler, on the CPU, EnergyTrace, floor subtracted8.73 to 8.9680 MHz
Room occupancy: tiny, TI neural-network compiler, on the NPU, EnergyTrace72.180 MHz
Room occupancy: tiny, TI neural-network compiler, on the NPU, EnergyTrace, floor subtracted2.31 to 2.3380 MHz
Room occupancy: medium, plain C -O3, metered run
Room occupancy: medium, TI neural-network compiler, on the CPU, EnergyTrace2,552.980 MHz
Room occupancy: medium, TI neural-network compiler, on the CPU, EnergyTrace, floor subtracted85.7 to 94.380 MHz
Room occupancy: medium, TI neural-network compiler, on the NPU, EnergyTrace118.980 MHz
Room occupancy: medium, TI neural-network compiler, on the NPU, EnergyTrace, floor subtracted4.23 to 4.9280 MHz
ti-c2000-borrowed-energytrace
(one way)
Sources

cc1354p10/README.md

Active current per MHz running CoreMark (slope between two clocks) uA/MHz, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153LP-MSPM33C321ALP-AM13E230LP-EM-CC35X1LP-AM263P
energytrace-3.3v
energytrace-3.3v-coremark72.932 MHz, 1 run
ti-c2000-borrowed-energytrace263120 MHz, 1 run
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Lightest sleep, CPU off, clocks on (SLEEP) uA, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC35X1
energytrace-3.3v-sleep094032 MHz, 1 run
ti-c2000-idle-borrowed-energytrace23,240120 MHz
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

STOP-class mode, low-speed clock kept uA, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC35X1
energytrace-3.3v-stop032932 MHz, 1 run
noneNot for this chip
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Deepest mode, RAM lost, pin wake uA, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-AM13E230
energytrace-3.3v
energytrace-3.3v-shutdownReference: 1.500 mA raw
meter-3.3v
msp430-fram-persist
ti-c2000-halt-borrowed-energytraceReference: 1.500 mA raw
(one way)

For the shutdown-current reference rows, the raw 1.500 mA reading is subtracted from every other row.

Sources

cc1354p10/README.md, cc2340r5/FAQ.md, ports/msp430-to-mspm0/fram-persist/PORT.md

Deepest sleep with a 1 s timer wake and nothing to do uA, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC35X1
energytrace-3.3v
energytrace-3.3v-standby0-1s
ti-c2000-standby-wd-borrowed-energytrace3,540
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Deepest sleep with RAM kept to first instruction us, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321ALP-EM-CC35X1
energytrace-3.3v
msp430-lpm3-wake
pin-toggle
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md, ports/msp430-to-mspm0/lpm3-wake/PORT.md

Energy per ADC sample at 1 ksps from sleep uJ, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RC
energytrace-3.3v
ti-c2000-borrowed-energytrace
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Energy per 1 kB flash write uJ, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RC
energytrace-3.3v
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Energy per radio transmit event (one advertisement or one packet) uJ, lower is better

VariantLP-MSPM0L1306LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RC
nonen/a
(one way)n/an/a
Sources

cc1354p10/README.md, cc2340r5/FAQ.md

Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between days, higher is better

VariantLP-MSPM0L1306LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCLP-MSPM33C321A
cc1407p-shed-sensor-every-1-04s-2xaa304 calc.
cc1407p-shed-sensor-every-10s-2xaa2,729 calc.
cc1407p-shed-sensor-every-300s-2xaa26,178 calc.
cc1407p-shed-sensor-every-60s-2xaa11,979 calc.
energytrace-3.3v1,12032 MHz, 1 run
ti-c2000-borrowed-energytrace3.6120 MHz, 1 run
(one way)
Sources

cc1354p10/README.md, cc2340r5/FAQ.md, site/data/radio-demos.json

Hottest thermal zone after 10 minutes of sustained load C, lower is better

VariantSK-TDA4VM
coremark2t-plus-tidl-reset-at-60s92.61 run
Sources

Run records are in the notebook, not this copy.

CPU clock ticks counted across one sleep (a stopped clock counts only the wake) ticks

VariantLP-MSPM0L1306
msp430-lpm3-wake-sleep15,171,11332 MHz
msp430-lpm3-wake-standby033,80332 MHz
Sources

Run records are in the notebook, not this copy.

Period between wakes from deep sleep, read by the host clock ms

VariantLP-MSPM0L1306
msp430-lpm3-wake997.432 MHz
Sources

Run records are in the notebook, not this copy.

Display: the other tests in this class

Full redraw of a 320x480 RGB565 SPI screen (ST7796S) ms, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-MSPM33C321A
doom-view-80-rows-dma-16mhz14.6 to 17.6160 MHz, 1 run
edumkii-core-dma-16mhz19.532 MHz
edumkii-core-dma-8mhz3932 MHz
edumkii-core-fill-dma-16mhz2032 MHz
edumkii-core-polled-16mhz55.332 MHz
edumkii-core-polled-8mhz67.632 MHz
edumkii-st7735s-128x128-16mhz35.332 MHz, 1 run
edumkii-st7735s-128x128-8mhz56.932 MHz, 1 run
edumkii-st7735s-coreNot for this chip
none
sharp128-ls013b7dh03-1mhz-bands-16row41.124 MHz, 1 run
sharp128-ls013b7dh03-1mhz-bands-1row153.724 MHz, 1 run
sharp128-ls013b7dh03-1mhz-framebuffer
spi16-dma16168.132 MHz, 1 run168.132 MHz, 1 run
spi20-cpu80-polled-fill134.480 MHz
spi20-dma16134.480 MHz, 1 run134.480 MHz, 1 run
spi40-cpu80-polled-fill67.280 MHz
spi40-dma1667.280 MHz, 1 run67.280 MHz, 1 run
spi8-cpu8364.932 MHz, 1 run364.832 MHz, 1 run
touch-games-2048-spi20324.780 MHz
touch-games-2048-spi40165.680 MHz
touch-games-menu-spi20201.780 MHz
touch-games-menu-spi40103.580 MHz
touch-games-mines-spi20331.980 MHz
touch-games-mines-spi40206.980 MHz
(one way)Not for this chipNot for this chip
Sources

data/benchmark-suite.json, docs/experiments/2026-10-20-doom-smallest-ti-chip.md, mspm0g3507/display-test/README.md, portability/boosterpacks/edumkii/boards/mspm0l1306/PINS.md, portability/boosterpacks/edumkii/build.sh, portability/boosterpacks/edumkii/examples/framebench/framebench.c, portability/boosterpacks/sharp128/README.md

Power-up to SPI screen initialized and on ms, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-MSPM33C321A
edumkii-screen-pattern
edumkii-st7735s-coreNot for this chip
fast12.232 MHz, 1 run12.232 MHz, 1 run
none
sharp128-power-to-picture
usual370.232 MHz, 1 run370.232 MHz, 1 run
(one way)Not for this chipNot for this chip
Sources

data/benchmark-suite.json, mspm0g3507/display-test/README.md, portability/boosterpacks/edumkii/boards/mspm0l1306/PINS.md, portability/boosterpacks/edumkii/build.sh, portability/boosterpacks/sharp128/README.md

LVGL demo screen refreshes per second fps, higher is better

VariantLP-MSPM0G3507LP-MSPM0C1104LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-MSPM33C321ATMDS62LEVM (AM62L EVM)
arduboy-crate-confusion-edumkii30.832 MHz, 1 run
arduboy-snake-edumkii32.932 MHz, 1 run
arduboy-tileworld-edumkii30.632 MHz, 1 run
chocolate-doom-3.1.0-timedemo-demo1-kmsdrm-1080p61250 MHz, 1 run
chocolate-doom-3.1.0-timedemo-demo1-weston-pixman-1080p6.541250 MHz, 1 run
doom-cpu-only94 calc.
doom-m33whx-board-cached-16kb21.9160 MHz, 1 run
doom-m33whx-board-cached-8kb19.9160 MHz, 1 run
doom-m33whx-cached-16kb-emulated19.7 calc.
doom-m33whx-cpu-only42 calc.
doom-m33whx-edumkii-c16-realtime24.5160 MHz, 1 run
doom-m33whx-edumkii-c8-realtime22.7160 MHz, 1 run
doom-m33whx-edumkii-c8-stepped19.3160 MHz, 1 run
doom-m33whx-edumkii-play-by-hand
doom-m33whx-edumkii-play-e1m131160 MHz, 1 run
doom-on-board
doomgeneric-fbdev-timedemo-demo1-1280x1000-scale4x5185.8 to 192.71250 MHz
doomgeneric-fbdev-timedemo-demo1-320x200-scale1x1412.91250 MHz, 1 run
doomgeneric-fbdev-timedemo-demo1-960x800-scale3x4240.61250 MHz, 1 run
dsda-doom-0.29-timedemo-demo1-1280x72010.51250 MHz, 1 run
dsda-doom-0.29-timedemo-demo1-640x48027.21250 MHz, 1 run
lvgl-9.3-drm-1080p181250 MHz
lvgl-9.3-fbdev-1080p54.11250 MHz
lvgl9.6-32mhz-spi16732 MHz, 1 run732 MHz
lvgl9.6-32mhz-spi16-buf4010 to 1332 MHz, 1 run
lvgl9.6-80mhz-spi2013 to 1880 MHz, 1 run
lvgl9.6-80mhz-spi4015 to 1980 MHz, 1 run15 to 1980 MHz
lvgl9.6-80mhz-spi40-buf4015 to 1980 MHz, 1 run
lvgl9.6-full-demo-32mhz-spi16732 MHz, 1 run
none
peanut-gb-tobu-edumkii6.732 MHz, 1 run
peanut-gb-tobu-edumkii-160mhz-full
peanut-gb-tobu-edumkii-160mhz-full-model42 calc.
peanut-gb-tobu-edumkii-160mhz-skip
peanut-gb-tobu-edumkii-160mhz-skip-model84 calc.
peanut-gb-tobu-edumkii-160mhz-skip-paced59.7160 MHz, 1 run
peanut-gb-tobu-edumkii-32mhz-full
peanut-gb-tobu-edumkii-32mhz-full-model17 calc.
peanut-gb-tobu-edumkii-32mhz-skip
peanut-gb-tobu-edumkii-32mhz-skip-model27 calc.
qt-quick-software-1080p
redroid-12-scrcpy-5.0.1-hdmi-1080p-settings-scroll1.1 to 21250 MHz, 1 run
retroarch-1.20-gambatte-tobu-tobu-girl-hdmi-1920x108010.41250 MHz, 1 run
retroarch-1.20-gambatte-tobu-tobu-girl-hdmi-640x480481250 MHz, 1 run
retroarch-core-controller
sharp128-player-fatfs
sharp128-player-pff
slint-1.17.1-linuxkms-software-1080p41.9 to 42.11250 MHz
steam-light-2d-game-box64-llvmpipe
supertuxkart-1.5-arm64-hdmi-640x480-fullscreen21250 MHz, 1 run
supertuxkart-1.5-arm64-profile-1280x7202.421250 MHz, 1 run
supertuxkart-1.5-arm64-profile-640x4804.481250 MHz, 1 run
supertuxkart-1.5-x86_64-box64-0.3.4-profile-640x480Not for this chip
thermostat-80mhz-spi408 to 1080 MHz, 1 run
zephyr-lvgl9.5Not for this chip
(one way)Not for this chipNot for this chip
Sources

am62l-evm/bench/logs/showcase/stk-640x480-race.jpg, data/benchmark-suite.json, docs/experiments/2026-10-20-doom-smallest-ti-chip.md, docs/experiments/2026-10-21-mspm33c321a-qspi-dump-doom-data.md, docs/experiments/2026-10-24-am62l-doom-controller.md, docs/experiments/2026-10-24-am62l-hmi-shootout.md, docs/experiments/2026-10-25-am62l-steam-box64.md, portability/boosterpacks/edumkii/examples/gameboy/gb_app.cpp, portability/boosterpacks/edumkii/examples/snake/frl_edumkii.cpp, portability/boosterpacks/sharp128/README.md, ports/doom/README.md, ports/peanut-gb/README.md, thermostat-system/g3519-zephyr/README.md

Baseline JPEG decode of one 160 x 120 frame (picojpeg), one block row at a time cycles, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G3519LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137
ticlang-o2-flash6.37M80 MHz, 1 run5.88M32 MHz, 1 run6.52M80 MHz6.61M48 MHz3.42M48 MHz9.43M120 MHz, 1 run
ticlang-o2-ram7.46M120 MHz, 1 run
ticlang-o3-flash5.62M48 MHz2.99M48 MHz
ticlang-o4s5-ram7.09M120 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

SPI controller transmit at a stated clock, nothing attached kB/s, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137
16bit-12mhz1,33948 MHz1,33948 MHz
16bit-13mhz1,48880 MHz, 1 run
16bit-16mhz1,78532 MHz, 1 run
16bit-24mhz-over-spec2,67848 MHz2,67848 MHz
16bit-30mhz3,662120 MHz, 1 run
16bit-40mhz-over-spec4,46380 MHz, 1 run
8bit-12mhz1,23448 MHz
8bit-24mhz-over-spec1,95348 MHz
8bit-30mhz1,957120 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

SPI transmit as a percent of the wire rate %, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137
16bit-12mhz91.448 MHz91.448 MHz
16bit-13mhz91.480 MHz, 1 run
16bit-16mhz91.432 MHz, 1 run
16bit-24mhz-over-spec91.448 MHz91.448 MHz
16bit-30mhz100120 MHz, 1 run
16bit-40mhz-over-spec91.480 MHz, 1 run
8bit-12mhz84.248 MHz84.248 MHz
8bit-13mhz84.280 MHz, 1 run
8bit-16mhz84.232 MHz, 1 run
8bit-24mhz-over-spec66.748 MHz
8bit-30mhz53.5120 MHz, 1 run
8bit-40mhz-over-spec84.280 MHz, 1 run
cc1407p-spi-1mhz-ofdm-opt1-mcs6-200b7880 MHz
cc1407p-spi-2mhz-ofdm-opt1-mcs6-200b6580 MHz
cc1407p-spi-4mhz-ofdm-opt1-mcs6-200b4880 MHz
cc1407p-spi-8mhz-ofdm-opt1-mcs6-200b3180 MHz
Sources

Run records are in the notebook, not this copy.

2048: one swipe (slide, spawn, redraw changed tiles) on a touch panel ms, lower is better

VariantLP-MSPM0G3519
spi20-cpu80-first1047.380 MHz
spi20-cpu80-mean6061.6 to 89.680 MHz
spi40-cpu80-first1024.980 MHz
spi40-cpu80-mean6032.6 to 47.580 MHz
Sources

Run records are in the notebook, not this copy.

Minesweeper: one tap that redraws one cell ms, lower is better

VariantLP-MSPM0G3519
spi20-cpu801.680 MHz
spi40-cpu801.0980 MHz
Sources

Run records are in the notebook, not this copy.

Minesweeper: first tap of a board (places mines, may open a region) ms, lower is better

VariantLP-MSPM0G3519
spi20-cpu8032.5 to 102.280 MHz
spi40-cpu8021.7 to 67.980 MHz
Sources

Run records are in the notebook, not this copy.

Minesweeper: long press that places a flag ms, lower is better

VariantLP-MSPM0G3519
spi20-cpu808.3880 MHz
spi40-cpu804.9480 MHz
Sources

Run records are in the notebook, not this copy.

One read of the touch chip registers us, lower is better

VariantLP-MSPM0G3519
ft6336u-softi2c-5byte88680 MHz
Sources

Run records are in the notebook, not this copy.

Deepest stack use of the touch games after the scripted run B, lower is better

VariantLP-MSPM0G3519
touch-games59280 MHz
Sources

Run records are in the notebook, not this copy.

Touch to changed pixel (computed from measured parts, or measured with a real finger) ms, lower is better

VariantLP-MSPM0G3519
real-finger
swipe-2048-spi40-estimate31 calc.
tap-one-cell-spi40-estimate7 calc.
Sources

ports/touch-games/README.md

A person looked at the games on the panel and touch worked yes/no

VariantLP-MSPM0G3519
2048-and-minesyes1 run
Sources

ports/touch-games/README.md

Instructions per drawn frame of an emulator port, counted in an Arm emulator instructions, lower is better

VariantLP-MSPM33C321A
peanut-gb-acc02.85M to 2.73M1 run
peanut-gb-base2.85M to 2.73M1 run
peanut-gb-lut1.19M to 1.09M1 run
peanut-gb-o21.04M to 921k1 run
peanut-gb-o31.06M to 935k1 run
peanut-gb-skip593k to 488k1 run
peanut-gb-skip-ram594k to 488k1 run
peanut-gb-zero934k to 816k1 run
Sources

ports/peanut-gb/speed/emu_pgb.py

Emulator frames that finished after their due time, paced to the console clock count, lower is better

VariantLP-MSPM33C321A
peanut-gb-tobu-edumkii-160mhz-skip-paced0160 MHz, 1 run
Sources

ports/peanut-gb/README.md

Instructions per second of an interpreter port with no screen and the display wait off instructions/s, higher is better

VariantLP-MSPM0G3519
chip8-core-flat-out526,153 to 472,66980 MHz, 1 run
Sources

ports/chip8/README.md

Interpreter speed divided by the pace a typical program needs x, higher is better

VariantLP-MSPM0G3519
chip8-vs-700ips751 calc.
Sources

ports/chip8/README.md

Time to redraw the whole emulated screen to the panel us, lower is better

VariantLP-MSPM0G3519
chip8-64x32-5x14,21280 MHz, 1 run
Sources

ports/chip8/README.md

A finger on the panel pad reaches the program as a key press yes/no

VariantLP-MSPM0G3519
chip8-pad
Sources

ports/chip8/README.md

A finger on the touch keyboard reaches the program as a typed character yes/no

VariantLP-MSPM0G3519
zx48-keyboard
Sources

ports/zx-spectrum/README.md

Emulated machine speed as per mille of the real machine, 159 meaning 15.9 percent per mille, higher is better

VariantLP-MSPM0G3519
zx48-estimate-from-coremark200 calc.
zx48-o2-flash-core15980 MHz, 1 run
zx48-o2-flash-total12380 MHz, 1 run
zx48-o2-sram-core18980 MHz, 1 run
zx48-o2-sram-total14080 MHz, 1 run
zx48-o3-flash-core14080 MHz, 1 run
zx48-opense-idle-sram-core19480 MHz
zx48-opense-idle-sram-total19080 MHz
Sources

ports/zx-spectrum/README.md

Linux: the other tests in this class

Memory load latency by pointer chase ns, lower is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
ddr-16m169.22000 MHz, 1 run
ddr-2m91.52000 MHz, 1 run
ddr-64m191.62000 MHz, 1 run271.11250 MHz, 1 run
l1-16k2.52000 MHz, 1 run2.411250 MHz, 1 run
l1-32k5.092000 MHz, 1 run
l2-128k121250 MHz, 1 run
l2-1m24.52000 MHz, 1 run
l2-512k13.82000 MHz, 1 run
Sources

am62l-evm/README.md

Timer wake-up latency (cyclictest), max over 60 s us, lower is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
idle412000 MHz, 1 run4741 run
idle-60s-x3442 to 6451250 MHz
load-2cpu592000 MHz, 1 run5461250 MHz, 1 run
load-2cpu-60s-x51,074 to 93,6991250 MHz
openplc-v4-cycle
preempt-rt-idle
Sources

am62l-evm/README.md, docs/experiments/2026-10-24-am62l-realtime-jitter.md

Boot medium sequential read MB/s, higher is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
microsd-fio-1m44.81 run
microsd-hdparm43.8 to 43.9
usb-stick-dd-direct38.11 run
Sources

am62l-evm/README.md

Boot medium sequential write MB/s, higher is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
microsd-dd-direct30.51 run
sd-image-write-over-ssh81 run
usb-stick-dd-direct10.41 run
windows11-setup-apply-qcow2-on-sd-avg2.51250 MHz, 1 run
Sources

am62l-evm/README.md, docs/experiments/2026-10-24-am62l-sd-card-and-ps5-driver.md, docs/experiments/2026-10-25-am62l-windows-arm-vm.md

Boot medium 4 kB random read IOPS, higher is better

VariantSK-TDA4VM
microsd-fio-4k-qd83,8231 run
Sources

Run records are in the notebook, not this copy.

Vision app launch to the first frame-rate line s, lower is better

VariantSK-TDA4VM
edgeai-app-yolox-pose-file3.09 to 3.84
Sources

Run records are in the notebook, not this copy.

Linux to remote core message round trip (rpmsg echo) us, lower is better

VariantLP-AM263PSK-TDA4VMTMDS62LEVM (AM62L EVM)
freertos-to-nortos-1-remote3.49 to 3.5400 MHz
freertos-to-nortos-3-remotes3.81400 MHz
main-r5f-c66x-c7x
mcu-r5f0-0-rpmsg1474 to 75
threadx-to-nortos-1-remote3.36400 MHz
threadx-to-nortos-3-remotes3.87400 MHz
zrpmsg-char-userspace-496b35.1 to 35.31250 MHz
zrpmsg-char-userspace-56b18.11250 MHz
zrpmsg-irq-496b18.41250 MHz
zrpmsg-irq-496b-thread-wake25.2 to 25.31250 MHz
zrpmsg-irq-56b5.661250 MHz
zrpmsg-irq-56b-thread-wake12.71250 MHz
zrpmsg-poll-496b17.21250 MHz
zrpmsg-poll-56b4.03 to 4.041250 MHz
zrpmsg-zirq-lpoll-496b17.61250 MHz
zrpmsg-zirq-lpoll-56b4.39 to 4.411250 MHz
zrpmsg-zpoll-lirq-496b17.9 to 181250 MHz
zrpmsg-zpoll-lirq-56b5.08 to 5.091250 MHz
Sources

docs/experiments/2026-10-24-am62l-linux-zephyr-link.md

Linux to remote core message stream, payload rate (1 kB = 1,000 bytes) kB/s, higher is better

VariantTMDS62LEVM (AM62L EVM)
linux-to-zephyr-496b-irq331,2121250 MHz
linux-to-zephyr-496b-poll330,7681250 MHz
linux-to-zephyr-64b-irq43,077.51250 MHz
linux-to-zephyr-64b-poll43,1541250 MHz
zephyr-to-linux-496b-irq146,5161250 MHz
zephyr-to-linux-496b-poll257,7481250 MHz
zephyr-to-linux-64b-irq19,146.51250 MHz
zephyr-to-linux-64b-poll34,121.51250 MHz
Sources

docs/experiments/2026-10-24-am62l-linux-zephyr-link.md

Linux to remote core message stream, messages per second msgs/s, higher is better

VariantTMDS62LEVM (AM62L EVM)
linux-to-zephyr-496b-irq667,7671250 MHz
linux-to-zephyr-496b-poll666,8731250 MHz
linux-to-zephyr-64b-irq673,0971250 MHz
linux-to-zephyr-64b-poll674,2901250 MHz
zephyr-to-linux-496b-irq295,3961250 MHz
zephyr-to-linux-496b-poll519,6551250 MHz
zephyr-to-linux-64b-irq299,1701250 MHz
zephyr-to-linux-64b-poll533,1561250 MHz
Sources

docs/experiments/2026-10-24-am62l-linux-zephyr-link.md

Remote core load during a pipeline (TI perf_stats) %

VariantSK-TDA4VM
c7x-pose-app-30fps351 run
c7x-yolox-zerocopy-111fps45
Sources

Run records are in the notebook, not this copy.

DDR bandwidth used during a pipeline (TI perf_stats) MB/s

VariantSK-TDA4VM
pose-app-30fps4,228 to 4,322
yolox-zerocopy-111fps1,9571 run
Sources

Run records are in the notebook, not this copy.

Wired Ethernet TCP throughput (iperf3) Mbit/s, higher is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
rx-from-host9001 run
tcp-bidir891.5 to 934.1
tcp-rx-from-host939.7 to 939.9
tcp-tx-to-host939.5 to 939.6
tx-to-host9271 run
Sources

am62l-evm/README.md

Wired Ethernet round trip to a host on the same switch ms, lower is better

VariantSK-TDA4VMTMDS62LEVM (AM62L EVM)
host-same-switch0.3681 run
wired-host-same-switch0.313 to 0.371 run
Sources

am62l-evm/README.md

Board rail power from the on-board current monitors (sum of the monitored rails, 30 s mean) mW, lower is better

VariantTMDS62LEVM (AM62L EVM)
app-baseline-docker-idle567.61250 MHz, 1 run
app-ha-alone571.51250 MHz, 1 run
app-ha-plus-mosquitto569.51250 MHz, 1 run
app-mosquitto569.11250 MHz, 1 run
app-nodered571.81250 MHz, 1 run
app-pihole572.41250 MHz, 1 run
dvdd1v8-linux-idle34.31250 MHz, 1 run
dvdd3v3-linux-idle78.91250 MHz, 1 run
lpddr4-linux-idle90.61250 MHz, 1 run
total-linux-1core-busy651.91250 MHz, 1 run
total-linux-coremark-zephyr-coremark659.21250 MHz, 1 run
total-linux-idle560.91250 MHz, 1 run
total-linux-idle-zephyr-coremark633.51250 MHz, 1 run
total-linux-maxcpus1-busy-zephyr-hello6701250 MHz, 1 run
total-linux-maxcpus1-zephyr-hello-idle552.51250 MHz, 1 run
vdd-core-linux-idle312.51250 MHz, 1 run
vdda1v8-linux-idle44.61250 MHz, 1 run
zephyr-sram-ddr-off
Sources

am62l-evm/README.md, am62l-evm/linux-apps/README.md, am62l-evm/zephyr/mkphase1.sh

Memory a container app uses on a Linux board (docker stats, and whole-system RAM in use from /proc/meminfo) MB, lower is better

VariantTMDS62LEVM (AM62L EVM)
baseline-system-used5211250 MHz, 1 run
ha-container5571250 MHz, 1 run
ha-plus-mosquitto-system-used1,1311250 MHz, 1 run
ha-system-used1,0791250 MHz, 1 run
mosquitto-container2.61250 MHz, 1 run
mosquitto-native-rss7.71250 MHz, 1 run
mosquitto-system-used5981250 MHz, 1 run
nodered-container1101250 MHz, 1 run
nodered-system-used6391250 MHz, 1 run
pihole-container24.81250 MHz, 1 run
pihole-system-used5761250 MHz, 1 run
redroid-12-arm64-boot-system-used-peak9891250 MHz, 1 run
steam-arm64-hotpatch-bigpicture-board-used-peak1,4211250 MHz, 1 run
steam-arm64-hotpatch-board-used-peak1,302 to 1,4091250 MHz
steam-arm64-hotpatch-lean-board-used-peak1,224 to 1,3411250 MHz
steam-arm64-native-lsetrap-system-used1,3291250 MHz, 1 run
steam-client-update-box64-system-used1,0901250 MHz, 1 run
ti-lvgl-demo-lvglsim-rss1181250 MHz, 1 run
windows11-22621-arm64-kvm-qemu-rss-peak1,5871250 MHz, 1 run
Sources

am62l-evm/linux-apps/README.md, am62l-evm/showcase/run.sh, docs/experiments/2026-10-25-am62l-windows-arm-vm.md

CPU idle share with a container app running, both cores, 30 s %, higher is better

VariantTMDS62LEVM (AM62L EVM)
baseline931250 MHz, 1 run
ha-alone91.51250 MHz, 1 run
ha-plus-mosquitto82.51250 MHz, 1 run
mosquitto92.61250 MHz, 1 run
nodered88.91250 MHz, 1 run
pihole911250 MHz, 1 run
Sources

am62l-evm/linux-apps/README.md

Seconds from docker run to the app's first useful answer s, lower is better

VariantTMDS62LEVM (AM62L EVM)
fex-armv8a-x86-uname11250 MHz, 1 run
ha-mqtt-sensor-after-publish29.21250 MHz, 1 run
ha-onboarding-api67.71250 MHz
mosquitto-port-open2.41250 MHz, 1 run
nodered-flow-deploy-to-reply2.51250 MHz, 1 run
nodered-ui17.71250 MHz, 1 run
pihole-dns4.61250 MHz, 1 run
redroid-12-arm64-boot-completed861250 MHz, 1 run
redroid-12-arm64-boot-completed-showcase701250 MHz, 1 run
steam-arm64-hotpatch-bigpicture-signin-painted1371250 MHz, 1 run
steam-arm64-hotpatch-lean-signin-painted471250 MHz
steam-arm64-hotpatch-lean-swap1g-signin-painted461250 MHz, 1 run
steam-arm64-hotpatch-nogpu-signin-painted441250 MHz, 1 run
steam-arm64-hotpatch-nosandbox-signin-painted471250 MHz, 1 run
steam-arm64-hotpatch-signin-painted46 to 491250 MHz
steam-arm64-native-lsetrap-login-window20 to 431250 MHz, 1 run
steam-arm64-native-plainNot for this chip
steam-arm64-trap-signin-painted56 to 571250 MHz
steam-proton-backyard-baseball-97-windowNot for this chip
steam-x86-box64-git-box32-login-window
steam-x86-box64-login-windowNot for this chip
steam-x86-box86-armhf-login-window
windows11-22621-arm64-kvm-desktopNot for this chip
windows11-22621-arm64-kvm-oobe-start6,3021250 MHz, 1 run
windows11-22621-arm64-kvm-setup-copying2701250 MHz, 1 run
windows11-22621-arm64-kvm-setup-first-reboot5,0731250 MHz, 1 run
windows11-22621-arm64-kvm-winpe-up801250 MHz, 1 run
Sources

am62l-evm/linux-apps/README.md, am62l-evm/showcase/run.sh, docs/experiments/2026-10-25-am62l-steam-box64.md, docs/experiments/2026-10-25-am62l-windows-arm-vm.md

Seconds to pull the container image over Ethernet to the board's SD card s, lower is better

VariantTMDS62LEVM (AM62L EVM)
fex-rootfs-arch-download1201250 MHz, 1 run
ha654.91250 MHz, 1 run
mosquitto9.11250 MHz, 1 run
nodered197.11250 MHz, 1 run
pihole33.41250 MHz, 1 run
steam-anonymous-depotdownloader-arm64-app100728.91250 MHz, 1 run
steam-anonymous-depotdownloader-arm64-app8966603711250 MHz, 1 run
steam-client-32bit-update-box324361250 MHz, 1 run
steam-client-steamrt64-update-box643571250 MHz, 1 run
steamcmd-box64-0.3.4-box32-anonymous-app1007Not for this chip
Sources

am62l-evm/linux-apps/README.md, docs/experiments/2026-10-25-am62l-steam-box64.md

Container image size on the board's disk (docker images) MB, lower is better

VariantTMDS62LEVM (AM62L EVM)
ha3,4201250 MHz, 1 run
mosquitto43.21250 MHz, 1 run
nodered9921250 MHz, 1 run
pihole1661250 MHz, 1 run
steam-arm64-native-client-unpacked3241250 MHz, 1 run
steam-client-installed-dir2,4671250 MHz, 1 run
Sources

am62l-evm/linux-apps/README.md

Speech to text on the CPU, processing time divided by audio length (whisper.cpp, 11.0 s clip) x real time, lower is better

VariantTMDS62LEVM (AM62L EVM)
base.en-t18.761250 MHz
base.en-t24.751250 MHz
tiny.en-t141250 MHz
tiny.en-t22.231250 MHz
Sources

docs/experiments/2026-10-24-am62l-edge-ai-cpu.md

Small language model on the CPU (llama.cpp llama-bench) tokens/s, higher is better

VariantTMDS62LEVM (AM62L EVM)
qwen2.5-0.5b-q4_0-gen-t11.681250 MHz
qwen2.5-0.5b-q4_0-gen-t22.891250 MHz
qwen2.5-0.5b-q4_0-prompt-t12.841250 MHz
qwen2.5-0.5b-q4_0-prompt-t25.231250 MHz
Sources

docs/experiments/2026-10-24-am62l-edge-ai-cpu.md

One model inference on the CPU, median latency ms, lower is better

VariantTMDS62LEVM (AM62L EVM)
silero-en_v5-ort-t11,4401250 MHz
silero-en_v5-ort-t28681250 MHz
yamnet-litert-t130.41250 MHz
yamnet-litert-t220.21250 MHz
Sources

docs/experiments/2026-10-24-am62l-edge-ai-cpu.md

Frames per second an emulator core delivers to the HDMI connector, locked to vblank (free-run rows: no vblank wait) fps, higher is better

VariantTMDS62LEVM (AM62L EVM)
gambatte-tobu-tobu-girl-1920x1080601250 MHz
gambatte-tobu-tobu-girl-640x480601250 MHz
pcsx-rearmed-gpu-benchmark-1280x720601250 MHz
pcsx-rearmed-gpu-benchmark-1920x1080601250 MHz
pcsx-rearmed-gpu-benchmark-1920x1080-thread601250 MHz
pcsx-rearmed-gpu-benchmark-640x480601250 MHz
pcsx-rearmed-gpu-benchmark-640x480-audio601250 MHz
pcsx-rearmed-gpu-benchmark-640x480-freerun250.3 to 254.81250 MHz
snes9x2005-effects-music-1920x1080-audio-thread601250 MHz
snes9x2005-effects-music-640x480-audio601250 MHz
snes9x2005-mode7-1280x720601250 MHz
snes9x2005-mode7-1920x1080601250 MHz
snes9x2005-mode7-1920x1080-thread601250 MHz
snes9x2005-mode7-640x480601250 MHz
snes9x2005-mode7-800x60060.31250 MHz
snes9x2005-mode7-plane-scaling-2x-4xNot for this chip
snes9x2005-transparency-1920x1080601250 MHz
snes9x2005-transparency-1920x1080-freerun193.9 to 194.31250 MHz
snes9x2005-transparency-640x480601250 MHz
snes9x2005-transparency-640x480-freerun272.3 to 273.11250 MHz
Sources

docs/experiments/2026-11-01-am62l-lean-emulation.md

Time the emulator core spends in one retro_run frame, video callback excluded ms, lower is better

VariantTMDS62LEVM (AM62L EVM)
gambatte-tobu-tobu-girl-1920x10800.87 to 0.881250 MHz
gambatte-tobu-tobu-girl-640x4800.871250 MHz
pcsx-rearmed-gpu-benchmark-1280x7203.7 to 3.741250 MHz
pcsx-rearmed-gpu-benchmark-1920x10803.86 to 3.891250 MHz
pcsx-rearmed-gpu-benchmark-1920x1080-thread5.15 to 5.161250 MHz
pcsx-rearmed-gpu-benchmark-640x4803.61 to 3.621250 MHz
pcsx-rearmed-gpu-benchmark-640x480-audio3.651250 MHz
pcsx-rearmed-gpu-benchmark-640x480-freerun3.61 to 3.721250 MHz
snes9x2005-effects-music-1920x1080-audio-thread1.11 to 1.121250 MHz
snes9x2005-effects-music-640x480-audio0.73 to 0.741250 MHz
snes9x2005-mode7-1280x7202.56 to 2.571250 MHz
snes9x2005-mode7-1920x10802.58 to 2.631250 MHz
snes9x2005-mode7-1920x1080-thread3.11 to 3.171250 MHz
snes9x2005-mode7-640x4802.48 to 2.551250 MHz
snes9x2005-mode7-800x6002.56 to 2.581250 MHz
snes9x2005-transparency-1920x10803.55 to 3.591250 MHz
snes9x2005-transparency-1920x1080-freerun3.53 to 3.631250 MHz
snes9x2005-transparency-640x4803.39 to 3.41250 MHz
snes9x2005-transparency-640x480-freerun3.29 to 3.471250 MHz
Sources

docs/experiments/2026-11-01-am62l-lean-emulation.md

Time from a gamepad button event (kernel timestamp) to the vblank at which the frame drawn after it is flipped onto the connector ms, lower is better

VariantTMDS62LEVM (AM62L EVM)
snes9x2005-breakout-1920x108031.9 to 155.91250 MHz, 1 run
Sources

docs/experiments/2026-11-01-am62l-lean-emulation.md

Sweep: the other tests in this class

Vendor examples that build from a terminal %, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263PSK-TDA4VM
all-sdks98.11 run
am13e230-sdk-26.01100200 MHz, 1 run
c2000ware-26.021001 run
edgeai-gst-apps-11.00.00.08n/a
esp-idf-v6.193.5160 MHz, 1 run
mcu-plus-sdk-26.01-lp249 to 284400 MHz, 1 run
mcux-26.09.00981 run
mspm0-sdk-2.11971 run98.21 run1001 run971 run85.71 run
mspm33-sdk-1.0410032 MHz, 1 run
pico-sdk-2.3.1-arm1001 run
pico-sdk-2.3.1-riscv1001 run
sdk-f3-9.211001 run
stm32cubeu0-1.3.01001 run
wifi-sdk-10.20.00.3996.91 run
(one way)
Sources

cc35x1/prebuild.sh, data/benchmark-suite.json

Examples run with no crash %, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153Raspberry Pi Pico 2 HESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1LP-AM263PSK-TDA4VM
all-sdks
am13e230-sdk-26.0198.8200 MHz, 1 run
c2000ware-26.02100120 MHz, 1 run
cc35x1-twins-checked10048 MHz, 1 run
edgeai-gst-apps-11.00.00.08601 run
esp-idf-v6.187.1160 MHz, 1 run
esp-idf-v6.1-sleep
f3-app-twins-programmed100160 MHz, 1 run
f3-app-twins-serial-checked54.5160 MHz, 1 run
f3-app-twins-silent
g3519-port-adc12_max_freq_dma10080 MHz, 1 run
g3519-port-adc12_max_freq_dma_8bit
g3519-port-adc12_monitor_supply
g3519-port-adc12_sequence_conversion10080 MHz, 1 run
g3519-port-adc12_single_conversion
g3519-port-adc12_single_conversion_vref_external
g3519-port-adc12_single_conversion_vref_internal
g3519-port-adc12_triggered_by_timer_event
g3519-port-adc12_triggered_by_timer_event_stop
g3519-port-adc12_window_comparator
g3519-port-aesadv_cbc_128_enc_dec
g3519-port-aesadv_ecb_128_enc_dec
g3519-port-aesadv_ecb_256_encrypt
g3519-port-blinky_asmNot for this chip
g3519-port-cinit_bypass
g3519-port-comm_modules-i2c_controller
g3519-port-comm_modules-i2c_target
g3519-port-comm_modules-uart_controller
g3519-port-comm_modules-uart_target
g3519-port-comp_analog_filter
g3519-port-comp_dac_to_timer_event
g3519-port-comp_hs_tima_pwm_fault
g3519-port-comp_lp_dac_vref_internal
g3519-port-crcp_calculate_checksum10080 MHz, 1 run
g3519-port-crcp_calculate_checksum_dma10080 MHz, 1 run
g3519-port-dma_block_transferNot for this chip
g3519-port-dma_fill_dataNot for this chip
g3519-port-dma_table_transferNot for this chip
g3519-port-drivers-uart_echoNot for this chip
g3519-port-empty
g3519-port-empty_asm
g3519-port-empty_cpp
g3519-port-empty_driverlib_src
g3519-port-event_input_triggers_output
g3519-port-flashctl_blank_verify10080 MHz, 1 run
g3519-port-flashctl_dynamic_memory_protection
g3519-port-flashctl_ecc_error_injection
g3519-port-flashctl_multiple_size_read_verify10080 MHz, 1 run
g3519-port-flashctl_multiple_size_write10080 MHz, 1 run
g3519-port-flashctl_nonmain_memory_write
g3519-port-flashctl_program_with_ecc10080 MHz, 1 run
g3519-port-gpio_input_capture
g3519-port-gpio_software_poll
g3519-port-gpio_toggle_output_hiz10080 MHz, 1 run
g3519-port-iwdt_periodic_reset10080 MHz, 1 run
g3519-port-nvic_interrupt_disable10080 MHz, 1 run
g3519-port-rtc_b_offset_calibration_lfxt
g3519-port-spi_controller_internal_loopback_poll10080 MHz, 1 run
g3519-port-spi_controller_multibyte_fifo_poll
g3519-port-spi_controller_register_format
g3519-port-spi_peripheral_echo_interrupts
g3519-port-spi_peripheral_multibyte_fifo_poll
g3519-port-spi_peripheral_register_format
g3519-port-sram_parity
g3519-port-sysctl_frequency_clock_counter
g3519-port-sysctl_hfxt_runNot for this chip
g3519-port-sysctl_lfxt_standby
g3519-port-sysctl_power_policy_sleep_to_standby
g3519-port-sysctl_power_policy_sleep_to_stop
g3519-port-sysctl_shutdown
g3519-port-systick_periodic_timer10080 MHz, 1 run
g3519-port-tima_timer_mode_periodic_repeat_count10080 MHz, 1 run
g3519-port-tima_timer_mode_pwm_dead_band
g3519-port-tima_trigger_fail_mechanism
g3519-port-timx_timer_mode_capture_duty_and_period
g3519-port-timx_timer_mode_capture_edge_capture
g3519-port-timx_timer_mode_compare_edge_count
g3519-port-timx_timer_mode_one_shot_standby
g3519-port-timx_timer_mode_periodic_sleep
g3519-port-timx_timer_mode_periodic_standby
g3519-port-timx_timer_mode_periodic_stop
g3519-port-timx_timer_mode_pwm_center_stop
g3519-port-timx_timer_mode_pwm_edge_sleep
g3519-port-timx_timer_mode_pwm_edge_sleep_shadow
g3519-port-timx_timer_mode_pwm_x_trig_stop_restore
g3519-port-uart_echo_interrupts_standby
g3519-port-uart_extend_irda_send_packet
g3519-port-uart_extend_manchester_echo
g3519-port-uart_extend_manchester_send_packet
g3519-port-uart_external_loopback_interrupt
g3519-port-uart_rw_multibyte_fifo_poll-rx
g3519-port-uart_rw_multibyte_fifo_poll-tx10080 MHz, 1 run
g3519-port-wwdt_interval_timer_lfosc_standby
g3519-port-wwdt_interval_timer_lfxt_standby
g3519-port-wwdt_window_mode_periodic_reset
mcu-plus-sdk-26.01-lp118 to 208400 MHz, 1 run
mcux-26.09.0097.796 MHz, 1 run
mspm0-sdk-2.1110032 MHz, 1 run10032 MHz, 1 run10024 MHz, 1 run10080 MHz, 1 run90.880 MHz, 1 run
mspm33-sdk-1.0499.432 MHz, 1 run
mspm33-sdk-1.04-second-pass10032 MHz, 1 run
pico-sdk-2.3.1
ported-g3507-adc-to-uart
ported-g3507-adc12-monitor-supply10024 MHz, 1 run
ported-g3507-adc12-sequence-conversion10024 MHz, 1 run
ported-g3507-adc12-single-conversion10024 MHz, 1 run
ported-g3507-adc12-single-conversion-vref-external10024 MHz, 1 run
ported-g3507-adc12-single-conversion-vref-internal10024 MHz, 1 run
ported-g3507-adc12-window-comparator10024 MHz, 1 run
ported-g3507-blinky-asm024 MHz, 1 run
ported-g3507-cinit-bypass10024 MHz, 1 run
ported-g3507-cmsis-dsp-empty10024 MHz, 1 run
ported-g3507-comp-analog-filter10024 MHz, 1 run
ported-g3507-dma-block-transfer10024 MHz, 1 run
ported-g3507-driverlib-timg-qei-mode10024 MHz, 1 run
ported-g3507-driverlib-uart-extend-irda-receive-packet
ported-g3507-driverlib-uart-extend-irda-send-packet
ported-g3507-driverlib-uart-extend-manchester-echo10024 MHz, 1 run
ported-g3507-driverlib-uart-extend-manchester-send-packet10024 MHz, 1 run
ported-g3507-driverlib-uart-external-loopback-interrupt10024 MHz, 1 run
ported-g3507-driverlib-uart-rs485-receive-packet10024 MHz, 1 run
ported-g3507-drivers-uart-echo
ported-g3507-eeprom-eeprom-emulation-type-a
ported-g3507-eeprom-eeprom-emulation-type-a-test
ported-g3507-eeprom-eeprom-emulation-type-b
ported-g3507-eeprom-eeprom-emulation-type-b-test
ported-g3507-eeprom-emulation-type-a
ported-g3507-eeprom-emulation-type-a-test
ported-g3507-eeprom-emulation-type-b
ported-g3507-eeprom-emulation-type-b-test
ported-g3507-empty10024 MHz, 1 run
ported-g3507-empty-asm10024 MHz, 1 run
ported-g3507-empty-cpp10024 MHz, 1 run
ported-g3507-empty-driverlib-src10024 MHz, 1 run
ported-g3507-empty-non-sysconfig024 MHz, 1 run
ported-g3507-i2c-controller10024 MHz, 1 run
ported-g3507-iqmath-iqmath-rts-ops-test10024 MHz, 1 run
ported-g3507-iqmath-rts-ops-test
ported-g3507-mpesti-mpesti-target10024 MHz, 1 run
ported-g3507-mpesti-target
ported-g3507-msp-subsystems-adc-to-uart10024 MHz, 1 run
ported-g3507-msp-subsystems-pwm-led-driver10024 MHz, 1 run
ported-g3507-msp-subsystems-uart-to-i2c-bridge10024 MHz, 1 run
ported-g3507-opa-burnout-current-source-to-adc10024 MHz, 1 run
ported-g3507-opa-general-purpose-rri10024 MHz, 1 run
ported-g3507-opa-inverting-pga-with-dac10024 MHz, 1 run
ported-g3507-opa-non-inverting-pga10024 MHz, 1 run
ported-g3507-out-of-box024 MHz, 1 run
ported-g3507-pmbus-pmbus-target10024 MHz, 1 run
ported-g3507-pmbus-target
ported-g3507-pwm-led-driver
ported-g3507-smbus-controller
ported-g3507-smbus-controller-arp
ported-g3507-smbus-smbus-controller
ported-g3507-smbus-smbus-controller-arp
ported-g3507-smbus-smbus-target
ported-g3507-smbus-smbus-target-arp
ported-g3507-smbus-target
ported-g3507-smbus-target-arp
ported-g3507-sram-parity024 MHz, 1 run
ported-g3507-sysctl-mclk-syspll10024 MHz, 1 run
ported-g3507-tima-timer-mode-pwm-dead-band024 MHz, 1 run
ported-g3507-timg-qei-mode
ported-g3507-uart-controller10024 MHz, 1 run
ported-g3507-uart-echo
ported-g3507-uart-extend-irda-receive-packet
ported-g3507-uart-extend-irda-send-packet
ported-g3507-uart-extend-manchester-echo
ported-g3507-uart-extend-manchester-send-packet
ported-g3507-uart-external-loopback-interrupt
ported-g3507-uart-rs485-receive-packet
ported-g3507-uart-to-i2c-bridge
ported-l1306-battery-gauge-gauge-level1
ported-l1306-battery-gauge-self-calibrate-current-detection
ported-l1306-cmsis-dsp-cmsis-dsp-empty10024 MHz, 1 run
ported-l1306-demos-blood-pressure-monitor
ported-l1306-demos-out-of-box
ported-l1306-driverlib-adc12-monitor-supply10024 MHz, 1 run
ported-l1306-driverlib-adc12-sequence-conversion10024 MHz, 1 run
ported-l1306-driverlib-adc12-single-conversion10024 MHz, 1 run
ported-l1306-driverlib-adc12-single-conversion-vref-external10024 MHz, 1 run
ported-l1306-driverlib-adc12-single-conversion-vref-internal10024 MHz, 1 run
ported-l1306-driverlib-adc12-window-comparator10024 MHz, 1 run
ported-l1306-driverlib-blinky-asm
ported-l1306-driverlib-cinit-bypass10024 MHz, 1 run
ported-l1306-driverlib-comp-analog-filter10024 MHz, 1 run
ported-l1306-driverlib-dma-block-transfer
ported-l1306-driverlib-empty10024 MHz, 1 run
ported-l1306-driverlib-empty-asm
ported-l1306-driverlib-empty-cpp10024 MHz, 1 run
ported-l1306-driverlib-empty-driverlib-src10024 MHz, 1 run
ported-l1306-driverlib-empty-non-sysconfig
ported-l1306-driverlib-flashctl-blank-verify
ported-l1306-driverlib-flashctl-dynamic-memory-protection
ported-l1306-driverlib-flashctl-multiple-size-read-verify
ported-l1306-driverlib-flashctl-multiple-size-write
ported-l1306-driverlib-gpio-toggle-output-hiz10024 MHz, 1 run
ported-l1306-driverlib-i2c-controller-rw-multibyte-fifo-interrupts
ported-l1306-driverlib-i2c-controller-rw-multibyte-fifo-poll
ported-l1306-driverlib-i2c-multicontroller-arbitration
ported-l1306-driverlib-i2c-target-rw-multibyte-fifo-interrupts10024 MHz, 1 run
ported-l1306-driverlib-i2c-target-rw-multibyte-fifo-interrupts-stop
ported-l1306-driverlib-i2c-target-rw-multibyte-fifo-poll
ported-l1306-driverlib-opa-burnout-current-source-to-adc10024 MHz, 1 run
ported-l1306-driverlib-opa-general-purpose-rri10024 MHz, 1 run
ported-l1306-driverlib-opa-non-inverting-pga10024 MHz, 1 run
ported-l1306-driverlib-spi-controller-command-data-control10024 MHz, 1 run
ported-l1306-driverlib-spi-controller-echo-interrupts10024 MHz, 1 run
ported-l1306-driverlib-spi-controller-fifo-dma-interrupts
ported-l1306-driverlib-spi-controller-internal-loopback-pollNot for this chip
ported-l1306-driverlib-spi-controller-multibyte-fifo-poll
ported-l1306-driverlib-spi-controller-register-format
ported-l1306-driverlib-spi-peripheral-echo-interrupts
ported-l1306-driverlib-spi-peripheral-fifo-dma-interrupts
ported-l1306-driverlib-spi-peripheral-multibyte-fifo-poll
ported-l1306-driverlib-spi-peripheral-register-format
ported-l1306-driverlib-spi-peripheral-repeated-fifo-dma-interrupts
ported-l1306-driverlib-sysctl-frequency-clock-counter
ported-l1306-driverlib-systick-periodic-timer
ported-l1306-driverlib-uart-echo-interrupts-standby
ported-l1306-driverlib-uart-extend-manchester-echo
ported-l1306-driverlib-uart-extend-manchester-send-packet
ported-l1306-driverlib-uart-external-loopback-interrupt
ported-l1306-driverlib-uart-rw-multibyte-fifo-poll
ported-l1306-driverlib-uart-rx-hw-flow-control
ported-l1306-driverlib-uart-rx-multibyte-fifo-dma-interrupts
ported-l1306-driverlib-uart-tx-hw-flow-control
ported-l1306-driverlib-uart-tx-multibyte-fifo-dma-interrupts
ported-l1306-driverlib-wwdt-interval-timer-lfosc-standby
ported-l1306-eeprom-eeprom-emulation-type-a
ported-l1306-eeprom-eeprom-emulation-type-a-test
ported-l1306-eeprom-eeprom-emulation-type-b
ported-l1306-eeprom-eeprom-emulation-type-b-test
ported-l1306-iqmath-iqmath-rts-ops-test
ported-l1306-msp-subsystems-adc-to-i2c-target
ported-l1306-msp-subsystems-adc-to-spi-peripheral
ported-l1306-msp-subsystems-adc-to-uart
ported-l1306-msp-subsystems-digital-mux
ported-l1306-msp-subsystems-io-expander-i2c-host
ported-l1306-msp-subsystems-io-expander-uart-i2c-spi
ported-l1306-msp-subsystems-transimpedance-amplifier
ported-l1306-msp-subsystems-uart-to-i2c-bridge
ported-l1306-sasi-smoke-detector-air-quality-sensingNot for this chip
ported-l1306-sasi-smoke-detector-sasi-smoke-detectorNot for this chip
ported-l1306-smbus-smbus-controller
ported-l1306-smbus-smbus-controller-arp
ported-l1306-smbus-smbus-target
ported-l1306-smbus-smbus-target-arpNot for this chip
r5-twins-behavior-checked66.796 MHz, 1 run
r5-twins-f3-9.2110096 MHz, 1 run
sdk-f3-9.2198.81 run
stm32cubeu0-1.3.010048 MHz, 1 run
wifi-sdk-10.20.00.3993.5160 MHz, 1 run
(one way)
Sources

data/benchmark-suite.json, docs/experiments/2026-10-24-cc2340r5-cc35x1-driver-twins.md

Examples that build after moving to another chip %, higher is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137NUCLEO-U083RCFRDM-MCXA153LP-MSPM33C321A
cc1407p-host-c28x-no-shim01 run
cc1407p-host-c28x-shim1001 run
from-cc1354p10-to-cc2340r5-unchanged
from-f280015x-device-only76.71 run
from-f280015x-pin-unlock79.11 run
from-mspm0c1104-way381.31 run
from-mspm0g3507-agent
from-mspm0g3507-shim501 run
from-mspm0g3507-way368.51 run31.11 run
from-mspm0g3519-driverlib-fresh-config64.81 run
from-mspm0g3519-way354.71 run
mspm0g3519-to-mspm33-config-port-1266.71 run
mspm33-to-mspm0g3519-config-port-1266.71 run
to-cc1354p10-unchanged1001 run
to-cc2340r5-shim1001 run
to-cc2340r5-unchanged01 run
to-cc2755p10-unchanged1001 run
to-mspm0c1104-device-only4.81 run17.61 run
to-mspm0c1104-lines-dropped17.81 run44.71 run
to-mspm0c1104-pin-unlock5.91 run36.51 run
to-mspm0c1104-way334.11 run
to-mspm0g3507-device-only59.41 run48.41 run
to-mspm0g3507-lines-dropped79.41 run71.41 run
to-mspm0g3507-pin-unlock77.61 run71.41 run
to-mspm0g3507-shim1001 run
to-mspm0g3507-unchanged501 run
to-mspm0g3507-way377.51 run431 run
to-mspm0g3519-shim10080 MHz, 1 run
to-mspm0g3519-way348.81 run
to-mspm0l1306-device-only8.11 run441 run
to-mspm0l1306-lines-dropped35.61 run62.61 run
to-mspm0l1306-pin-unlock9.61 run62.61 run
(one way)
Sources

portability/README.md, portability/matrix.csv

A TI driver example from another chip's SDK shows the behavior its source defines yes/no

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LP-CC1354P10-1LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
arduino-zephyr-analogwrite-dutyNot for this chip
arduino-zephyr-analogwrite-leds148 MHz, 1 run
arduino-zephyr-analogwrite-pwm-output180 MHz
arduino-zephyr-attachinterrupt-first-mode180 MHz
arduino-zephyr-attachinterrupt-mode-changeNot for this chip
arduino-zephyr-attachinterrupt-pinmode-flipNot for this chip
arduino-zephyr-attachinterrupt-pull-flip148 MHz, 1 run
arduino-zephyr-spi-loopback
arduino-zephyr-spi-transfer148 MHz, 1 run
arduino-zephyr-spi-transfer-bufferNot for this chip
arduino-zephyr-spi-transfer-loopback180 MHz
arduino-zephyr-spi-wire-loopback
arduino-zephyr-wire-ft6336u180 MHz, 1 run
arduino-zephyr-wire-hdc2080Not for this chip
arduino-zephyr-wire-opt3001148 MHz, 1 run
arduino-zephyr-wire-scan-empty148 MHz, 1 run
arduino-zephyr-wire-scan-packNot for this chip
cc2340r5-to-cc1354p10-adcsinglechannel148 MHz, 1 run
cc2340r5-to-cc1354p10-empty
cc2340r5-to-cc1354p10-gpiointerrupt
cc2340r5-to-cc1354p10-i2ctmp148 MHz, 1 run
cc2340r5-to-cc1354p10-spicontroller148 MHz, 1 run
cc2340r5-to-cc1354p10-spiperipheral148 MHz, 1 run
cc2340r5-to-cc1354p10-uart2callback148 MHz, 1 run
cc2340r5-to-cc1354p10-uart2echo148 MHz, 1 run
doomgeneric-fbdev-4x3-aspect-by-eye11250 MHz, 1 run
doomgeneric-fbdev-pad-buttons-console-layout11250 MHz, 1 run
doomgeneric-fbdev-pad-stick-up-walks11250 MHz, 1 run
driverlib132 MHz, 1 run124 MHz, 1 run132 MHz, 1 run132 MHz, 1 run
driverlib-am131200 MHz, 1 run
driverlib-am13-adc-pa16Not for this chip
driverlib-hsadc132 MHz, 1 run
driverlib-pa25-floating132 MHz, 1 run
from-cc35x1-adcsinglechannelyes1 run
from-cc35x1-emptyyes1 run
from-cc35x1-exceptionyes1 run
from-cc35x1-gpiointerruptyes1 run
from-cc35x1-i2ccontrolleryes1 run
from-cc35x1-pwmled1
from-cc35x1-sha2hashyes1 run
from-cc35x1-spicontrolleryes1 run
from-cc35x1-spiperipheralyes1 run
from-cc35x1-uart2echoyes1 run
from-cc35x1-watchdogyes1 run
from-mspm0g3519-adc12_single_conversionNot for this chip
from-mspm0g3519-crcp_calculate_checksumyes1 run
from-mspm0g3519-gpio_toggle_outputyes1 run
from-mspm0g3519-i2c_controller_rw_multibyte_fifo_pollNot for this chip
from-mspm0g3519-spi_controller_internal_loopback_pollyes1 run
from-mspm0g3519-systick_periodic_timeryes1 run
from-mspm0g3519-timx_timer_mode_periodic_sleepyes1 run
from-mspm0g3519-timx_timer_mode_pwm_edge_sleepyes1 run
from-mspm0g3519-uart_external_loopback_interrupt
from-mspm0g3519-uart_internal_loopback_standby_restoreNot for this chip
from-mspm0g3519-uart_rw_multibyte_fifo_pollyes1 run
from-mspm0g3519-uart_tx_console_multibyte_repeated_fifo_dmaNot for this chip
from-mspm33-crcp_calculate_checksumyes1 run
from-mspm33-gpio_toggle_outputyes1 run
from-mspm33-hsadc_single_conversionNot for this chip
from-mspm33-i2c_controller_rw_byte_pollNot for this chip
from-mspm33-spi_controller_internal_loopback_pollyes1 run
from-mspm33-systick_periodic_timeryes1 run
from-mspm33-timx_timer_mode_periodic_sleepyes1 run
from-mspm33-timx_timer_mode_pwm_edge_sleepyes1 run
from-mspm33-uart_internal_loopback_spgss0_uc1yes1 run
from-mspm33-uart_internal_loopback_with_interrupt_spgss0_uc1yes1 run
from-mspm33-uart_rx_rw_multibyte_fifo_pollNot for this chip
from-mspm33-uart_tx_rw_multibyte_fifo_pollyes1 run
micropython-zephyr-adcNot for this chip
micropython-zephyr-i2c-hdc2080Not for this chip
micropython-zephyr-i2c-opt3001148 MHz, 1 run
micropython-zephyr-i2c-readNot for this chip
micropython-zephyr-i2c-scan-empty148 MHz, 1 run
micropython-zephyr-i2c-scan-packNot for this chip
micropython-zephyr-i2c-write1160 MHz, 1 run
micropython-zephyr-loop-100001160 MHz, 1 run
micropython-zephyr-pin-irq-init-flipNot for this chip
micropython-zephyr-pin-irq-pull-flip148 MHz, 1 run
micropython-zephyr-pin-pull-up-down1160 MHz, 1 run
micropython-zephyr-pin-value-readbackNot for this chip
micropython-zephyr-pwmNot for this chip
micropython-zephyr-pwm-duty-ns148 MHz, 1 run
micropython-zephyr-pwm-duty-u16Not for this chip
micropython-zephyr-pwm-duty-u16-patched148 MHz, 1 run
micropython-zephyr-spi-i2c-together
micropython-zephyr-spi-loopback
micropython-zephyr-spi-write-readinto148 MHz, 1 run1160 MHz, 1 run
pico-blink_simpleyes32 MHz
pico-bus_scanyes32 MHz
pico-hello_adcyes32 MHz, 1 run
pico-hello_serialyes32 MHz, 1 run
pico-led_fadeyes32 MHz, 1 run
renesas-adcyes32 MHz, 1 run
renesas-adc_gpt_periodic_samplingno32 MHz, 1 run
renesas-adc_gpt_periodic_sampling-dtc-chainNot for this chip
renesas-adc_gpt_periodic_sampling-event-linkyes32 MHz, 1 run
renesas-adc_gpt_periodic_sampling-group-b-triggerNot for this chip
renesas-adc_gpt_periodic_sampling-one-channelyes32 MHz, 1 run
renesas-gptyes32 MHz, 1 run
renesas-gpt-one-shotyes32 MHz
renesas-gpt-periodic-periodyes32 MHz
renesas-gpt-pwm-dutyyes32 MHz, 1 run
renesas-iic_master-ft6336uyes32 MHz
renesas-iic_master-unchangedno32 MHz, 1 run
renesas-sci_uartyes32 MHz, 1 run
renesas-sci_uart-pwm-dutyyes32 MHz, 1 run
silent-twins-uart
three-ways-app-c2000wareyes120 MHz, 1 run
three-ways-app-linux-sysfs11250 MHz, 1 run
three-ways-app-tidrivers148 MHz, 1 run196 MHz, 1 run1160 MHz, 1 run
twin-f3-adcsinglechannelNot for this chip
twin-f3-emptyyes32 MHz, 1 run
twin-f3-gpiointerrupt
twin-f3-i2ccontroller
twin-f3-i2ctarget
twin-f3-i2ctmp
twin-f3-spicontroller
twin-f3-spiperipheral
twin-f3-uart2callbackyes32 MHz, 1 run
twin-f3-uart2echoyes32 MHz, 1 run
x47-wire-packeryes120 MHz, 1 run
zephyr-board-pinctrl-tima1-ccp1-pb27Not for this chip
zephyr-mspm0-i2c-hdc2080
Sources

docs/experiments/2026-10-24-cc2340r5-cc35x1-driver-twins.md, portability/arduino/zephyr/README.md, portability/cc1407p-host/wire/README.md, portability/three-ways/README.md, portability/zephyr-mspm0/README.md, ports/doom/linux-fb/README.md, ports/micropython/zephyr-cc2340r5/README.md

Glue lines the portable three-ways app needs on one board and software layer lines, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
c2000ware-driverlib35120 MHz, 1 run
driverlib3932 MHz, 1 run3924 MHz, 1 run3932 MHz, 1 run3932 MHz, 1 run
driverlib-am1338200 MHz, 1 run
driverlib-hsadc3732 MHz, 1 run
linux-sysfs661250 MHz, 1 run
three-ways-app-tidrivers481 run
tidrivers-f3-sdk481 run
tidrivers-wifi-sdk481 run
Sources

portability/three-ways/README.md, portability/three-ways/c2000/glue_c2000.c, portability/three-ways/linux/glue_linux.c, portability/three-ways/tidrivers/cc2755p10/glue_tidrivers_cc2755p10.c, portability/three-ways/tidrivers/cc35x1/glue_tidrivers_cc35x1.c

Configuration lines the portable three-ways app needs on one board and software layer lines, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
c2000ware-driverlib29120 MHz, 1 run
driverlib3432 MHz, 1 run3024 MHz, 1 run3432 MHz, 1 run3332 MHz, 1 run
driverlib-am1335200 MHz, 1 run
driverlib-hsadc4132 MHz, 1 run
linux-sysfs51250 MHz, 1 run
three-ways-app-tidrivers141 run
tidrivers-f3-sdk141 run
tidrivers-wifi-sdk141 run
Sources

portability/three-ways/README.md, portability/three-ways/c2000/glue_c2000.c, portability/three-ways/driverlib/g3519.syscfg, portability/three-ways/linux/config_am62l.h, portability/three-ways/tidrivers/cc2340r5/app.syscfg, portability/three-ways/tidrivers/cc2755p10/app.syscfg, portability/three-ways/tidrivers/cc35x1/app.syscfg

Flash used by an outside project ported to the board, with its shim B, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1TMDS62LEVM (AM62L EVM)
arduboy-crate-confusion-edumkii20 kB32 MHz, 1 run
arduboy-snake-edumkii20.2 kB32 MHz, 1 run
arduboy-tileworld-edumkii16.4 kB32 MHz, 1 run
arduboy2-crate-confusion9.4 kB1 run9.4 kB1 run9.4 kB1 run9.6 kB1 run
arduboy2-snake7.7 kB1 run7.7 kB1 run7.7 kB1 run8.2 kB1 run
arduboy2-tileworld5.5 kB1 run5.5 kB1 run5.5 kB1 run5.8 kB1 run
arduino-layer-analogreadserialNot for this chip
arduino-layer-blink2.6 kB32 MHz, 1 run
arduino-zephyr-analogreadserial22.8 kB80 MHz, 1 run27.8 kB48 MHz, 1 run
arduino-zephyr-blink22.8 kB80 MHz, 1 run27.7 kB48 MHz, 1 run
arduino-zephyr-buttoninterrupt31.7 kB80 MHz, 1 run
arduino-zephyr-fadecheck32.9 kB48 MHz, 1 run
arduino-zephyr-fadepwm32.1 kB80 MHz, 1 run
arduino-zephyr-interruptselftest32.9 kB48 MHz, 1 run
arduino-zephyr-spiloop32 kB48 MHz, 1 run
arduino-zephyr-spiloopback31.5 kB80 MHz, 1 run
arduino-zephyr-wire-ft6336u31.1 kB80 MHz, 1 run
arduino-zephyr-wirescan37.4 kB48 MHz, 1 run
cc1407p-host-fake-radio-bench10.6 kB1 run10.8 kB1 run
chip8-bench14.1 kB80 MHz, 1 run
chip8-play13.5 kB80 MHz, 1 run
doom-m33whx230.8 kB160 MHz, 1 run
doom-m33whx-edumkii-c8298.6 kB160 MHz, 1 run
doom-m33whx-page-cache304.1 kB160 MHz, 1 run
doom-s3Not for this chip 134 kB short262 kB calc.281.6 kB160 MHz, 1 run
doom-s3-wad-xip4.3 MB160 MHz, 1 run
doom-whx-panel-xip1.99 MB160 MHz, 1 run
doom-whx-xip1.97 MB160 MHz, 1 run
driverlib2.3 kB32 MHz, 1 run2.3 kB24 MHz, 1 run2.3 kB32 MHz, 1 run2.4 kB32 MHz, 1 run
driverlib-am139.2 kB200 MHz, 1 run
driverlib-hsadc2.8 kB32 MHz, 1 run
llama2c-on-edumkii-screen554 kB160 MHz, 1 run
llama2c-tinystories-260k-float32Not for this chip 7.8 kB short
llama2c-tinystories-260k-int8543.6 kB1 run
micropython-fullNot for this chip 45.9 kB short174.1 kB1 run
micropython-full-spi175.6 kB1 run
micropython-min72.9 kB1 run73.1 kB1 run
micropython-min-heap16k73.1 kB1 run
micropython-zephyr-basic-heap20k174.8 kB48 MHz, 1 run
micropython-zephyr-basic-heap20k-pwmfix174.9 kB48 MHz, 1 run
micropython-zephyr-extra-heap16k213.6 kB48 MHz, 1 run
micropython-zephyr-stock-prj-gpio292.3 kB160 MHz, 1 run
micropython-zephyr-stock-prj-i2c294.5 kB160 MHz, 1 run
micropython-zephyr-stock-prj-spi294.4 kB160 MHz, 1 run
minimp3-bench146.8 kB1 run153.4 kB160 MHz, 1 run
minmea5.7 kB1 run5.6 kB1 run
moonlight-embedded-f32e415157.8 kB1250 MHz, 1 run
msp430-fram-persist4.5 kB32 MHz, 1 run12.6 kB200 MHz, 1 run
msp430-lpm3-wake2 kB32 MHz, 1 run8.5 kB200 MHz, 1 run
msp430-uart-echo1.2 kB32 MHz, 1 run7.6 kB200 MHz, 1 run
peanut-gb-code12.5 kB1 run12.5 kB1 run12.5 kB1 run13 kB1 run
peanut-gb-dmg-acid244.5 kB1 run44.5 kB1 run44.5 kB1 run45 kB1 run
peanut-gb-tobuNot for this chip 140.4 kB short268.5 kB1 runNot for this chip 140.4 kB short269 kB1 run
peanut-gb-tobu-edumkii281.1 kB32 MHz, 1 run
peanut-gb-tobu-edumkii-160mhz-skip284.6 kB160 MHz, 1 run
pico-blink_simple2.4 kB32 MHz, 1 run
pico-bus_scan10.6 kB32 MHz, 1 run
pico-hello_adc10.4 kB32 MHz, 1 run
pico-hello_serial1.8 kB32 MHz, 1 run
pico-led_fade3.3 kB32 MHz, 1 run
renesas-adc13.3 kB32 MHz, 1 run
renesas-adc_gpt_periodic_sampling15.5 kB32 MHz, 1 run
renesas-gpt14.9 kB32 MHz, 1 run
renesas-iic_master-ft6336u12.6 kB32 MHz, 1 run
renesas-sci_uart13.1 kB32 MHz, 1 run
rust-uart-hello3.7 kB32 MHz, 1 run
sharp128-hello12.2 kB32 MHz, 1 run4.3 kB32 MHz, 1 run12.2 kB32 MHz, 1 run29.4 kB160 MHz, 1 run
sharp128-hello-bands4.8 kB24 MHz, 1 run
sharp128-player-pff7.2 kB24 MHz, 1 run
three-ways-app-c2000ware4.9 kB120 MHz, 1 run
three-ways-app-linux-dynamic-stripped66.1 kB1250 MHz, 1 run
three-ways-app-linux-static-stripped583.9 kB1250 MHz, 1 run
three-ways-app-tidrivers18.4 kB48 MHz, 1 run19.7 kB96 MHz, 1 run20.7 kB160 MHz, 1 run
touch-games-bench10.8 kB1 run11 kB80 MHz8.1 kB1 run
touch-games-play9.7 kB80 MHz, 1 run
ulisp-4.9a98.8 kB80 MHz, 1 run99 kB80 MHz, 1 run98.8 kB80 MHz, 1 run
wasm3-v0.9.055.6 kB1 run76.4 kB1 run
wasm3-v0.9.0-tiny55.4 kB1 run
x47-wire-packer1.3 kB120 MHz, 1 run
xiaozhi1.5 MB160 MHz, 1 run
zx48-sram-testimage62.5 kB80 MHz, 1 run
Sources

docs/experiments/2026-10-20-doom-smallest-ti-chip.md, portability/arduino/zephyr/README.md, portability/boosterpacks/edumkii/build.sh, portability/boosterpacks/sharp128/README.md, portability/cc1407p-host/wire/README.md, portability/three-ways/README.md, ports/chip8/README.md, ports/doom/target-cc35x1-whx/PANEL-WIRING.md, ports/llama2c/README.md, ports/micropython/zephyr-cc2340r5/README.md, ports/minimp3/README.md, ports/msp430-to-mspm0/fram-persist/PORT.md, ports/msp430-to-mspm0/lpm3-wake/PORT.md, ports/msp430-to-mspm0/uart-echo-lpm3/PORT.md, ports/rust-mspm0/README.md, ports/touch-games/README.md, ports/zx-spectrum/README.md

RAM used by an outside project ported to the board, with its shim B, lower is better

VariantLP-MSPM0G3507LP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187LP-EM-CC2340R5LAUNCHXL-F2800137LP-MSPM33C321ALP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
arduboy-crate-confusion-edumkii6.3 kB32 MHz, 1 run
arduboy-snake-edumkii6.6 kB32 MHz, 1 run
arduboy-tileworld-edumkii6.1 kB32 MHz, 1 run
arduboy2-crate-confusion3.4 kB1 run3.4 kB1 run3.4 kB1 run3.4 kB1 run
arduboy2-snake3.8 kB1 run3.8 kB1 run3.8 kB1 run3.8 kB1 run
arduboy2-tileworld3.3 kB1 run3.3 kB1 run3.3 kB1 run3.3 kB1 run
arduino-layer-blink6.2 kB32 MHz, 1 run
arduino-zephyr-analogreadserial4.8 kB80 MHz, 1 run5.2 kB48 MHz, 1 run
arduino-zephyr-blink4.8 kB80 MHz, 1 run5.2 kB48 MHz, 1 run
arduino-zephyr-buttoninterrupt6.3 kB80 MHz, 1 run
arduino-zephyr-fadecheck6.1 kB48 MHz, 1 run
arduino-zephyr-fadepwm6.4 kB80 MHz, 1 run
arduino-zephyr-interruptselftest6.1 kB48 MHz, 1 run
arduino-zephyr-spiloop6.1 kB48 MHz, 1 run
arduino-zephyr-spiloopback6.3 kB80 MHz, 1 run
arduino-zephyr-wire-ft6336u6.3 kB80 MHz, 1 run
arduino-zephyr-wirescan6.1 kB48 MHz, 1 run
cc1407p-host-fake-radio-bench5.8 kB1 run5.8 kB1 run
chip8-play10.4 kB80 MHz, 1 run
doom-m33whxNot for this chip 166 kB shortNot for this chip 70 kB short
doom-m33whx-board-page-cache-16kb253.3 kB160 MHz, 1 run
doom-m33whx-board-page-cache-8kb245.3 kB160 MHz, 1 run
doom-m33whx-edumkii-c8247.7 kB160 MHz, 1 run
doom-m33whx-linked-44kb-zone242 kB160 MHz, 1 run
doom-m33whx-page-cache-12kb248.6 kB160 MHz, 1 run
doom-m33whx-page-cache-16kb252.7 kB160 MHz, 1 run
doom-m33whx-page-cache-19kb255.7 kB160 MHz, 1 run
doom-m33whx-page-cache-8kb244.6 kB160 MHz, 1 run
doom-m33whx-static198 kB160 MHz, 1 run
doom-m33whx-total228 kB calc.
doom-m33whx-zone-finishes30 kB160 MHz, 1 run
doom-m33whx-zone-hw28.9 kB160 MHz, 1 run
doom-s3Not for this chip 132.1 kB shortNot for this chip 36.1 kB shortNot for this chip 707.8 kB short
doom-s3-linked-80kb-zone243.8 kB160 MHz, 1 run
doom-s3-static163.8 kB160 MHz, 1 run
doom-s3-static-and-rtos187.1 kB160 MHz, 1 run
doom-s3-zone480 kB160 MHz, 1 run
doom-s3-zone-finishes800 kB160 MHz, 1 run
doom-s3-zone-floor593 kB160 MHz, 1 run
doom-whx-panel-static-and-zone494.2 kB160 MHz, 1 run
doom-whx-panel-zone31 kB160 MHz, 1 run
doom-whx-static-and-rtos220.2 kB160 MHz, 1 run
doom-whx-zone40 kB160 MHz, 1 run
doom-whx-zone-hw28.9 kB160 MHz, 1 run
driverlib27232 MHz, 1 run8024 MHz, 1 run27232 MHz, 1 run27232 MHz, 1 run
driverlib-am139 kB200 MHz, 1 run
driverlib-hsadc27232 MHz, 1 run
driverlib-stack-highwater18424 MHz, 1 run
llama2c-on-edumkii-screen192.8 kB160 MHz, 1 run
llama2c-tinystories-260k-int8192.6 kB1 run
micropython-full5.7 kB1 run
micropython-min2.9 kB1 run3 kB1 run
micropython-min-heap16k19 kB1 run
micropython-zephyr-basic-heap20k29.9 kB48 MHz, 1 run
micropython-zephyr-basic-heap20k-pwmfix29.9 kB48 MHz, 1 run
micropython-zephyr-extra-heap16k26 kB48 MHz, 1 run
micropython-zephyr-stock-prjNot for this chip 46.8 kB short
micropython-zephyr-stock-prj-gpio83.6 kB160 MHz, 1 run
micropython-zephyr-stock-prj-i2c83.6 kB160 MHz, 1 run
micropython-zephyr-stock-prj-spi83.7 kB160 MHz, 1 run
minimp3-bench33.3 kB1 run33.2 kB160 MHz, 1 run
minmea6281 run3721 run
msp430-fram-persist36532 MHz, 1 run
msp430-lpm3-wake26032 MHz, 1 run
msp430-uart-echo26832 MHz, 1 run
peanut-gb-code30.8 kB1 run30.8 kB1 run30.8 kB1 run30.8 kB1 run
peanut-gb-dmg-acid230.8 kB1 run30.8 kB1 run30.8 kB1 run30.8 kB1 run
peanut-gb-tobu30.8 kB1 run30.8 kB1 run
peanut-gb-tobu-edumkii31.6 kB32 MHz, 1 run
peanut-gb-tobu-edumkii-160mhz-skip32.8 kB160 MHz, 1 run
pico-blink_simple2.1 kB32 MHz, 1 run
pico-bus_scan2.4 kB32 MHz, 1 run
pico-hello_adc2.4 kB32 MHz, 1 run
pico-hello_serial2.1 kB32 MHz, 1 run
pico-led_fade2.1 kB32 MHz, 1 run
renesas-adc53532 MHz, 1 run
renesas-adc_gpt_periodic_sampling4.7 kB32 MHz, 1 run
renesas-gpt58132 MHz, 1 run
renesas-iic_master-ft6336u51632 MHz, 1 run
renesas-sci_uart56732 MHz, 1 run
rust-uart-hello14832 MHz, 1 run
sharp128-hello5.5 kB32 MHz, 1 run3.1 kB32 MHz, 1 run5.5 kB32 MHz, 1 run3.7 kB160 MHz, 1 run
sharp128-hello-bands60924 MHz, 1 run
sharp128-player-pff77924 MHz, 1 run
three-ways-app-c2000ware1 kB120 MHz, 1 run
three-ways-app-tidrivers13.6 kB48 MHz, 1 run37.8 kB96 MHz, 1 run43.4 kB160 MHz, 1 run
touch-games-bench3.3 kB1 run3.4 kB80 MHz3.3 kB1 run
touch-games-play3.4 kB80 MHz, 1 run
ulisp-4.9a23.1 kB80 MHz, 1 run71.6 kB80 MHz, 1 run23.1 kB80 MHz, 1 run
wasm3-v0.9.024.2 kB1 run24.5 kB1 run
wasm3-v0.9.0-standard24.1 kB1 run
wasm3-v0.9.0-tiny11.1 kB1 run
xiaozhi189.6 kB160 MHz, 1 run
zx48-sram-testimage61 kB80 MHz, 1 run
Sources

docs/experiments/2026-10-20-doom-smallest-ti-chip.md, docs/experiments/2026-10-21-mspm33c321a-qspi-dump-doom-data.md, portability/arduino/zephyr/README.md, portability/boosterpacks/edumkii/build.sh, portability/boosterpacks/sharp128/README.md, portability/three-ways/README.md, ports/chip8/README.md, ports/doom/target-cc35x1-whx/PANEL-WIRING.md, ports/llama2c/README.md, ports/micropython/zephyr-cc2340r5/README.md, ports/minimp3/README.md, ports/msp430-to-mspm0/fram-persist/PORT.md, ports/msp430-to-mspm0/lpm3-wake/PORT.md, ports/msp430-to-mspm0/uart-echo-lpm3/PORT.md, ports/rust-mspm0/README.md, ports/touch-games/README.md, ports/zx-spectrum/README.md

SDK examples built with GCC that ran on the board with no fault examples, higher is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187
gcc-12.2-zephyr-sdk8732 MHz, 1 run3180 MHz, 1 run6580 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

GCC-built SDK examples that faulted on the board examples, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187
gcc-12.2-zephyr-sdk032 MHz, 1 run080 MHz, 1 run080 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

GCC-built SDK examples whose pin or serial behavior matched the ticlang build examples, higher is better

VariantLP-MSPM0L1306LP-MSPM0G3519LP-MSPM0G5187
gcc-12.2-zephyr-sdk2432 MHz, 1 run580 MHz, 1 run1580 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Flash used by the ported UART DMA ring-buffer echo (MaJerle stm32-usart-uart-dma-rx-tx) B, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187NUCLEO-U083RCESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230
gcc-14.3-os4.7 kB48 MHz, 1 run
ticlang-5.1.1-o22.9 kB32 MHz, 1 run2.2 kB32 MHz, 1 run3 kB32 MHz, 1 run2.5 kB32 MHz, 1 run2.9 kB32 MHz, 1 run9.6 kB1 run
ticlang-5.1.1-o2-run32.6 kB32 MHz, 1 run
ticlang-5.1.1-o2-run42.5 kB32 MHz, 1 run
ticlang-5.1.1-o2-skill2.6 kB32 MHz, 1 run
(one way)
Sources

Run records are in the notebook, not this copy.

Static RAM (data + bss) of the ported UART DMA ring-buffer echo B, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187NUCLEO-U083RCESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230
gcc-14.3-os2.3 kB48 MHz, 1 run
ticlang-5.1.1-o263632 MHz, 1 run63232 MHz, 1 run63632 MHz, 1 run63232 MHz, 1 run63232 MHz, 1 run9.3 kB1 run
ticlang-5.1.1-o2-run363232 MHz, 1 run
ticlang-5.1.1-o2-run463232 MHz, 1 run
ticlang-5.1.1-o2-skill63232 MHz, 1 run
(one way)
Sources

Run records are in the notebook, not this copy.

Packets per second answered for 500 back-to-back 5-byte packets, console UART pps, higher is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187NUCLEO-U083RCESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230
baud-1152002,248.532 MHz2,293.832 MHz2,245.532 MHz2,284.432 MHz2,259.448 MHz2,28432 MHz2,273.7
baud-115200-run32,279.332 MHz
baud-115200-run42,291.332 MHz
baud-115200-skill2,281.132 MHz
baud-9216009,131.132 MHz979.332 MHz9,142.832 MHz9,012.832 MHz15,252.848 MHz6,285.232 MHz9,194.7
baud-921600-skill5,938.332 MHz
(one way)
Sources

Run records are in the notebook, not this copy.

Counting lines read on the host after the banner from TI's UART console example count, higher is better

VariantLP-MSPM0G3519
uart_tx_console_multibyte_repeated_fifo_dma632 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Replies lost out of 500 back-to-back packets count, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187NUCLEO-U083RCESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230
baud-115200032 MHz032 MHz032 MHz032 MHz048 MHz032 MHz0
baud-115200-run3032 MHz
baud-115200-run4032 MHz
baud-115200-skill032 MHz
baud-921600032 MHz447 to 45232 MHz032 MHz032 MHz048 MHz152 to 18132 MHz0
baud-921600-skill164 to 23832 MHz
(one way)
Sources

Run records are in the notebook, not this copy.

Median host-measured round trip of one packet to its 4-byte reply ms, lower is better

VariantLP-MSPM0L1306LP-MSPM0C1104LP-MSPM0G3519LP-MSPM0G5187NUCLEO-U083RCESP32-C6-DevKitC-1-N8LP-MSPM33C321ALP-AM13E230
baud-1152002.8532 MHz1.5332 MHz2.8632 MHz1.8532 MHz1.7248 MHz1.832 MHz1.41
baud-92160028.532 MHz28.932 MHz28.732 MHz28.532 MHz0.9248 MHz28.632 MHz28.4
(one way)
Sources

Run records are in the notebook, not this copy.

Flash used by the ported BLE gamepad report core (lemmingDev ESP32-BLE-Gamepad, generic mode) and its console glue B, lower is better

VariantLP-MSPM0G3519LP-EM-CC2340R5LAUNCHXL-F2800137NUCLEO-U083RCESP32-C6-DevKitC-1-N8
arduino-nimble-library702.1 kB160 MHz, 1 run
core-arduino270.9 kB160 MHz, 1 run
core-cl2000-o2-ram8.1 kB120 MHz, 1 run
core-gcc-os3.6 kB16 MHz, 1 run
core-ticlang9.9 kB32 MHz, 1 run
core-ticlang-ble-hogp-build-only189.4 kB to 189.4 kB48 MHz
Sources

Run records are in the notebook, not this copy.

Static RAM used by the same image (bss plus data, stack not counted) B, lower is better

VariantLP-MSPM0G3519LP-EM-CC2340R5LAUNCHXL-F2800137NUCLEO-U083RCESP32-C6-DevKitC-1-N8
arduino-nimble-library24 kB160 MHz, 1 run
core-arduino15.5 kB160 MHz, 1 run
core-cl2000-o2-ram1.5 kB120 MHz, 1 run
core-gcc-os88016 MHz, 1 run
core-ticlang2 kB32 MHz, 1 run
core-ticlang-ble-hogp-build-only33.8 kB to 33.9 kB48 MHz
Sources

Run records are in the notebook, not this copy.

Average time to build the HID report descriptor, 200 builds, on the board's own timer us, lower is better

VariantLP-MSPM0G3519LP-EM-CC2340R5LAUNCHXL-F2800137NUCLEO-U083RCESP32-C6-DevKitC-1-N8
arduino-nimble-library5 to 9160 MHz
core-arduino14160 MHz
core-cl2000-o2-ram8120 MHz, 1 run
core-gcc-os38916 MHz, 1 run
core-ticlang3532 MHz, 1 run
core-ticlang-ble-hogp20748 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Average time to pack one 19-byte input report, 1000 packs, on the board's own timer us, lower is better

VariantLP-MSPM0G3519LP-EM-CC2340R5LAUNCHXL-F2800137NUCLEO-U083RCESP32-C6-DevKitC-1-N8
arduino-nimble-library112 to 131160 MHz
core-arduino1160 MHz
core-cl2000-o2-ram5.64120 MHz, 1 run
core-gcc-os4116 MHz, 1 run
core-ticlang1732 MHz, 1 run
core-ticlang-ble-hogp1748 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Flash used by the ported UART bootloader (ferenc-nemeth/stm32-bootloader), text plus data B, lower is better

VariantLP-MSPM0G3519
ticlang-5.1.1-os3.2 kB32 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Static RAM (data + bss, including the stack the linker reserves) of the ported UART bootloader B, lower is better

VariantLP-MSPM0G3519
ticlang-5.1.1-os4.1 kB32 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Host checks passed out of 6 for the ported UART bootloader (prompt, update, flash content, reset jump, bad CRC retry, abort and recovery) count, higher is better

VariantLP-MSPM0G3519
fresh-agent-port632 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Seconds from the first Xmodem packet to the ACK of EOT, including the erase of the application area s, lower is better

VariantLP-MSPM0G3519
1024-byte-packets-4480-b1.5432 MHz
128-byte-packets-1416-b1.1932 MHz
Sources

Run records are in the notebook, not this copy.

DNS sinkhole answers a blocked name with the fixed address yes/no

VariantLP-EM-CC35X1
fixed-a-recordyes1 run
Sources

ports/dns-sinkhole/measure.py

Median DNS reply time for a blocked name, from a Mac on the same network ms, lower is better

VariantLP-EM-CC35X1
71492-domains6
Sources

ports/dns-sinkhole/measure.py

95th percentile DNS reply time for a blocked name ms, lower is better

VariantLP-EM-CC35X1
71492-domains20
Sources

ports/dns-sinkhole/measure.py

Median DNS reply time for an allowed name (forwarded to the upstream resolver) ms, lower is better

VariantLP-EM-CC35X1
71492-domains70
Sources

ports/dns-sinkhole/measure.py

95th percentile DNS reply time for an allowed name ms, lower is better

VariantLP-EM-CC35X1
71492-domains172
Sources

ports/dns-sinkhole/measure.py

DNS transaction IDs come from the chip hardware random generator yes/no

VariantLP-EM-CC35X1
psa_generate_randomyes1 run
Sources

ports/dns-sinkhole/firmware/dns_sinkhole.c

Flash taken by the blocklist table per 10,000 domains B, lower is better

VariantLP-EM-CC35X1
40-bit-hash48.8 kB1 run
Sources

ports/dns-sinkhole/gen_blocklist.py

Static RAM of the DNS blocker code B, lower is better

VariantLP-EM-CC35X1
full7301 run
Sources

ports/dns-sinkhole/build.sh

Flash of the whole image with the blocklist table B, lower is better

VariantLP-EM-CC35X1
71492-domains1.5 MB1 run
Sources

ports/dns-sinkhole/build.sh

Largest blocklist the application slot holds (link arithmetic) count, higher is better

VariantLP-EM-CC35X1
flash-slot304,2981 run
Sources

ports/dns-sinkhole/README.md

Expected console lines the MicroPython image printed in the Cortex-M0 emulator (host only) count, higher is better

VariantLP-MSPM0G3507LP-MSPM0G3519
full-unicorn-cortex-m0111 run
min-unicorn-cortex-m071 run71 run
Sources

Run records are in the notebook, not this copy.

MicroPython REPL banner on the real UART yes/no

VariantLP-MSPM0G3507LP-MSPM0G3519
fullyes80 MHz, 1 run
min
Sources

ports/micropython/README.md

machine.Pin toggle read back on the pin yes/no

VariantLP-MSPM0G3519
full
Sources

ports/micropython/README.md

Pystone iterations per second at 80 MHz iter/s, higher is better

VariantLP-MSPM0G3519
full
Sources

ports/micropython/README.md

The data file the port reads in place hashes to the expected SHA-1 at boot yes/no

VariantLP-EM-CC35X1
doom-s3-wad-xipyes160 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Checksum of the first 400 rendered frames equals the reference build yes/no

VariantLP-EM-CC35X1
doom-demo1yes160 MHz, 1 run
doom-demo2
doom-demo3no160 MHz, 1 run
doom-whx-attractyes160 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Frames per second of a ported engine running a timedemo, no screen output fps, higher is better

VariantLP-EM-CC35X1
doom-demo161.5160 MHz
doom-demo342.6160 MHz, 1 run
doom-whx-all-after40022.5160 MHz, 1 run
doom-whx-crc-every-frame20.3160 MHz, 1 run
doom-whx-panel
doom-whx-xip-fast-ram36.7160 MHz, 1 run
doom-whx-xip-fast-ram-o239.2160 MHz, 1 run
doom-whx-xip-tcm-statics-only34.5160 MHz, 1 run
Sources

docs/experiments/2026-10-20-doom-smallest-ti-chip.md, ports/doom/target-cc35x1-whx/PANEL-WIRING.md

A byte sent over the serial port reaches the firmware (demo select) yes/no

VariantLP-EM-CC35X1
doomno160 MHz
Sources

Run records are in the notebook, not this copy.

Disk used by downloaded crates and one release build MB, lower is better

VariantLP-MSPM0L1306
embassy-cache23132 MHz, 1 run
Sources

ports/rust-mspm0/README.md

A recorded demo plays to its end on the board yes/no

VariantLP-EM-CC35X1
doom-whx-demo1yes160 MHz, 1 run
doom-whx-demo2yes160 MHz, 1 run
doom-whx-demo3yes160 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

CRC chain over all frames of a run equals the emulator run yes/no

VariantLP-EM-CC35X1
doom-whx-attractyes160 MHz, 1 run
doom-whx-o2-all-framesyes160 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Disk used by the Rust toolchain for the target MB, lower is better

VariantLP-MSPM0L1306
rustup-minimal60232 MHz, 1 run
Sources

ports/rust-mspm0/README.md

WebAssembly interpreter slowdown against the same C (fib 20, instruction counts) x, lower is better

VariantLP-MSPM0G3519LP-MSPM33C321A
wasm3-v0.9.037.1 calc.27.6 calc.
wasm3-v0.9.0-board43.580 MHz, 1 run
Sources

ports/wasm3/README.md

WebAssembly interpreter slowdown against the same C (20k-iteration loop, instruction counts) x, lower is better

VariantLP-MSPM0G3519LP-MSPM33C321A
wasm3-v0.9.018.6 calc.21 calc.
wasm3-v0.9.0-board28.980 MHz, 1 run
Sources

ports/wasm3/README.md

Stored count survives a software reset storm yes/no

VariantLP-MSPM0L1306LP-EM-CC35X1
msp430-fram-persistyes32 MHz, 1 run
wifi-credentials-nvocmp
Sources

ports/wifi-provisioning-ble/README.md

Stored count survives a program load that leaves the data sector alone yes/no

VariantLP-MSPM0L1306
msp430-fram-persistyes32 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Stored count survives power removed yes/no

VariantLP-MSPM0L1306
msp430-fram-persistyes32 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Time to store one word in non-volatile memory us, lower is better

VariantLP-MSPM0L1306
msp430-fram-persist5632 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Time to erase the flash sector that holds the stored data us, lower is better

VariantLP-MSPM0L1306LP-MSPM0G3519
msp430-fram-persist1,98632 MHz, 1 run
zephyr-flash-driver2,625 to 2,62680 MHz
Sources

Run records are in the notebook, not this copy.

Bytes of a burst echoed correctly while the chip sleeps between bytes bytes, higher is better

VariantLP-MSPM0L1306
msp430-uart-echo-bus-standby019032 MHz, 1 run
msp430-uart-echo-lfclk-standby0532 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Test programs or checks whose output on the board equals the host reference count, higher is better

VariantLP-MSPM0G3519
chip8-test-suite-frame-buffer580 MHz, 1 run
zx48-screen-bytes-vs-host280 MHz, 1 run
Sources

ports/chip8/tools/verify_board.py, ports/zx-spectrum/tools/verify_board.py

Interactive interpreter checks that pass on the board count, higher is better

VariantLP-MSPM0G5187LP-EM-CC2340R5LP-MSPM33C321A
micropython-zephyr-basic-heap20k648 MHz, 1 run
micropython-zephyr-stock-prj-gpio7160 MHz, 1 run
ulisp-4.9a1980 MHz
Sources

ports/ulisp/tests/repl_check.py

Endless recursion ends in an error message and the next line still runs yes/no

VariantLP-MSPM0G5187
ulisp-4.9a180 MHz, 1 run
Sources

Run records are in the notebook, not this copy.

Restoring a board's saved flash image after a test (done, or waiting with the reason) yes/no

VariantLP-MSPM0C1104LP-EM-CC2340R5LP-CC1354P10-1LP-AM13E230LP-EM-CC2755P10LP-EM-CC35X1
digital-lab-node-saci196 MHz, 1 run
flash-1mb-ccfg-2kb11 run
frl-ccs13113.548 MHz, 1 run
frl-main-and-ccfg148 MHz
frl-toolbox-hashed-copy11 run
frl-toolbox-reprogram56.9
main-restore-hex
oob-after-factory-reset124 MHz, 1 run
oob-after-factory-reset-3124 MHz, 1 run
oob-after-factory-reset-4124 MHz, 1 run
Sources

docs/frl.md, portability/boosterpacks/audio/tools/am13_algos_quiet.py

What is left to run, per board

LP-MSPM0G3507 56 of 301 tests measured

Could work Loop rate with 20 percent of the period free (computed, superseded)

Dhrystone 2.1; 256-point complex FFT; Minimal tasks that fit

Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Energy per occupancy inference; The part works on this board from this repo's driver; MicroPython REPL banner on the real UART

LP-MSPM0L1306 88 of 265 tests measured

Could work Loop rate with 20 percent of the period free (computed, superseded)

n/a Hardware AES against software (ratio at one message size); DAC to ADC loop error; Energy per BLE connection (BlueJoule job); Energy per radio transmit event (one advertisement or one packet)

Not for this chip Vendor AI example, one inference

Energy per occupancy inference; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Energy per ADC sample at 1 ksps from sleep; Energy per 1 kB flash write

LP-MSPM0C1104 34 of 213 tests measured

Not for this chip CoreMark; CoreMark per MHz; Dhrystone 2.1; 256-point complex FFT

Not for this chip One step of frl's connect ladder reaches the chip on its own (frl identify --connect-step)

n/a sin plus cos; Divide; Hardware AES against software (ratio at one message size); DAC to ADC loop error

Not for this chip Zephyr upstream support

Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration

LP-MSPM0G3519 121 of 301 tests measured

Could work Touch to changed pixel (computed from measured parts, or measured with a real finger); Interpreter speed divided by the pace a typical program needs; Mean CPU cycles to encode one 10 ms LC3 frame (value is the mean; the note holds the worst frame); Mean CPU cycles to decode one 10 ms LC3 frame

Not for this chip openssl speed, EVP, 8 KB blocks

Dominant frequency the pack microphone hears from a DAC8311 test tone (1000 Hz expected; about 60 Hz is the silent mains floor); Pystone iterations per second at 80 MHz

Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Energy per ADC sample at 1 ksps from sleep; Energy per 1 kB flash write; machine.Pin toggle read back on the pin; MicroPython: a finger drag is tracked on screen (a person looked); Serial console shows the program banner and a running count; A finger on the panel pad reaches the program as a key press; A finger on the touch keyboard reaches the program as a typed character

LP-MSPM0G5187 103 of 278 tests measured

Could work NPU time against the same graph as NNC CPU code, or against hand-written C; Signal to error ratio of the 8-bit graph against the float reference

Not for this chip ML-DSA-44 sign (FIPS 204), mean over 100 messages; openssl speed, EVP, 8 KB blocks

n/a DAC to ADC loop error; Dominant frequency the pack microphone hears from a DAC8311 test tone (1000 Hz expected; about 60 Hz is the silent mains floor)

Energy per block on the NPU against the CPU; Streaming with the taps-1 overlap carried between blocks works; Share of CPU time left free while the NPU runs a block; The same graph on the AM13E230; Repeat runs without a reflash; The Lisp interpreter reads an ADC channel; The Lisp interpreter saves its workspace to flash and restores it

Not for this chip Zephyr upstream support

Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between; The part works on this board from this repo's driver

LP-EM-CC2340R5 80 of 305 tests measured

Could work Loop rate with 20 percent of the period free (computed, superseded)

n/a Hardware CRC against a table; DAC to ADC loop error

Fastest clean UART loopback; Vendor AI example, one inference; Packet loss over one hour; Vendor examples that build from a terminal

Not for this chip The part works on this board from this repo's driver

Time on air for one packet; Charge per radio event at 3.0 V; Average current at one event per 1000 ms, 3.0 V; Distance at which packet error rate stays under 1%; Deepest sleep with RAM kept (STANDBY-class); Energy per BLE connection (BlueJoule job); Energy per CoreMark iteration; Energy per occupancy inference; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Energy per ADC sample at 1 ksps from sleep; Energy per 1 kB flash write; Energy per radio transmit event (one advertisement or one packet); Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between; Button press on a Bluetooth LE HID device to the host's action (a media key changing the player), median of 20

LP-CC1354P10-1 65 of 305 tests measured

n/a Hardware CRC against a table

Blink example build time; Blink flash time; DAC to ADC loop error; Fastest clean UART loopback; Vendor AI example, one inference; Payload throughput board to board; BLE echo round trip, 20 bytes; Over-the-air update completed; Examples run with no crash; Loop rate with 20 percent of the period free (computed, superseded); ECDH P-256 shared secret (the classical step ML-KEM replaces)

Not for this chip Zephyr upstream support

Time on air for one packet; Charge per radio event at 3.0 V; Average current at one event per 1000 ms, 3.0 V; Distance at which packet error rate stays under 1%; Deepest sleep with RAM kept (STANDBY-class); Energy per BLE connection (BlueJoule job); Energy per CoreMark iteration; Energy per occupancy inference; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Energy per ADC sample at 1 ksps from sleep; Energy per 1 kB flash write; Energy per radio transmit event (one advertisement or one packet); Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between

LAUNCHXL-F2800137 64 of 261 tests measured

Could work Loop rate with 20 percent of the period free (computed, superseded)

n/a Hardware AES against software (ratio at one message size); Hardware CRC against a table

Box or plug-in to a changed blink

Not for this chip Zephyr upstream support; RTOS task switch round trip; Minimal tasks that fit

DAC to ADC loop error

NUCLEO-G071RB 0 of 278 tests measured

NUCLEO-U083RC 44 of 278 tests measured

Not for this chip DAC to ADC loop error; Fastest clean UART loopback

n/a Energy per BLE connection (BlueJoule job); Energy per radio transmit event (one advertisement or one packet)

BitNetMCU handwritten digit, one inference; Vendor AI example, one inference; Examples that build after moving to another chip

Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Energy per occupancy inference; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Energy per ADC sample at 1 ksps from sleep; Energy per 1 kB flash write; Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between; Digital-power PID loop, trigger to duty write (mean); Flash used by a hobby part's driver plus its demo; RAM used by a hobby part's driver plus its demo; The part works on this board from this repo's driver; SSD1306 OLED full-frame time (128x64, I2C); Highest control-loop trigger rate with no missed period in 1,000; Control-loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period; Digital-power loop worst case, trigger to duty write, as a percent of a 100 kHz period; Digital-power loop jitter, worst minus best trigger to duty write; Highest digital-power loop rate with no missed period in 1,000; Digital-power loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period; ML-KEM-768 key generation (FIPS 203); ML-KEM-768 encapsulation; ML-KEM-768 decapsulation; ML-DSA-44 key generation (FIPS 204); ML-DSA-44 sign (FIPS 204), mean over 100 messages; ML-DSA-44 verify; Peak stack of one post-quantum call, by painting; SHA-256 of 1 kB, cycles per byte

FRDM-MCXA153 26 of 278 tests measured

n/a Hardware AES against software (ratio at one message size)

PWM or timer trigger to first line of ISR; Trigger, ADC, control step, new PWM value (mean)

DAC to ADC loop error; Fastest clean UART loopback; Deepest sleep with RAM kept (STANDBY-class); Examples that build after moving to another chip; Active current per MHz running CoreMark (slope between two clocks)

Raspberry Pi Pico 2 H 24 of 278 tests measured

Not for this chip Hardware AES against software (ratio at one message size)

DAC to ADC loop error; Fastest clean UART loopback; Examples run with no crash

ESP32-C6-DevKitC-1-N8 36 of 290 tests measured

n/a Hardware CRC against a table

Flash used by the ported UART DMA ring-buffer echo (MaJerle stm32-usart-uart-dma-rx-tx); Static RAM (data + bss) of the ported UART DMA ring-buffer echo; Packets per second answered for 500 back-to-back 5-byte packets, console UART; Replies lost out of 500 back-to-back packets; Median host-measured round trip of one packet to its 4-byte reply

LP-MSPM33C321A 138 of 301 tests measured

Could work WebAssembly interpreter slowdown against the same C (fib 20, instruction counts); WebAssembly interpreter slowdown against the same C (20k-iteration loop, instruction counts); CPU cycles per instruction of a whole program, from its time and an emulator instruction count

Not for this chip openssl speed, EVP, 8 KB blocks

Dominant frequency the pack microphone hears from a DAC8311 test tone (1000 Hz expected; about 60 Hz is the silent mains floor); Cycles per frame of an audio algorithm on the chip (DWT counter); An audio algorithm runs live on the BoosterPack (heard or read back); The S2 button starts a new story on the screen; The decoded clip plays out of a DAC or speaker

DAC to ADC loop error; Fastest clean UART loopback; Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Energy per occupancy inference; Power-up to SPI screen initialized and on; Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest mode, RAM lost, pin wake; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between

LP-AM13E230 111 of 278 tests measured

Interrupt pend to first line of handler; GPIO toggle; Fastest ADC with DMA; Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Energy per occupancy inference; Active current per MHz running CoreMark (slope between two clocks); Deepest mode, RAM lost, pin wake; Cycles per frame of an audio algorithm on the chip (DWT counter); An audio algorithm runs live on the BoosterPack (heard or read back); LED pin toggles under the Rust build (probe GPIO read, changes counted); Restoring a board's saved flash image after a test (done, or waiting with the reason)

LP-EM-CC2755P10 66 of 305 tests measured

Not for this chip openssl speed, EVP, 8 KB blocks

n/a Hardware CRC against a table; DAC to ADC loop error

Digital-power PID loop, trigger to duty write (mean); Digital-power loop worst case, trigger to duty write, as a percent of a 100 kHz period; Digital-power loop jitter, worst minus best trigger to duty write; Highest digital-power loop rate with no missed period in 1,000; Digital-power loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period

Not for this chip Vendor AI example, one inference

LP-EM-CC35X1 64 of 305 tests measured

Not for this chip openssl speed, EVP, 8 KB blocks; RAM the software H.264 decode needs: decoder heap peak plus input buffer plus RGB565 strip

Not for this chip Embench programs that fit and pass; PWM or timer trigger to first line of ISR; Trigger, ADC, control step, new PWM value (mean)

Data-cache hit and miss counters readable from the application; External flash read mode or clock changeable from the application

Not for this chip Hardware CRC against a table; Zephyr upstream support

Interrupt pend to first line of handler; GPIO toggle; 256-point complex FFT; sin plus cos; Divide; Hardware AES against software (ratio at one message size); RTOS task switch round trip; Minimal tasks that fit; DAC to ADC loop error; One field-oriented control step; Setpoint or state change still works with the internet cable pulled; Controllers that hold one device at once and all still control it; Setup again after a reflash and factory reset, per platform; Deepest sleep with RAM kept (STANDBY-class); Active current per MHz running CoreMark (slope between two clocks); Lightest sleep, CPU off, clocks on (SLEEP); STOP-class mode, low-speed clock kept; Deepest sleep with a 1 s timer wake and nothing to do; Deepest sleep with RAM kept to first instruction; AES-128 CBC encrypt of 1 kB in software (tiny-AES-c); Control loop worst case, trigger to new PWM value, as a percent of a 100 kHz period; Control loop jitter, worst minus best trigger to new PWM value; Highest control-loop trigger rate with no missed period in 1,000; Control-loop CPU load, interrupt entry to exit, as a percent of a 100 kHz period; AES-128 in hardware, cycles per byte; AES-128 in software (tiny-AES-c), cycles per byte; ML-KEM-768 key generation (FIPS 203); ML-KEM-768 encapsulation; ML-KEM-768 decapsulation; ML-DSA-44 key generation (FIPS 204); ML-DSA-44 sign (FIPS 204), mean over 100 messages; ML-DSA-44 verify; Peak stack of one post-quantum call, by painting; Flash used by the post-quantum code in a linked image; SHA-256 of 1 kB, cycles per byte; ECDSA P-256 sign of a 32-byte digest; ECDSA P-256 verify; ECDH P-256 shared secret (the classical step ML-KEM replaces); Software H.264 decode (baseline profile, no video hardware): frames per second; Stored count survives a software reset storm; Whether a ported display driver brought the panel up (yes or no)

LAUNCHXL-F28P65X 12 of 138 tests measured

Box or plug-in to a changed blink; Blink flash time

IWRL6432BOOST 7 of 99 tests measured

Not for this chip Box or plug-in to a changed blink; Zephyr upstream support

CoreMark; Host-side code for a radio or sensor: flash and RAM on this host; Box open to the first valid radar frame parsed on the Mac (TI image, a custom parser); Average power against update rate; Deep-sleep power with memory retained; Reset release to the first frame, application booting from flash; Raw ADC samples streamed over SPI to a host, frames lost; Hardware accelerator FFT against the Cortex-M4F software FFT; Zone on-events in an empty room; Cue to a zone lighting (detect) or clearing (clear), from a timed walk-through; Radar frame to Home Assistant state change

LP-AM263P 28 of 168 tests measured

n/a Blink image flash

Minimal tasks that fit

Fastest ADC with DMA; DAC to ADC loop error; Fastest clean UART loopback; Deepest sleep with RAM kept (STANDBY-class); Energy per CoreMark iteration; Active current per MHz running CoreMark (slope between two clocks)

SK-TDA4VM 31 of 212 tests measured

n/a Vendor examples that build from a terminal

Box or plug-in to a changed blink; Embench programs that fit and pass; OpenGL ES on the GPU: kmscube or glmark2 frames per second

TMDS62LEVM (AM62L EVM) 37 of 85 tests measured

Dhrystone 2.1

Not for this chip AES-128 in hardware, cycles per byte

The rows as CSV, one file per board: AM13E230, AM263P, CC1354P10-1, CC2340R5, CC2755P10, CC35X1, ESP32-C6 (Espressif), F2800137, F28P65X, FRDM-MCXA153 (NXP), IWRL6432BOOST, MSPM0C1104, MSPM0G3507, MSPM0G3519, MSPM0G5187, MSPM0L1306, MSPM33C321A, NUCLEO-U083RC (ST), Pico 2 (RPi), SK-TDA4VM, TMDS62LEVM (AM62L EVM).

Method

Each test is a program that reports its own cycle count or time, and a script reads it back from the chip. A benchmark that checks its own answer, such as CoreMark's CRC, the AES known answer or a model's test vectors, gives no number when the check fails. Three runs give a median. A row marked 1 run is a single run, which can be off by whatever the Mac, the supply or the radio did that minute: cycle counts from a self-checking benchmark barely move, wall-clock times and radio latencies move a lot. Every number is a row in the results store with its source file, date, clock and build. The full rules are in the method above.

Calculated numbers. A number read from a board is measured. These are worked out from other numbers, and each says so where it appears:

  • Interrupt response in nanoseconds: the best-case cycle count divided by the clock. The chart note says so; the cycles are measured.
  • The outlined bars in the radio RAM chart, marked "calculated" in its legend: the chip's RAM plus the bytes the linker said a stack that did not link was short.
  • Table cells marked "calc.", computed from other rows:
    • CPU cycles per instruction of a whole program, from its time and an emulator instruction count
    • Days on a CR2032 (225 mAh) at the reference duty cycle: wake once a minute, 50 ms active at top clock, deepest sleep with RAM kept between
    • Driver current-sense output, cached ADC sample (not a calibrated phase current)
    • Emulated machine speed as per mille of the real machine, 159 meaning 15.9 percent
    • Flash used by an outside project ported to the board, with its shim
    • Host-side code for a radio or sensor: flash and RAM on this host
    • Interpreter speed divided by the pace a typical program needs
    • LVGL demo screen refreshes per second
    • Loop rate with 20 percent of the period free (computed, superseded)
    • Mean CPU cycles to decode one 10 ms LC3 frame
    • Mean CPU cycles to encode one 10 ms LC3 frame (value is the mean; the note holds the worst frame)
    • NPU time against the same graph as NNC CPU code, or against hand-written C
    • RAM left after linking a stack
    • RAM used by an outside project ported to the board, with its shim
    • Signal to error ratio of the 8-bit graph against the float reference
    • Tokens per second of a small language model
    • Touch to changed pixel (computed from measured parts, or measured with a real finger)
    • WebAssembly interpreter slowdown against the same C (20k-iteration loop, instruction counts)
    • WebAssembly interpreter slowdown against the same C (fib 20, instruction counts)

Ranks. Control loop and interrupt ranks use the times drawn in the charts. Boards whose times match at the digits shown share a rank: two boards tied for third both read 3 of 11, and the next is 5.

Probe floors. Current figures come from the kit's own EnergyTrace probe. It reads about 1.5 mA on the MSPM0 L1306 with the chip shut down, so every chip figure on that board is the raw reading minus that floor, and one probe count is about 0.1 mA. Very small currents sit at the edge of what the probe can resolve.

Model names. The AI models carry plain names on this site. The ids behind them stay in the data and in the hover text:

Name on this siteModel id in the data
Room occupancy: tinyocc_cnn_500
Room occupancy: smallocc_cnn_2k
Room occupancy: mediumocc_cnn_8k
Room occupancy: largeocc_cnn_30k
Object detection, small (lite)yolox-nano-lite-416
Object detection, smallyolox-nano-416
Face detectionyolox-s-lite-widerface-640
Object detection, mediumyolox-s-lite-640
Pose estimationyolox-s-pose-640
Image classification (RegNetX 200MF)regnetx-200mf-224
Object detection (SSD-Lite MobileNetV2)ssd-lite-mobv2-512
Segmentation (DeepLabV3-Lite)deeplabv3lite-mobv2-ade20k-512
Segmentation (DeepLabV3-Lite, 768x432)deeplabv3lite-mobv2-robokit-768x432
Coverage: tests measured per board
LP-MSPM0G350755 of 301
LP-MSPM0L130684 of 265
LP-MSPM0C110431 of 213
LP-MSPM0G3519114 of 301
LP-MSPM0G518791 of 278
LP-EM-CC2340R576 of 305
LP-CC1354P10-161 of 305
LAUNCHXL-F280013750 of 261
NUCLEO-G071RB (ST)0 of 278
NUCLEO-U083RC (ST)43 of 278
FRDM-MCXA153 (NXP)26 of 278
Raspberry Pi Pico 2 H24 of 278
ESP32-C6-DevKitC-1-N8 (Espressif)36 of 290
LP-MSPM33C321A132 of 301
LP-AM13E23078 of 278
LP-EM-CC2755P1065 of 305
LP-EM-CC35X163 of 305
LAUNCHXL-F28P65X8 of 138
IWRL6432BOOST7 of 99
LP-AM263P26 of 168
SK-TDA4VM31 of 212
TMDS62LEVM (AM62L EVM)29 of 85
Questions this page raises
Which numbers can I compare straight across boards?
Cycle counts and per-MHz scores from the same build at the same compiler level: CoreMark per MHz with ticlang-bare-o3, interrupt latency bare, the model cells in the "fastest plain-C" chart. Milliseconds and absolute CoreMark depend on the clock, so divide by the MHz first. Rows built a different way on each board are not like for like.
Why is the MSPM0 L1306's sleep current 6.2 µA when the data sheet says 1.0?
The board's own probe reads 1.500 mA with the chip shut down, and that is subtracted from every figure. The 6.2 µA is a mean of 36k samples, at the edge of what the probe can resolve, so the probe is the likely cause of the gap.
Why is the MSPM0 L1306's control step so much slower than the LAUNCHXL-F2800137's?
In clock cycles it is about 30 to 45 times (a mean of 12,851 against 286 to 439). In time it is about 108 to 167 times (401.6 µs against 2.4 to 3.7 µs), because the L1306 runs at 32 MHz and the F2800137 at 120 MHz. The Cortex-M0+ has no floating-point unit, so the same C runs in software float there, while the C28x has an FPU. The F2800137's own software-against-TMU rows show its trig unit adds another 2 times on top.
What does "does not fit" mean, and why does it have a number?
The program linked but needed more RAM than the chip has; the number is how many bytes short, from the linker. It is a build result for one configuration built with local changes, not a measurement on the board.
Why are some radio rows "failed"?
The CC2340R5's Zigbee update from Home Assistant starts and then stops: the best of nine transfers reached 88.74%. Every long transfer ended on lost block replies, which points at the radio environment. Its Bluetooth on TI's Zephyr fork boots but sent nothing on the air. Each has a write-up on its project page.
Why do the two Zigbee "command latency" cells differ by 16 times?
They measure different things: a light being switched (CC2340R5, 95 ms) and a sleepy sensor being read, which waits for the sensor's 3 s poll (CC1354P10-1, 1,574 ms). The difference is in what each row times, not in the chips.
Why is the STOP0 current not the data sheet's 151 µA?
The data sheet measures STOP0 with the main oscillator slowed to 4 MHz. The program left it at 32 MHz, so the 329 µA is a different configuration, not a worse chip.
Why is the LAUNCHXL-F2800137's CoreMark not a score?
CoreMark assumes an 8-bit byte; the C28x core's smallest addressable unit is 16 bits, so three of CoreMark's four self-checks fail unpatched. The patched build runs the same work but is not a certified score. Details in c2000-launchpad/bench/general-benchmarks.md.
Why does CoreMark per MHz on the MSPM0 G3507 drop from 32 MHz to 80 MHz?
Flash cannot answer at 80 MHz without the core waiting; it needs two wait states per flash read, so each iteration takes about 7% more cycles. Code copied to RAM would not pay that.

Sources

  • data/results/<board>.csv: one row per number, with its source file, date, clock and conditions
  • data/benchmark-suite.json: the test list, units and which way is better
  • data/boards.csv: the boards, their cores, clocks and RAM
  • Toolchain for most rows: Intel Mac, macOS 15.7, CCStudio 21.0.1, TI Arm Clang 5.1.1, Zephyr 4.4.2. The variant on each row names anything different.
  • Last measurement 2026-11-02. 1 kB = 1,024 bytes.