Skip to content
Chiplab logo
Chiplab logo
Back to Now

We read every "embedded simulator comparison" on the internet. Most are written by resellers.

I went looking for prior art. Before writing our own comparison of firmware simulators I wanted to know what already ranks, so I searched the obvious queries and started reading from the top.

The first page I opened was an embedded simulator comparison of Wokwi, Renode and QEMU, with a tidy feature table.1 Row: license. Renode's cell reads "Open-source (Apache 2.0)."

Renode is MIT. It is MIT in the LICENSE file at the root of the repository, in one word, on a line by itself.2 You do not need to read code, clone anything, or understand what a platform description file is. You need to click one link on GitHub.

Then I looked at who published it. The page has "Request a Quote" and a cart in the navigation. The company sells industrial monitors and panel PCs. Not firmware tooling. Displays.

The one thing I actually verified

Let me be precise about what this post is, because the title is a hook and the methodology deserves better than a hook.

I did not read every embedded simulator comparison on the internet. Nobody has. I read the ones that rank for the queries a firmware engineer would plausibly type, and I verified exactly one factual claim on one page against the primary source. That claim was wrong. Everything after this is a pattern I'm describing, not a census I'm reporting.

One verified error is enough, though, and it's enough for a specific reason. A license field is the cheapest possible fact. It's a single word, it lives in a file literally named LICENSE, and it never requires you to install the tool you're writing about. If a comparison table can't get that right, the table was not built by anyone who opened the project.

Illustration of an embedded simulator comparison table with Renode's license wrongly listed as Apache 2.0, circled in red

Same site, sibling page, same mistake. The best-ranked result for "Renode alternatives" lives on the same domain and also calls Renode Apache 2.0, which is why our own Renode alternatives post opens on it.3 The error got a paragraph in why we won't write Chiplab vs pages too. I'm not re-deriving it here. What's new in this post is the second half of the observation: it isn't one bad page. The whole shelf of top results for embedded simulator comparison queries is stocked by people with no reason to run the tools.

Why a single wrong cell takes the page down with it

In most B2B content a small factual error is a rounding error. The reader doesn't check, can't check, or doesn't care.

Developer tooling doesn't work like that. The reader has a terminal open. Post 26 goes into the trust dynamic in detail, so the short version: developers verify, and one broken detail costs you the whole document, not just that line. Embedded engineers are the extreme case, because our entire job is being suspicious of documentation. Half of debugging a peripheral is discovering that the reference manual and the silicon disagree. That reflex doesn't switch off when we read a blog post.

So here's what happens to that comparison table in practice. I read one cell, checked it against the repository, and found it wrong in under a minute. Now every other cell is unknown to me. Does Wokwi actually support the part it says it does? Is that QEMU claim current or four years stale? I have no way to tell, and I have one data point saying the author didn't check either. The rational move is to close the tab.

That's the asymmetry that makes this content worse than useless. It isn't neutral filler occupying a slot. It costs the reader time and then hands them nothing they can rely on.

The incentive problem, not a morality problem

I want to be careful here, because the obvious version of this post is "look at these frauds," and that's both boring and wrong.

The people publishing this stuff are not lying. They're doing content marketing exactly as it's normally practiced, and the practice does not include a verification step. The brief says: rank for a technical query adjacent to what we sell, so that firmware people land on our domain and maybe buy a panel PC. The writer gets a keyword, a word count and a deadline. They assemble a table from other tables, most of which were assembled from other tables. Somewhere upstream, years ago, one person guessed Apache 2.0 because Apache 2.0 is what open source usually is, and the guess has been getting copied forward ever since.

Nowhere in that chain does anyone have a reason to open Renode's repository. Selling monitors does not require knowing what license Renode ships under. The incentive stops at "page exists, page ranks, page has a quote form."

Chart contrasting who ranks for embedded simulator comparison queries with who has actually run the simulators

Compare that to the incentive on the other side. The people who genuinely know how Renode and QEMU differ are the people who fought both of them into a CI pipeline at 2am. Their output is a GitHub issue comment, a mailing list reply, a paragraph buried in a conference talk. None of it is structured as a comparison, none of it is optimized for anything, and it never outranks a table.

That gap is the whole story. Motivation to publish and knowledge of the subject are sitting in different places, and search rewards the first one.

How to spot a comparison nobody ran

Since you're going to keep hitting these pages, here's what I use. None of these are proof on their own. Two or three together and I stop reading.

Check the license row first. It's the fastest lie detector in the document. It costs you one click to verify and it tells you whether the author touched the project at all.

Look for the shape of a real run. A person who actually used the tool produces artifacts: a command line, an error message, a version number, a specific board name that didn't work. Prose that never descends below "supports a wide range of platforms" was written from other prose.

Read the last section before the CTA. On the reseller page family, the tell is a hardware recommendation block bolted to the end of a software comparison. The comparison exists to get you to that block.

Check whether any tool loses at anything. Real tools have sharp edges and the edges are the useful part. QEMU's Cortex-M device coverage and Renode's timing model are different kinds of thing, and a table with checkmarks in both columns has flattened away the only information you came for.

See if it says when not to switch. Comparison content written by someone who has used all the options always contains a "stay where you are" case, because that's usually the right answer. Content written to capture a query never does.

Check the date against the tools. These projects move. A page with no date, or a 2021 date and no update note, is describing software that no longer exists in that form.

Diagram of the content pipeline that produces embedded simulator comparisons with the verification step missing

What the honest version has to do

The fix isn't complicated, it's just unrewarded. An embedded simulator comparison worth a firmware engineer's time has to clear four bars.

Every factual claim traces to a primary source. License from the LICENSE file. Supported boards from the supported-boards doc, not from another blog post. Behavior from a run you did, with the output pasted in.

The conclusion is discovered, not assigned. If you decide the winner before the first row, you'll write a table that produces that winner, and the reader will feel it by row three.

The organizing axis is the job, not the vendor list. "Which of these three tools is best" has no answer. "I need a CI gate for a Cortex-M4 board that isn't in the QEMU tree" has one, and it's a different one from "I want to teach an Arduino class in a browser tab."

Conflicts get declared in the text, not the footer. We build on Renode. That belongs in the second paragraph of anything we write about Renode, because you should read our comparisons with that in hand.

We took a run at exactly this in the simulator tiers post, which is this batch's attempt at a comparison built on what each tier actually models rather than on who we'd like to beat. Go check its cells. I'd rather be corrected than ranked.

The uncomfortable part of all this is that the wrong page is winning right now. It's above us, it's above the docs, and it will keep collecting the traffic of every engineer who searches for an embedded simulator comparison this month. Some of them will believe the license row.

The only lever I have is to publish the corrected version and put the receipt next to it. Renode is MIT. The file is right there.

Sources

Footnotes

  1. Industrial Monitor Direct, "Wokwi vs Renode vs QEMU: Embedded System Simulators Comparison," knowledge base. https://industrialmonitordirect.com/blogs/knowledgebase/wokwi-vs-renode-vs-qemu-embedded-system-simulators-comparison

  2. Renode, GitHub repository, LICENSE file and README "License & contributions." https://github.com/renode/renode

  3. Industrial Monitor Direct, "ARM Cortex-M Simulators QEMU Renode Keil Comparison," knowledge base. https://industrialmonitordirect.com/de/blogs/knowledgebase/arm-cortex-m-simulators-qemu-renode-keil-comparison