Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksBuild a CPUToolsOpen the lab →

WaveDrom alternative: timing diagrams from a circuit that runs

WaveDrom draws digital timing diagrams, or waveforms, from a simple text description. It is a JavaScript application with three parts: a description language, WaveJSON, in which every character of a signal's wave string is one time period; a rendering engine that can be embedded in any web page; and an editor that works in the browser or can be installed. Its tutorial covers clocks of either polarity with markers on the working edge, high-impedance and unknown states and data values, and a second tutorial draws schematics. The source is on GitHub under the MIT license. WaveDrom draws the timing diagram you describe; digiwleea records the timing diagram of the circuit you built.

What WaveDrom is good at

Clean, repeatable timing diagrams for datasheets, specifications, lecture notes and documentation: you type the waves, keep them next to your code, and render them anywhere the engine is embedded. Nothing has to be simulated, so you can draw a protocol or a timing requirement before any hardware exists. (digiwleea is an independent project, not affiliated with WaveDrom.)

How digiwleea is different

In digiwleea the waveform is a result, not an input. Build a counter, a register or a state machine in the lab, open the waveform view, and it runs the circuit for the number of clock cycles you choose and draws every clock, input and probe the way a logic analyzer would, marking shorts and oscillation if the wiring has them. That makes it a way to check a design rather than document one: if the counter skips a state, the waveform shows it. digiwleea does not export WaveJSON, so for a diagram in a document, WaveDrom is the tool; the clock and timing lessons explain what the waves mean.

WaveDromdigiwleea
InputWaveJSON text you writeA circuit you build and run
OutputA rendered timing diagramA live waveform of every clock, input and probe
Catches wiring mistakesNo: it draws what you describeYes: shorts and oscillation are marked
Runs inBrowser or installed editor; embeddable rendererAny modern browser
PriceFree, open source (MIT)Free lab and Act I; Premium for the full course

No sign-up is needed to start: open the lab and place your first transistor, or read the free theory course. The account (and the AI tutor) are optional.

More comparisons: HDL, FPGA and chip design tools

See for yourself: build a logic gate from transistors in the simulator, then follow the path from sand to an 8-bit CPU.

Open the digiwleea lab →

Frequently asked

What is WaveDrom?

WaveDrom is a free, open-source JavaScript tool that draws digital timing diagrams from a text description called WaveJSON. It has an editor that runs in the browser or can be installed, and a rendering engine you can embed in web pages.

What is WaveJSON?

WaveJSON is WaveDrom's format for describing timing diagrams: a list of signals, each with a name and a wave string in which every character is one time period, such as 0, 1, a clock edge, z for high impedance or x for unknown.

Can WaveDrom simulate a circuit?

No. WaveDrom draws the waves you describe. To get a waveform from a working design, simulate it: an HDL simulator with a waveform viewer for Verilog or VHDL, or a logic simulator such as digiwleea for a circuit you wire.

How do I make a digital timing diagram?

To document a timing you already know, describe it in WaveJSON and render it with WaveDrom. To see the real timing of a circuit, build the circuit in a simulator and record its signals over several clock cycles, as digiwleea's waveform view does.