npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

oh-my-embedded

v0.1.1

Published

Embedded systems engineering plugin for OpenCode. ESP32, FreeRTOS, RF design, PCB layout, component sourcing, power budgets — all from your terminal.

Downloads

178

Readme

GitHub Release npm downloads GitHub Contributors GitHub Stars GitHub Issues License MIT

[!TIP] Embedded systems engineering, straight from your terminal. ESP32, STM32, FreeRTOS, KiCad, RF design, power budgets — all wired into OpenCode.

oh-my-embedded

An OpenCode plugin for embedded engineers. It brings specialized agents, on-demand skills with MCP server integrations, and always-available calculation tools for the kind of work that doesn't fit neatly into a generic coding assistant.

Works standalone or alongside oh-my-opencode.

Installation

For Humans

Copy and paste this prompt to your LLM agent (Claude Code, OpenCode, AmpCode, Cursor, etc.):

Install and configure oh-my-embedded by following the instructions here:
https://raw.githubusercontent.com/captainluzik/oh-my-embedded/main/docs/guide/installation.md

Or read the Installation Guide directly — but we recommend letting an agent handle it.

For LLM Agents

Fetch the installation guide and follow it:

curl -s https://raw.githubusercontent.com/captainluzik/oh-my-embedded/main/docs/guide/installation.md

What's Inside

Agents

Press Tab in the OpenCode TUI to cycle through agents. @embedded and @hardware appear alongside your existing agents.

| Agent | Color | Mode | What it does | |-------|-------|------|--------------| | @embedded | 🟢 Green | primary | Firmware engineer. ESP32/STM32, FreeRTOS, peripherals, WiFi/BLE, deep sleep, OTA, power management | | @hardware | 🟠 Orange | primary | PCB/RF engineer. Schematics, layout, component selection, RF design, impedance matching | | @review-hw | 🔴 Red | subagent | Read-only firmware code reviewer. P0-P3 severity findings, memory safety, ISR pitfalls |

Skills

Skills load on-demand via the skill tool. Each skill carries its own MCP servers — they start when you load the skill and stop when idle.

| Skill | MCP Servers | What it does | |-------|-------------|--------------| | embedded-engineer | esp-mcp | ESP32/STM32 firmware, FreeRTOS, peripherals, WiFi/BLE, deep sleep, OTA | | embedded-review | — | Firmware code review: memory safety, ISR, RTOS pitfalls, C/C++ UB. P0-P3 severity | | pcb-designer | kicad-mcp-server | KiCad PCB design: schematic, placement, routing, DRC, Gerber, JLCPCB BOM | | component-sourcer | @jlcpcb/mcp | Component search, BOM optimization, JLCPCB Basic Parts, alternatives | | firmware-debugger | mcp-server-gdb, serial-mcp-server | GDB debugging, JTAG/SWD, hard fault analysis, serial monitor | | circuit-simulator | spicebridge | ngspice simulation: power supplies, filters, impedance matching |

Tools

These tools are always available — no skill loading, no MCP servers, no install needed.

| Tool | What it does | |------|--------------| | embedded-power-calculator | Battery life estimation, LDO vs DC-DC, per-component current breakdown | | embedded-impedance-calculator | RF L/Pi matching networks, microstrip impedance, Butterworth LC filters | | embedded-resistor-divider | Voltage divider design with E24 standard values, load effect analysis | | embedded-pin-mapper | ESP32 GPIO pin map, conflict detection, strapping pin warnings | | embedded-decoupling-advisor | Per-IC decoupling cap recommendations (ESP32, STM32, LDO, DC-DC, ADC) |

Commands

| Command | What it does | |---------|--------------| | /flash | Build + flash firmware (auto-detects ESP-IDF or PlatformIO) | | /debug | Start GDB debug session with OpenOCD/J-Link/probe-rs | | /bom | Generate JLCPCB-ready BOM from KiCad project | | /power-budget | Analyze project peripherals and calculate power budget | | /review-firmware | Run structured firmware code review with P0-P3 severity |

Auto-Detection

The plugin detects your project type automatically and injects relevant context into every session.

| File | Detected as | |------|-------------| | sdkconfig, sdkconfig.defaults | ESP-IDF | | platformio.ini | PlatformIO | | prj.conf, west.yml | Zephyr RTOS | | .ioc | STM32CubeMX |

For ESP-IDF projects, it parses sdkconfig and injects: target chip, flash size, PSRAM, WiFi/BLE status, partition table, and ADC2+WiFi conflict warnings.

Prerequisites

