← Back to Skills Marketplace
ylongw

Framebuffer Dump

by ylongw · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
276
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install framebuffer-dump
Description
Dump the current STM32 LCD framebuffer via J-Link and convert it to PNG for visual comparison with Figma. Use when user asks to export, snapshot, dump, or ca...
README (SKILL.md)

Framebuffer Dump (J-Link → PNG)

Export the actual on-device rendered frame directly from SDRAM framebuffer and convert to PNG.

Default parameters (PRO2)

  • Device: STM32H747XI_M7
  • FB base: 0xD0000000
  • Resolution: 604x1024
  • Pixel format: RGB888 (3 bytes/pixel)
  • Dump size: 604*1024*3 = 1,855,488 (0x1C5000)

One-shot workflow

1) Create J-Link command file

Use scripts/dump_fb.jlink.template and replace placeholders:

  • {{DEVICE}}
  • {{SPEED_KHZ}} (e.g. 12000)
  • {{OUT_BIN}} (absolute path)
  • {{FB_ADDR}} (e.g. 0xD0000000)
  • {{FB_SIZE}} (e.g. 0x1C5000)

2) Dump raw framebuffer

JLinkExe -NoGui 1 -CommandFile /tmp/jlink_dump_fb.jlink > /tmp/jlink_dump_fb.log 2>&1

3) Convert raw to PNG

python3 scripts/dump_fb.py \
  --in /path/to/fb_dump.bin \
  --out /path/to/fb_dump_604x1024.png \
  --width 604 --height 1024 --stride 3

Troubleshooting

  • If output bin is 0 bytes: check J-Link connection / path permissions.
  • If colors look wrong: verify pixel format is RGB888 (not BGR / RGB565).
  • If image shifted/corrupt: verify width/height match current display mode.
  • If command hangs too long: make sure dump size is correct (0x1C5000 for 604x1024 RGB888).

Notes

  • This method captures real framebuffer pixels (no camera distortion).
  • Best for Figma-vs-device pixel comparison and regression snapshots.
Usage Guidance
This skill is coherent and appears safe to inspect and run if you need to capture an STM32 framebuffer. Before installing or running: ensure you have SEGGER J-Link (JLinkExe) on PATH and Python with Pillow; verify or create the missing scripts/dump_fb.jlink.template referenced in the docs; run only on devices you trust because the J-Link dump reads raw SDRAM (which may contain sensitive data); check file paths and permissions for the output .bin/.png; and inspect the included scripts locally (dump_fb.py is short and only converts local bytes to an image — it performs no network I/O).
Capability Analysis
Type: OpenClaw Skill Name: framebuffer-dump Version: 1.0.0 The skill bundle provides a legitimate utility for embedded developers to capture STM32 framebuffer data via J-Link and convert it to PNG. The Python script (scripts/dump_fb.py) uses standard libraries (Pillow, pathlib) safely to process binary data, and the SKILL.md instructions are transparent and consistent with the stated purpose of hardware debugging and UI verification.
Capability Assessment
Purpose & Capability
The name/description match the included scripts and instructions: the SKILL.md/README explain using J-Link to dump SDRAM framebuffer and the included Python converts the raw bytes to PNG. Minor inconsistency: the registry metadata lists no required binaries, but the README/SKILL.md clearly require SEGGER J-Link (JLinkExe) and Python+Pillow.
Instruction Scope
Runtime instructions are narrowly scoped to creating a J-Link command file, running JLinkExe to read memory, and converting the resulting .bin to PNG with the bundled script. This is coherent with the purpose. Two notes: (1) SKILL.md/README reference scripts/dump_fb.jlink.template but that template is not present in the file manifest — the user/agent must supply or create it; (2) dumping device memory is inherently sensitive (the workflow reads raw SDRAM) so running this against an untrusted device or a device containing secrets could expose sensitive data — this is expected behavior, not malicious scope creep.
Install Mechanism
No install spec; it is instruction-only with a small helper script included. This is low-risk: nothing is downloaded or installed automatically by the skill.
Credentials
The skill does not request credentials or environment variables. The only required external tools are JLinkExe and Python with Pillow (not declared in registry metadata), which are proportionate to the stated task.
Persistence & Privilege
The skill does not request persistent/always-on privileges and contains no install-time hooks. Autonomous invocation is allowed by platform defaults but not combined with other risky properties.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install framebuffer-dump
  3. After installation, invoke the skill by name or use /framebuffer-dump
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — J-Link framebuffer dump for STM32 LCD to PNG
Metadata
Slug framebuffer-dump
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Framebuffer Dump?

Dump the current STM32 LCD framebuffer via J-Link and convert it to PNG for visual comparison with Figma. Use when user asks to export, snapshot, dump, or ca... It is an AI Agent Skill for Claude Code / OpenClaw, with 276 downloads so far.

How do I install Framebuffer Dump?

Run "/install framebuffer-dump" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Framebuffer Dump free?

Yes, Framebuffer Dump is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Framebuffer Dump support?

Framebuffer Dump is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Framebuffer Dump?

It is built and maintained by ylongw (@ylongw); the current version is v1.0.0.

💬 Comments