
WaveDrom Timing Diagram
oshwhub-official1v1.0.3
A timing diagram drawing tool based on WaveDrom, supporting WaveJSON syntax input for timing diagram generation and preview, placed in schematics
Details
Changelog
Historical versions
Comments
WaveDrom Timing Diagram
oshwhub-official1Details
Changelog
Historical versions
Comments
Timing Diagram Tool
A timing diagram tool based on WaveDrom, supporting creation and placement of professional digital timing diagrams in EasyEDA Pro schematics.
Timing diagram support:

Logic gate support:

Effect in schematic:

Features
- ✨ Real-time Preview - Generate timing diagram preview in real-time while editing WaveJSON syntax
- 📝 Configuration Management - Save, load, rename, and delete multiple timing diagram configurations
- 💾 Import/Export - Import and export configuration files for backup and sharing
- 🎨 Theme Toggle - Support light/dark editor themes
- 📏 Line Numbers - Code editor with line numbers for easy navigation
- 🌐 Multi-language - Support Chinese and English interfaces
- 📤 SVG Export - Export timing diagrams as SVG files
- 🔧 Adjustable Layout - Drag separator to adjust editor and preview area heights
Known Issue
- The text insertion has a slight offset, which will be corrected after the subsequent API is fixed
Installation
- Open EasyEDA Pro or download the latest
.eextfile - In EasyEDA Pro, click Advanced → Extension Manager → Extension List
- Find Timing Diagram Tool and click install, or click Import Extension button
- Select the downloaded
.eextfile - Confirm installation
Usage
Open Editor
- In schematic editor, click top menu Timing Diagram Tool → Draw Timing Diagram...
- Editor window will open
Edit Timing Diagram
- Select or create a configuration on the left
- Enter WaveJSON syntax in the middle editor
- Preview area will show the generated timing diagram in real-time
- Click Save Config to save current configuration
WaveJSON Syntax
Example 1 - Basic Timing Diagram:
{
"signal": [
{ "name": "clk", "wave": "p.....|..." },
{ "name": "dat", "wave": "x.345x|=.x", "data": ["head", "body", "tail", "data"] },
{ "name": "req", "wave": "0.1..0|1.0" },
{},
{ "name": "ack", "wave": "1.....|01." }
]
}
Example 2 - Logic Gate:
{
"assign": [
["out", ["|", ["&", ["~", "a"], "b"], ["&", ["~", "b"], "a"]]]
]
}
For more syntax, refer to WaveDrom official tutorials:
Configuration Import/Export
- Export Config - Click ⬆ button to export all configurations to JSON file, filename format:
timing-configs_{date}.json - Import Config - Click ⬇ button to import configurations from JSON file (will overwrite all current configurations)
Configuration file format:
{
"version": "1.0.0",
"exportDate": "2026-03-28T00:00:00.000Z",
"appName": "Timing Diagram Tool",
"configs": [
{
"id": "...",
"name": "Config Name",
"wavejson": "{ signal: [...] }",
"createdAt": 1234567890,
"updatedAt": 1234567890
}
]
}
Export and Apply
- Export SVG - Export timing diagram as SVG file, filename format:
Timing_{schematic_name}_{date}.svg - Apply - Convert timing diagram to lines and text and place into schematic, all elements will be auto-selected, use Ctrl+G to group
Shortcuts
- Theme Toggle - Click 🌓 button to toggle light/dark editor theme
- Drag to Resize - Drag separator between editor and preview to adjust height
- Config Management - Use +, ✎, ✕ buttons in left toolbar to manage configurations
Tech Stack
- WaveDrom - Timing diagram rendering engine
- EasyEDA Pro API - Extension development API
- Vanilla JavaScript - No framework dependencies
Development
# Install dependencies
npm install
# Compile
npm run compile
# Build extension package
npm run build
Built .eext file is located in build/dist/ directory.
License
Apache-2.0 license
Contributing
Issues and Pull Requests are welcome!
Links
更新日志 / Changelog
[1.0.3] - 2026-06-5
新增
- 新增多语言支持
[1.0.2] - 2026-03-31
修复
- 移除eda.sys_FileSystem.getExtensionFile() API的调用,避免安装提示有外部交互提示弹窗
- 修改名称为“WaveDrom时序图”
[1.0.1] - 2026-03-30
修复 / Fixed
- 修复应用到原理图时出现多余斜线的问题(path 多段子路径被错误合并为一个 polygon)
- 修复绝对/相对路径命令混用时坐标偏移量翻倍的 bug
- 修复圆弧(
a/A命令)转换错误,改用 W3C 标准端点→圆心参数化算法 - 增加圆弧折线段密度(全圆 128 段),提升圆润度
- 新增对 SVG 直接 path 元素的提取(方法3),支持不使用
<use>引用的 SVG - 新增填充色提取,逻辑门等有填充的图形可正确还原外观
- 补充
c、s、q、t等相对路径命令的解析 - 修正输出比例为 1:1(原为 0.5x 缩放)
[1.0.0] - 2026-03-28
新增 / Added
- 基于 WaveDrom 的时序图编辑器
- 配置管理(保存、加载、重命名、删除、导入导出)
- 编辑器主题切换(浅色/深色)、行号显示、实时预览
- 多语言支持(中文/英文)
- SVG 导出,文件名格式:
Timing_{原理图名}_{日期}.svg - 应用到原理图(将时序图转换为线条和文本放置到原理图)
- 可拖拽调整的编辑器/预览区布局

暂无数据
Type
Schematic
Keyword
Timing DiagramWaveDromTiming Diagram
Extension Info
| Version | v1.0.3 |
| Author | EasyEDA |
| Published at | 2026-06-10 09:18:39 |
| Name | eext-timing-diagram-tool |
| UUID | 5bcf0208405043499ff5e43def49fac6 |
| Works with | ^3.2.0 |
| Report | Report abuse |
Comment