What happens here,
written down plainly.

What we store and what we do not, where the simulation stops being exact, how AI was used to make Tinker Lab, and whose work it is built on.

We store very little,
and only in your browser.

WhatWhyWhereHow long
Lesson progresstinkerlab:done tinkerlab:lastTo tick off finished lessons and reopen the one you were on.Your browser's local storage, on this deviceUntil you clear it
Quiz answerstinkerlab:quizTo show which questions you have answered.Your browser's local storageUntil you clear it
Settingstinkerlab:settingsTo remember your preferences in the lesson app.Your browser's local storageUntil you clear it
Code drafts and buildsother tinkerlab: keysSo your edits to lesson code and your Studio builds are still there next time.Your browser's local storageUntil you clear it
Server logskept by our hosting providerStandard request logs (IP address, browser user agent, page requested, time) for security and to keep the site running.The hosting provider's serversA limited period set by the provider

What we do not do.
If this ever changes, this page changes first.

QuestionTinker LabDetails
Do you need an account?Open any lesson and start.
Do we collect analytics?No page counters, no usage tracking, no session recording.
Do we show ads?None, and no ad networks are loaded.
Tracking pixels or third-party cookies?We set no cookies at all. See the cookie policy.
Do fonts or icons load from other companies?Fonts and icons are served from this site.
Is your progress sent to us?It never leaves your browser.
Is anything you type sent to an AI service?There is no chatbot. Your code runs in your browser.
Is your progress saved?In your browser's local storage, on this device only.
Does our host keep server logs?Standard logs, for security, for a limited time.

The simulation is a teaching model.
Real hardware is messier, and that is fine.

  • Arduino code is interpreted

    The Arduino runtime interprets Arduino C++ in your browser. It is not the official compiler, and it does not run every program exactly as a real board would.

  • Python lessons are modelled

    MicroPython and Python lessons show the real program; the 3D bench follows it step by step as a model of what the board would do.

  • Timing is approximate

    Delays and speeds are close, not exact. Microsecond timing, interrupts under load and PWM frequencies are simplified.

  • Electricity is illustrated

    Current flow, voltages and brightness are drawn to explain, not solved like a circuit simulator. Electrical noise, loose contacts and part tolerances are mostly left out.

  • Sensors behave nicely

    Real sensors drift, need time to warm up, and get confused by sunlight, echoes or a cold draught. Expect noisier readings on your desk.

  • Boards are stylised

    The models are drawn from scratch for teaching. They follow the real layouts closely enough to learn from, but always check your own board's pinout before you connect power.

Made with AI assistance.
Reviewed by people.

Much of Tinker Lab was created with the help of AI tools: lesson text, quiz questions, example programs, the 3D models and the code of this website. People reviewed that work and corrected what was wrong.

Reviewing catches a lot, but not everything. If you find a mistake, a wrong value or code that would not work on a real board, please write to and we will fix it.

AI does not run behind the scenes while you use the site. Nothing you type or build is sent to an AI service.

Built on open source.
Thank you to the people who made it.

ProjectWhat it does hereLicence
three.jsDraws the 3D bench, boards and parts.MIT
CodeMirrorThe code editor in lessons and the Studio.MIT
Rough.jsHand-drawn style diagrams.MIT
HairlineIsometric line drawings that respond to the pointer.MIT
LucideThe icons.ISC
NewsreaderThe typeface you are reading.SIL Open Font License 1.1
IBM Plex MonoThe typeface for code.SIL Open Font License 1.1

Fonts are bundled through Fontsource and served from this site. Each project keeps its own copyright; the licences allow the use made of them here.

Trademarks.

Arduino, ESP32, ESP8266, NodeMCU, Raspberry Pi, Pico, NVIDIA, Jetson and other product names mentioned on this site are trademarks of their respective owners. We use the names only to say which hardware a lesson is about.

Tinker Lab is independent. It is not affiliated with, endorsed by or sponsored by any of these companies. The board models are stylised illustrations, not official product images.