GitHub

Hardware / No radio: small chips / Step 1 of 5

LP-MSPM0C1104 (MSPM0C1104)

The MSPM0C1104 is a microcontroller in TI's MSPM0 family: 24 MHz Arm Cortex-M0+, 16 kB of flash, 1 kB of RAM.

MSPM0C110424 MHzLP-MSPM0C1104

Quick facts

BoardLP-MSPM0C1104
ChipMSPM0C1104
CoreCortex-M0+
Clock24 MHz
Flash16 kB
RAM1 kB
RadioNone
Notable peripherals12-bit ADC 1.5 Msps, up to 10 external channels; 1 UART with LIN, 1 SPI, 1 I2C; 3 x 16-bit timers, up to 14 PWM; 8 to 20 pin packages; 87 µA/MHz run
On-board debug probeBuilt into the board
Where to buyTI.com
Toolchains that ranTI compilers, FreeRTOS

Get it running

  1. Plug the board into your computer with its USB cable. No driver to install.

  2. In Chrome or Edge, open the browser bench and click Connect.

  3. Pick Blink LED1 red: 150, 150, 150, 900 ms and click Flash. The page writes it to the board.

    You should see: LED1 red (PA22) flashes twice, then pauses.

    J7 must be on for the LED to light (SLAU908B Table 2-1, as quoted in mspm0c1104/FAQ.md); J101 11:12 and 13:14 stay ON (SWD to the XDS110, as shipped)

What works

  • Interrupt latency, pend to first handler line: 23 cycles (bare metal; 24 MHz; 3 runs)
  • GPIO toggle: 2.0 cycles (bare metal, -O3; 24 MHz)
  • Blink image size: 424 B of flash, 64 B of RAM (bare metal; 24 MHz)
  • RTOS task switch round trip: 16.3 µs (FreeRTOS; 24 MHz; 3 runs)
  • Fastest ADC with DMA: 1.0 Msps (TI Arm Clang; 24 MHz; 3 runs)
  • Full redraw of a 320 x 480 SPI screen: 41.1 ms (scene drawn and sent in 16-row bands; 2.3 kB on the wire; 24 MHz)
  • Vendor examples that build from a terminal: 100% (TI Arm Clang)
  • Embench programs that fit and pass: 9 of 19 (TI Arm Clang, -O2; 24 MHz; 2 runs)

Download every result for this board (CSV), or compare it on this board on the Benchmarks page.

Projects and ports that ran here

Want wireless? Try the LP-EM-CC2340R5 for Bluetooth, Zigbee or Thread or the LP-EM-CC35X1 for Wi-Fi.

Fixes

  • If you see Example requires Rev E3 or later of the MSPM0C1104 LaunchPad (SDK README), or a dark LED after a good flash, change the pin in gpio_toggle_output.syscfg, or watch J1 pin 8.
  • If you see FreeRTOS tasks never wake, no tick, put the tick on TIMG14 at 24,000 counts per tick, replacing the port's weak vPortSetupTimerInterrupt.
  • If you see a second FreeRTOS task does not link, turn both off; two tasks plus idle ran in 0.97 kB.
  • If you see Hard fault in core_bench_list, stack pointer 0x1FFFFF30 (reduced CoreMark with 400 or 200 B data), report no CoreMark score for this chip from these builds.
  • If you see UART wrong at 4 to 4.5 and 6.4 Mbaud, silent at 9 and 12 Mbaud, test your exact rate; 8 Mbaud (24 MHz / 3) was right.
  • If you see LED already blinking before the first flash, sample the pin every 25 ms or faster.
  • If you see Warning: A firmware update is required for the XDS110 probe. The current firmware is version 3.0.0.26: DSLite still flashes and verifies; OpenOCD printed nothing.
  • If you see Could not find MEM-AP after running a ported G3507 example (tima_timer_mode_pwm_dead_band, 2026-10-24): DSSM factory reset (command 0x020A; erases main flash, NONMAIN to defaults; approval first), write mspm0c1104/data/oob-flash.bin back, then start with an nRST board reset.

Every fix for this board in its FAQ

For AI assistants

Point your assistant at this board's AGENTS.md (build, flash and fix notes) and the repository's llms.txt (the index).

Sources: mspm0c1104/README.md, mspm0c1104/AGENTS.md, mspm0c1104/FAQ.md, data/results/mspm0c1104.csv, site/data/portfolio.json, site/data/projects.json, site/data/ports.json.