An independent electronics lab
Vibe to Volts.
Demos and ports on TI development kits, from a LaunchPad kit with 1 kB of RAM to Linux, with the code and the numbers. An open place for embedded work: bring what you built and it gets a page.
Build it. Share it.
Copy or .
git clone --depth 1 --filter=blob:none --sparse https://github.com/Fox-Red-Labs/fox-red-labs.git cd fox-red-labs git sparse-checkout add mspm0l1306 tools ./start.sh mspm0l1306 blink
I have a TI LaunchPad development kit; its name is on the board's silkscreen. Clone https://github.com/Fox-Red-Labs/fox-red-labs with `git clone --depth 1 --filter=blob:none --sparse https://github.com/Fox-Red-Labs/fox-red-labs.git`, then `git sparse-checkout add tools data` plus the folder named for my board (the table in START.md maps board names to folders). Read that folder's README.md, AGENTS.md and FAQ.md, then build, flash and run its blink with the commands there. Ask me before any step that needs my hands, and show me the serial output when it runs.
Doom on the MSPM33C321A. The engine runs on the kit and draws its built-in demo on the BoosterPack's 128 by 128 screen. The board →
2048 on a 3.5 inch touch screen. Swipe to play: the MSPM0 G3519 runs the game and reads the touch panel. The board →
The MSPM0 G3507. Plug in the board and watch its LED blink a pattern you changed. The first project →
A touch screen on the MSPM0 G3507. Eleven wires (twelve with touch) and a 7.4 kB program that paints colors, bars and a dot under your finger. The logo is a saved picture in the driver's photo mode. Small screen →
A thermostat on three kits. A thermostat screen on the LP-MSPM0G3519, a Matter thermostat on the LP-EM-CC35X1 that Apple Home controls, and an IWRL6432BOOST radar whose frames were replayed to the screen. Smart home →
The IWRL6432 radar kit. Presence sensing: it held a seated person at 2 m and 4 m, the farthest distances tried. Radar →
From 1 kB of RAM to a Linux processor
One app.c, unchanged, on eleven boards. Hover or tap a chip for the board.
| Board | Chip | Here | Serial line |
|---|---|---|---|
| LP-MSPM0C1104 | Cortex-M0+, 24 MHz, 1 kB RAM, 16 kB flash | The smallest chip here. Blink, a voltage reading and the serial line fit in 1 kB of RAM. | t=19 adc=549 avg=536 |
| LP-MSPM0L1306 | Cortex-M0+, 32 MHz, 4 kB RAM, 64 kB flash | The board the start script supports: first blink from a fresh clone. | t=13 adc=2645 avg=2644 |
| LP-MSPM0G5187 | Cortex-M0+ with NPU, 80 MHz, 32 kB RAM, 128 kB flash | An MSPM0 with a neural processing unit; the Sub-1 GHz link and the sensors pack ran here. | t=18 adc=1449 avg=1449 |
| LP-MSPM0G3519 | Cortex-M0+, 80 MHz, 128 kB RAM, 512 kB flash | The biggest MSPM0: 2048 on a 3.5 inch touch screen and the thermostat screen ran here. | t=14 adc=1085 avg=1085 |
| LP-MSPM33C321A | Cortex-M33, 160 MHz, 256 kB RAM, 1 MB flash | A Cortex-M33 at 160 MHz; Doom ran here on the BoosterPack screen. | t=24 adc=3165 avg=3184 |
| LAUNCHXL-F2800137 | C28x, 120 MHz, 36 kB RAM, 256 kB flash | A real-time control MCU for motors and power, with its own C28x core instead of an Arm core. | t=14 adc=2035 avg=2036 |
| LP-AM13E230 | Cortex-M33 with TMU and NPU, 200 MHz, 128 kB RAM, 512 kB flash | A real-time control MCU with a neural processing unit; motor control and small models ran here. | t=9 adc=128 avg=128 |
| LP-EM-CC2340R5 | Cortex-M0+, 48 MHz, 36 kB RAM, 512 kB flash | Bluetooth LE; the gamepad and the asset-tracking tag ran here. | t=22 adc=1368 avg=1368 |
| LP-EM-CC2755P10 | Cortex-M33, 96 MHz, 162 kB RAM, 1 MB flash | Bluetooth LE and 802.15.4 with a +20 dBm radio. | t=32 adc=1374 avg=1374 |
| LP-EM-CC35X1 | Cortex-M33, 160 MHz, 1 MB RAM, 8 MB flash | Wi-Fi 6 and Bluetooth; the Matter light, the DNS ad blocker and the asset-tracking hub ran here. | t=16 adc=1210 avg=1182 |
| TMDS62LEVM (AM62L EVM) | 2x Cortex-A53, 1250 MHz, 2 GB RAM | Two Arm Cortex-A53 cores running Linux; the same app.c built with GCC and reads the ADC through sysfs. | t=13 adc=1032 avg=1032 |
The smallest chip here. Blink, a voltage reading and the serial line fit in 1 kB of RAM.
Demos
Parts, wiring, build steps and the code, on every demo page.

Doom on a Cortex-M33
The engine runs on the kit and draws on the BoosterPack's 128 by 128 screen.

2048 on a 3.5 inch touch screen
Swipe to play 2048 on a 3.5 inch touch screen; Game Boy and more share the project.

Handwriting recognized on the chip
Draw a digit with your finger and the chip names it on the screen.

Radar presence sensing
Held a seated person at 2 m and 4 m, one pass each, the farthest distances tried.

A vision model on a Linux board
14 ready-made vision models run on the board's C7x accelerator; on 8 of them the two Arm CPU cores took 13 to 135 times longer.

Blink, then change the pattern
Plug in the board, build the blink, then ask for a new pattern in plain English.
Radios
Each one has a demo written and run on a kit.
Get the code
# first blink on an LP-MSPM0L1306, the board the start script supports; CCStudio and the SDK install first (about 10 GB), see the project page
git clone --depth 1 --filter=blob:none --sparse https://github.com/Fox-Red-Labs/fox-red-labs.git
cd fox-red-labs
git sparse-checkout add mspm0l1306 tools
./start.sh mspm0l1306 blink
Every board folder has a README, an AGENTS.md for an AI assistant and a FAQ with the fixes. Stuck? Pick a board and open its FAQ, for example the MSPM0 G3507 FAQ. More on the community page.


