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.
| Target | Pinned 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 |
| MicroPython | mpy-cross 1.29.0 |
| Build tool | arduino-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.