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 esp32c3-oled042git 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/esp32c3-oled042)<a href="https://agentmods.dev/skills/alexex1993/mcu-skills/esp32c3-oled042"><img src="https://agentmods.dev/badge/skills/alexex1993/mcu-skills/esp32c3-oled042/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/esp32c3-oled042"><img src="https://agentmods.dev/badge/skills/alexex1993/mcu-skills/esp32c3-oled042.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 65 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00000 | $0.03761 |
| Opus 5 | $0.00000 | $0.01880 |
| Sonnet 5 | $0.00000 | $0.00752 |
| Haiku 4.5 | $0.00000 | $0.00376 |
Grade A, and why
esp32c3-oled042 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 7d 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 — 225 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ESP32-C3 0.42" OLED (ESP32-C3FH4)
A 25 × 20 mm ESP32-C3 board with a 0.42-inch OLED glued to it. Two things make it worth a skill: the panel is a 72 × 40 window inside a 128 × 64 controller and does not start at column 0, and the C3 has exactly one I2C controller, which the panel occupies. Almost every failure on this board traces back to one of those two facts, and neither is visible from the code.
There is no vendor datasheet for the board. The detail below is assembled from the schematic, the Zephyr port, published bring-ups and a working project — read the reference files rather than guessing.
reference/board-hardware.md— the board reference: pin table, reset-time states, strapping analysis, free pins, peripheral availability, power tree, memory and flash layout, and the display's quirks in full (Part I), plus a development guide (Part II: §10 toolchain, §11 sdkconfig, §12 flashing, §13 peripheral cookbook, §14 symptom → cause → fix table, §15 sources).reference/recipes.md— copy-paste code:platformio.ini,sdkconfig.defaults,board.h, the OLED init sequence, the I2C bus, frame flushing, a second I2C device, bus scan, LED, BOOT button, ADC, UART, the U8g2 constructors, font regeneration.reference/esp32c3-soc.md— the ESP32-C3 datasheet digest, for chip-level questions: pin and IO MUX tables, analog functions, boot straps, memory, every peripheral's limits, electrical characteristics, current consumption.reference/esp32-family.md— the rest of the family, for "should this be a different ESP32?" questions: what does and does not port between chips, radio and USB capability per chip, the RMT generation table (WS2812 under Wi-Fi load), deep-sleep memory and ULP/LP-core availability, and a chip-selection table.template/— a project that builds clean, in two variants, plus a scaffold script. Seetemplate/README.md.
Orientation
| SoC | ESP32-C3FH4, RISC-V RV32IMC @ 160 MHz, QFN32, 22 GPIO, no FPU |
| Memory | 4 MB in-package flash (1 MB default app partition), 400 KB SRAM of which 16 KB is cache → ~320 KB linkable |
| Clocks | 40 MHz main crystal. No 32.768 kHz crystal — RTC slow clock is the internal RC, and that is the correct default |
| Display | SSD1306, 72 × 40 visible, I2C 0x3C, SDA GPIO5 / SCL GPIO6, 400 kHz. Multiplex ratio 40, column offset 28 |
| LED | one blue LED on GPIO8, LOW = lit |
| Buttons | BOO/BOOT GPIO9, pressed = low · RST acts on CHIP_EN, not readable in software |
| USB | USB-C straight to the SoC's USB Serial/JTAG on GPIO18/19. No bridge chip. Console, flashing and JTAG all share it |
| Free pins | GPIO0, 1, 2, 3, 4, 7, 10, 20, 21 on the headers. GPIO0–GPIO4 are also the only usable ADC channels |
| Power | USB 5 V → 1N5819 → ME6211C33 LDO → 3V3. The 5V header pin is VUSB, before the diode |
| Radio | Wi-Fi 802.11 b/g/n + BLE 5, ceramic chip antenna, nothing to configure |
| Toolchain | PlatformIO + platform-espressif32 7.0.1 + ESP-IDF 6.0.1, board = esp32-c3-devkitm-1 |
What ships with it
19 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 449 B
- reference/board-hardware.md 20 KB
- reference/esp32-family.md 22 KB
- reference/esp32c3-soc.md 19 KB
- reference/recipes.md 11 KB
- template/.gitignore 120 B
- template/CMakeLists.txt 114 B
- template/include/board.h 2.4 KB
- template/include/font5x7.h 5.0 KB
- template/include/oled.h 1.3 KB
- template/platformio.ini 881 B
- template/README.md 3.4 KB
- template/scripts/genfont.py 9.9 KB runs code
- template/sdkconfig.defaults 538 B
- template/src/CMakeLists.txt 168 B
- template/src/main.c 2.3 KB
- template/src/oled.c 5.9 KB
- template/variants/minimal/main.c 1.5 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.
- 7d ago Changed · +4 lines 02c2cd0ac32d
- 11d ago First seen · 221 lines · 0 tokens per session scan A ca2688c54765
esp32c3-oled042 is a skill published in the GitHub repository alexex1993/mcu-skills (17 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,761 tokens. 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-08-30.
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…
ruview-mmwave
Set up and run RuView mmWave / FMCW radar sensing — ESP32-C6 + Seeed MR60BHA2 (60 GHz, heart rate / breathing rate / presence) and HLK-LD2410 (24 GHz, presence + distance), plus mmWave↔WiFi-CSI sensor fusion (48-byte fused vitals, MR60BHA2/LD2410 auto-detect, v0.5.0+). Use when the deployment includes a…
provision-node
Build, flash, and provision an ESP32-S3/C6 CSI node for RuView — firmware variant choice, ESP-IDF Windows-subprocess flow, NVS/WiFi/channel/MAC-filter overrides.