The plugin has no mandatory dependencies. MCP servers install on-demand when you load a skill.

| MCP Server | Install | Used by | |------------|---------|---------| | esp-mcp | pip install esp-mcp | embedded-engineer | | kicad-mcp-server | npm i -g kicad-mcp-server | pcb-designer | | @jlcpcb/mcp | auto-installed via npx | component-sourcer | | mcp-server-gdb | cargo install mcp-server-gdb | firmware-debugger | | serial-mcp-server | cargo install serial-mcp-server | firmware-debugger | | spicebridge | pip install spicebridge | circuit-simulator |

Usage Examples

Battery life for a sensor node

Use embedded-power-calculator to estimate battery life:
- ESP32 with WiFi, 10% duty cycle (240mA active, 10uA deep sleep)
- BME280 sensor (0.35mA active, 0.1uA sleep, 1% duty cycle)
- LED indicator (20mA, 0.1% duty cycle)
Supply: 3.3V via LDO from 4.2V LiPo, 2000mAh battery

Impedance matching for a 915 MHz antenna

Use embedded-impedance-calculator to design an L-match network:
50 Ohm source to 150 Ohm antenna at 915 MHz

Check ESP32 pin assignments for conflicts

Use embedded-pin-mapper to check these assignments:
GPIO18 = SPI_CLK, GPIO23 = SPI_MOSI, GPIO19 = SPI_MISO,
GPIO5 = SPI_CS, GPIO21 = I2C_SDA, GPIO22 = I2C_SCL,
GPIO12 = LED, GPIO34 = ADC_INPUT

Full firmware review

/review-firmware src/

Roadmap

| Feature | Status | |---------|--------| | @embedded agent (ESP32/STM32, FreeRTOS) | ✅ Done | | @hardware agent (PCB/RF design) | ✅ Done | | @review-hw subagent | ✅ Done | | 6 skills with MCP server integrations | ✅ Done | | 5 always-available calculation tools | ✅ Done | | 5 slash commands | ✅ Done | | Auto-detection (ESP-IDF, PlatformIO, Zephyr, STM32) | ✅ Done | | sdkconfig context injection | ✅ Done | | npm publish | 🔲 Planned | | TUI installer with model selection | 🔲 Planned | | STM32CubeMX MCP integration | 🔲 Planned | | Zephyr RTOS skill | 🔲 Planned | | RF/antenna design skill (no MCP exists yet) | 🔲 Planned | | ESP32-S3/C3 pin maps for pin-mapper tool | 🔲 Planned | | PlatformIO MCP server integration | 🔲 Planned | | More circuit simulation templates | 🔲 Planned |

Contributing

This project is early and shaped by whoever shows up. If you work with embedded systems and want better AI tooling, this is the place to build it.

PRs are welcome. New MCP server integrations are especially wanted — if you know of a good one for embedded work that isn't here yet, open an issue or send a PR.

See CONTRIBUTING.md for the full guide.

Good First Issues

Not sure where to start? These are concrete, self-contained tasks that don't require deep knowledge of the codebase:

| Task | Difficulty | |------|------------| | Add ESP32-S3 pin map to embedded-pin-mapper tool | Easy | | Add ESP32-C3 pin map to embedded-pin-mapper tool | Easy | | Add decoupling cap profiles for RP2040 and nRF52840 | Easy | | Add impedance calculator presets for common antenna matches | Medium | | Write unit tests for the calculator tools | Medium | | Improve error messages in tools (clearer, more actionable) | Easy |

Open an issue if you want to claim one, or just send the PR directly.

Author's Note

I built this because I kept switching between datasheets, calculators, and a generic AI assistant that didn't know what a strapping pin was. The embedded world has a lot of specialized knowledge that doesn't fit into a general-purpose coding tool.

oh-my-opencode's plugin architecture made it possible to build something focused. This is that thing, for embedded engineers.

The embedded community deserves better AI tooling. I don't think one person can build all of it, so I'm putting this out early and hoping others want to shape it too. If you're an embedded engineer who uses AI in your workflow, your feedback and contributions matter more than anything else here.

Uninstallation

# Remove the plugin from your opencode.json
cat ~/.config/opencode/opencode.json | jq 'del(.plugin[] | select(. == "oh-my-embedded"))' > tmp.json && mv tmp.json ~/.config/opencode/opencode.json

Then delete any copied skills and commands from ~/.config/opencode/skills/ and ~/.config/opencode/commands/.

Development

git clone https://github.com/captainluzik/oh-my-embedded
cd oh-my-embedded
bun install
bun run build
bun run typecheck

License

MIT