Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alexex1993/mcu-skills --skill stm32f401rc-blackpillgit clone --depth 1 https://github.com/alexex1993/mcu-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alexex1993/mcu-skills/stm32f401rc-blackpill)<a href="https://agentmods.dev/skills/alexex1993/mcu-skills/stm32f401rc-blackpill"><img src="https://agentmods.dev/badge/skills/alexex1993/mcu-skills/stm32f401rc-blackpill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alexex1993/mcu-skills/stm32f401rc-blackpill"><img src="https://agentmods.dev/badge/skills/alexex1993/mcu-skills/stm32f401rc-blackpill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00291 | $0.04153 |
| Opus 5.5 | $0.00116 | $0.01661 |
| Sonnet 5.5 | $0.00058 | $0.00831 |
| Haiku 4.5 | $0.00029 | $0.00415 |
Grade A, and why
stm32f401rc-blackpill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
STM32F401RCT6 "Black Pill" with the WeAct HID bootloader
Board-specific firmware knowledge. The board's defining feature is not the chip but what sits in the first 16 KB of its flash: WeAct's HID bootloader. Almost every failure on this board comes from code that assumes it owns 0x08000000 and a freshly reset chip — neither is true here. Read the reference files rather than guessing.
reference/board-hardware.md— the hardware (MCU, pins, header, clocks, memory map with the bootloader), a full description of the bootloader's behaviour and protocol, PlatformIO configuration, flashing and recovery routes, and a symptom → cause → fix table (§9).reference/recipes.md— copy-paste code taken fromtemplate/:platformio.ini, the linker-script change, the hand-offReset_Handler, the 84/48 MHz clock tree, the USB CDC console, the flasher, bootloader reinstall.template/— a working PlatformIO project: blink + USB CDCprintfconsole, flashed over USB through the HID bootloader without touching a button, plus a scaffold script that can also produce a bare blink. Seetemplate/README.md.
Orientation
| MCU | STM32F401RCT6 — Cortex-M4F, 84 MHz max, 256 KB flash, 64 KB SRAM, LQFP64. DEVID 0x423 (same die as the F401CC) |
| Board | 40-pin (2 × 20) Black Pill footprint, unbranded clone, USB-C, NRST + BOOT0 + KEY buttons |
| Bootloader | WeAct Studio HID Bootloader V1.2 in sector 0, enumerates as HID 0483:572A, driverless |
| Flash map | 0x08000000 bootloader (16 KB, UID lock at 0x08003A28) · 0x08004000 app (240 KB) |
| Crystals | HSE 25 MHz (proven: the bootloader's PLLM=25 USB enumerates); LSE 32.768 kHz expected, untested |
| Working clock tree | PLL M25/N336/P4/Q7 → SYSCLK 84, HCLK 84, PCLK1 42, PCLK2 84, USB 48, FLASH_LATENCY_2, VOS Scale 2 |
| LED | PC13, toggling verified; LOW = lit per WeAct convention (polarity not measured) |
| KEY | PA0, pressed = LOW, needs GPIO_PULLUP — verified |
| USB | USB-C → USB_OTG_FS PA11/PA12. No USB-serial chip — a COM port exists only while firmware with a USB stack runs |
| Debug | SWD on PA13/PA14 (4-pin header on most Black Pill boards) |
What ships with it
22 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/IMAGE.md 87 B
- reference/board-hardware.md 21 KB
- reference/recipes.md 16 KB
- template/.gitignore 107 B
- template/include/board.h 1.3 KB
- template/include/usb_device.h 244 B
- template/include/usbd_cdc_if.h 1.0 KB
- template/include/usbd_conf.h 1.0 KB
- template/include/usbd_desc.h 137 B
- template/ld/STM32F401RCTX_APP_0x08004000.ld 5.2 KB
- template/platformio.ini 2.1 KB
- template/README.md 5.7 KB
- template/scripts/hid_upload.py 1.1 KB runs code
- template/scripts/weact_hid_flash.py 8.0 KB runs code
- template/src/boot_handoff.c 2.3 KB
- template/src/main.c 9.3 KB
- template/src/usb_device.c 583 B
- template/src/usbd_cdc_if.c 5.4 KB
- template/src/usbd_conf.c 8.0 KB
- template/src/usbd_desc.c 5.0 KB
- template/variants/minimal/main.c 4.3 KB
- template/variants/new-project.sh 1.5 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 198 lines · 0 tokens per session scan A 50b87b7712d9
stm32f401rc-blackpill is a skill published in the GitHub repository alexex1993/mcu-skills (20 stars, last pushed 2d ago), licensed MIT. It adds 291 tokens to every session and 4,153 once invoked, about $0.0012 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-16.
Other skills, from other repositories
iot-developer
Expert in IoT development, microcontrollers, sensors, and MQTT protocols.
edge-iot
Edge computing, IoT protocols, and embedded systems integration.
ruview-configure
Configure RuView — ESP32 sdkconfig variants, NVS provisioning, WiFi channel / MAC filter overrides (ADR-060), edge intelligence modules (ADR-041), sensing-server flags, multi-node mesh, and Cognitum Seed integration. Use when adjusting how a deployed RuView system behaves without changing code.
ruview-applications
Run RuView sensing applications — presence/occupancy, breathing & heart rate, activity & fall detection, 17-keypoint pose estimation (WiFlow), sleep monitoring & apnea screening, environment mapping, Mass Casualty Assessment (MAT), and the 3D point-cloud fusion demo. Use when someone wants to actually do something…
provision-node
Build, flash, and provision an ESP32-S3/C6 CSI node for RuView — firmware variant choice, cross-platform checksum-verified esptool flashing, NVS/WiFi/channel/MAC-filter overrides, boot-log evidence.
spark-environment-setup
Set up a working ML training/inference environment on NVIDIA DGX Spark (GB10, aarch64, CUDA 13). Use when installing PyTorch/Unsloth/TRL/vLLM on DGX Spark, hitting libcudart or wheel-ABI errors on aarch64, or choosing between NGC containers and bare pip installs.