Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

How we verify code

A green badge on FlashReady is the output of a real compile — never a number someone typed. Here's the whole pipeline.

1. Every code block is a real sketch

Code shown on a page is read straight from a sketch folder in our repository (sketches/<id>/). There is no second copy pasted into the page that could drift. Each Arduino sketch has a sketch.yaml that pins the board core and every library to an exact version, one profile per board.

TargetPinned version
ESP32 family (Espressif Arduino core)esp32:esp32 3.3.12
Arduino Uno / Nano (AVR core)arduino:avr 1.8.8
Raspberry Pi Pico W (Earle Philhower core)rp2040:rp2040 6.3.1
MicroPythonmpy-cross 1.29.0
Build toolarduino-cli 1.5.1

2. Compiled on every change

Every push and pull request compiles every sketch for every board it targets, split into four parallel jobs (ESP32, AVR, RP2040, MicroPython). If any compile fails, the change can't be published. The results file from that run is what the site's badges read — so the badge, the code you see and the firmware in our browser flasher all come from the same run.

3. Re-checked every night against the newest cores

At 02:30 IST a second job installs the latest releases of every core and library and compiles everything again, ignoring the pins. If a sketch still builds on its pinned versions but breaks on the newest release, its pages turn amber — “Needs update — breaks on esp32 X, last good 3.3.12” — and an issue is opened automatically so we fix it. The badge stays amber until the fix ships.

We test this rule itself: an automated check deliberately breaks a sketch, rebuilds the site and confirms its English and Hindi pages turn amber while unrelated pages stay green.

4. Test levels, labelled honestly

Compiling proves the code builds. It doesn't prove the circuit works. So every badge also states how far a sketch has really been tested:

  • Compile-only

    The code compiled on the exact versions shown. This is where every page starts — and today, where every page is.

  • Simulator-tested

    Someone ran it in our Playground emulator and checked the behaviour. Set by hand, with a date, only after it actually happened.

  • Hardware-tested

    Someone flashed it to the named board on a bench and confirmed it works. Set by hand, with the board and date.

5. Firmware you can check

Ready-to-flash firmware is built from the same sketches with the same versions. Each build publishes the SHA-256 of every file. Your browser checks those hashes before it writes anything, flashes each part at the offset the build reports (so saved settings and Wi-Fi credentials in your board's NVS area are left alone), and then asks the board to confirm every part with an MD5 check.

6. A person reviews every page

Drafts may be written with AI assistance. The code still has to compile, and a person still has to review the wiring, safety notes and text before the page is considered published. Until then the page shows a “Draft” note.

What verification does not cover

  • MicroPython compiles check syntax, not whether a module exists on your board's firmware.
  • A compile can't catch a wrong wire, a counterfeit sensor or a weak power supply. That's what the wiring diagrams, voltage notes and error-fix pages are for.
  • Mains-voltage work is never “verified” by us. Have a licensed electrician do the 230 V side.

↑↓ to move · Enter to open